arm adc程式設計
模擬訊號:時間上連續,數值上也連續,數碼訊號:時間和數值上是離散的,而離散訊號只有0或1
。 s3c2440內部有8路
a/d轉換通道
ain0~ain7
,但是轉換器只有乙個,從
8路中選出一路進行轉換,轉換精度10位
(0~1024-1)
,轉換頻率
500ksps(
每秒取樣
500次),在
mini2440
,ain4,5,6,7
,用作了觸控螢幕通道ym,
yp,xm,
xp,ain0
連線可變電阻
ain0為模擬訊號輸入通道,電壓作為模擬訊號輸入,
adc程式流程:
初始化---->
啟動(cpu
告訴ad
硬體做某項工作
)---->
轉換結束
(查詢,中斷
)----->
讀取轉換值
初始化:選擇轉換通道----->
設定轉換頻率
sel_mux
選擇轉換通道,
prscen為1
表示使用分頻器做頻率設定,
prscvl
為具體分頻器的值,
ec***
轉換結束。
資料在0--9位
使用可調電阻作為輸入adc轉換程式:
#define adc_freq 2500000
//#define adc_freq 1250000
volatile u32 prescaler;
void adc_init(void);
int readadc(int channel);
static void cal_cpu_bus_clk(void);
void set_clk(void);
void beep_init(void);
void beep_run(void);
void delay(int times)
static void cal_cpu_bus_clk(void)
if(p)
pclk = hclk>>1;
else
pclk = hclk;
if(s&0x10)
cpu_freq = hclk;
else
cpu_freq = fclk;
val = rupllcon;
m = (val>>12)&0xff;
p = (val>>4)&0x3f;
s = val&3;
upll = ((m+8)*fin)/((p+2)*(1<>1):upll;
}void beep_init(void)
void beep_run(void)
程式設計,還是程式設計
喜歡程式設計,雖然水平一般,但還是執著地學習與程式設計有關的知識。中間因為工作關係與程式設計遠離了一段時間,現在又重拾起來,細想起來還是因為喜歡吧。喜歡程式軟體的思想和原理,喜歡程式 的魅力和成就感。程式設計軟體的思想是最值得學習的,一直認為思想決定行動,思想改變世界。每種軟體的流行和受人追捧,無不...
少兒程式設計程式設計
機械人比賽,聽上去讓人有一種高大上的科技感,沒錯,在大多數人眼裡,玩機械人那是科學家做的事情,不過隨著機械人教育的普及,越來越多的孩子也能夠駕馭這高大上的機械人。格物斯坦小坦克告訴你原因,這是歸結於孩子對於程式設計課程的學習,學會對機械人進行程式設計了,自然就能玩轉機械人啦。參加機械人比賽的意義遠遠...
LINUX程式設計 socket程式設計
什麼是套接字 套接字是一種通訊過程,它使客戶 伺服器系統的開發工作既可以在本地單機上進行,也可以跨網路進行。套接字建立過程 1,建立乙個套接字,這是分配給該伺服器程序的乙個作業系統資源,套接字由伺服器通過系統呼叫socket建立出來的,所以其它程序將不能對它進行訪問。2,給套接字起個名字,用系統呼叫...