freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

利用51單片機linux系統(tǒng)在arm板上顯示的溫度測量儀表-資料下載頁

2025-06-30 19:06本頁面
  

【正文】 11_define _DS18b20_2007_8_11_/*******************************ds18b20***********************************/sbit DQ =P3^7。 //定義通信端口define uint unsigned int define uchar unsigned char /*************延時函數(shù)*************/void delay(unsigned int i){ while(i)。}/*************初始化函數(shù)*************/Init_DS18B20(void){ uchar x=0。 DQ = 1。 //DQ復位 delay(8)。 //稍做延時 DQ = 0。 //單片機將DQ拉低 delay(80)。 //精確延時 大于 480us DQ = 1。 //拉高總線 delay(14)。 x=DQ。 //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗 delay(20)。}/*************讀一個字節(jié)*************/ReadOneChar(void){ uchar i=0。 uchar dat = 0。 for (i=8。i0。i) { DQ = 0。 // 給脈沖信號 dat=1。 DQ = 1。 // 給脈沖信號 if(DQ) dat|=0x80。 delay(4)。 } return(dat)。}/************寫一個字節(jié)**************/WriteOneChar(unsigned char dat){ uchar i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 delay(5)。 DQ = 1。 dat=1。 }//delay(4)。}/***************讀取溫度*************/uint ReadTemperature(void){ uchar a=0。 uchar b=0。 uint t=0。 Init_DS18B20()。 WriteOneChar(0xCC)。 // 跳過讀序號列號的操作 WriteOneChar(0x44)。 // 啟動溫度轉(zhuǎn)換 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度 a=ReadOneChar()。 b=ReadOneChar()。 t=b。 t=8。 t=t|a。 t=t*。 //有效位到小數(shù)點后1位 return(t)。}/******************************ds18b20結(jié)束*********************************/ endifLinux代碼:include sys/include sys/include include //串口操作需要調(diào)用的功能include include include include define BAUDRATE B9600//define RS_DEVICE /dev/ttyS0 //串口0define RS_DEVICE /dev/ttySAC3 //串口0void f1(){ int fd。 struct termios oldtio,newtio。//放串口參數(shù) fd=open(RS_DEVICE,O_RDWR|O_NOCTTY)。 tcgetattr(fd,amp。oldtio)。 //把串口原來的配置保存到oldtio中,以備后面恢復 bzero(amp。newtio,sizeof(newtio))。 //把newtio全部清0 =BAUDRATE|CS8|CLOCAL|CREAD。 //9600銆?浣嶃€佸拷鐣CD淇″彿銆佸惎鐢ㄦ帴鏀惰緗? |=IGNPAR。 //蹇界暐濂囧伓 =0。 =0。 [VMIN]=0。 [VTIME]=100。 tcflush(fd,TCIFLUSH)。 // tcsetattr(fd,TCSANOW,amp。newtio)。 //把newtio中的參數(shù)設置給串口 printf(\nready to write/read COM)。 char buf2[16]。 int i。 bzero(buf2,16)。 read(fd,buf2,8)。//從串口讀取8個字節(jié)的數(shù)據(jù),保存到buf2 printf(\n)。 for(i=0。i8。i++) printf(%d %d,buf2[i])。 tcsetattr(fd,TCSANOW,amp。oldtio)。//恢復串口原來的配置 close(fd)。//關閉串口 printf(Close OK...\n)。}int main(int argc, char *argv[]){ while(1) { f1()。 // getchar()。 sleep(1)。 } return 0。} 教師評語27
點擊復制文檔內(nèi)容
物理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1