新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM處理器設(shè)計(jì)的電機(jī)電物理量采集系統(tǒng)

ARM處理器設(shè)計(jì)的電機(jī)電物理量采集系統(tǒng)

作者: 時間:2010-12-13 來源:網(wǎng)絡(luò) 收藏

1)AD數(shù)據(jù).A/D轉(zhuǎn)換的數(shù)據(jù)可以通過中斷或查詢的方式來訪問,如果是用中斷方式,全部的轉(zhuǎn)換時間(從A/D轉(zhuǎn)換的開始到數(shù)據(jù)讀出)要更長,因?yàn)橹袛喾?wù)程序返回和數(shù)據(jù)的訪問的原因,所以采用查詢方式不斷檢測ADCCONt3j(轉(zhuǎn)換結(jié)束標(biāo)志位)來確定從ADCDAT寄存器讀取的數(shù)據(jù)是否是最新的轉(zhuǎn)換數(shù)據(jù).

主要代碼有:

#define PRSCVL(206)

#define ADCCON

_

ENABLE_ START(Ox1)

#define STDBM (0x02)

#define PRSCEN(0xll41

void init

_ ADdevice0 //AD設(shè)備初始化

{

rADCCON=(PRSCVLlADCCON_ENABLE_STARTISTDBMIPRSCEN);

)

int GetADresuh(int channe1)

{

rADCCON=ADCCON

— ENABLE— START—BYREADI(channel3)IPRSCENIPRSCVL;

while(!frADCCONADCCON—FLAG)); //AD轉(zhuǎn)換結(jié)束

return f0x3ffrADCDATO); //返回采樣值

}

2)數(shù)據(jù)發(fā)送.異步串行方式是將傳輸數(shù)據(jù)的每個字符一位接一位(例如先低位、后高位)地傳送.?dāng)?shù)據(jù)的各不同位可以分時使用同一傳輸通道,因此串行I/O 可以減少信號連線,最少用一對線即可進(jìn)行.接收方對于同一根線上一連串的數(shù)字信號,首先要分割成位,再按位組成字符.為了恢復(fù)發(fā)送的信息,雙方必須協(xié)調(diào)工作.在微型計(jì)算機(jī)中大量使用異步串行I/O 方式,雙方使用各自的時鐘信號,而且允許時鐘頻率有一定誤差。因此實(shí)現(xiàn)較容易.主要代碼有:

int Uart_

Init(int whichUart,int baud)

{

if(whichUaxt>=NumberOfUartDrv)

return FALSE;

return serial_

drv[whichUart]->init(baud);

}

int Uart_ SendByte(int whichUart,int data)

{

if(whichUart>=NumberOfUartDrv)

return FALS E;

return serial— .drv[whichUart]->write(data);



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉