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

正文內(nèi)容

基于linux下fpga的設(shè)計與實現(xiàn)-資料下載頁

2024-11-10 15:59本頁面

【導(dǎo)讀】主要是通過LED矩陣顯示東西方向及南北方向?qū)?,蜂鳴器的間斷發(fā)聲。作為通行提示音,數(shù)碼管的倒計時標(biāo)志著通行時間。通過該系統(tǒng)實現(xiàn)車輛的直線。通行和轉(zhuǎn)彎、方向變換的提醒、車輛注意時間是否足夠通行。通過傳感器檢測車

  

【正文】 int serial_init(void) { char *Dev = /dev/s3c2410_serial1。 int i。 serial_fd = OpenDev(Dev)。//打開串口 if(serial_fd 0) set_speed(serial_fd,115200)。//設(shè)置波特率 else { printf(Can39。t Open Serial Port!\n)。 exit(0)。 } if(set_Parity(serial_fd,8,1,39。N39。) == FALSE) { printf(Set parity Error\n)。 exit(1)。 } return 0。 } //電壓轉(zhuǎn)換成十進(jìn)制 float ScanADdata(char byte9) { float ADdata。 if(byte9 0xf0) ADdata = 0。 else if(byte9 0x80) ADdata = 。 else ADdata = ()*byte9。 return ADdata。 } //壓力轉(zhuǎn)換成十進(jìn)制 int PressData(char byte) { int temp = 0。 if(byte 36) temp = (byte34)*200/18。 else temp = 0。 return temp。 } //雨滴監(jiān)控函數(shù) int RainData(char byte) { if(byte 11) return 1。 else return 0。 } //水流量轉(zhuǎn)換成十進(jìn)制 float WaterData(char byte13) { float WaterData。 if(byte13 0) WaterData = (byte13+3)/。 else WaterData = 0。 return WaterData。 } //超聲波數(shù)據(jù)轉(zhuǎn)化十進(jìn)制 float ultrasonicData(char byte11) { float ultrasonicData。 ultrasonicData = *byte11。 return ultrasonicData。 } void * fbl_malloc(int len, char * str) { void * ptr = malloc(len)。 if(ptr == 0) printf(%s FaiLED (len = %d)!!!\n, str, len)。 return ptr。 } char XorVerify(char BytesCMD[])//異或校驗 { char checksum = BytesCMD[1]。 int i。 for (i = 1。 i BytesCMD[1]+1。 i++) { checksum ^= BytesCMD[i+1]。 } return checksum。 } //掃描獲取傳感器數(shù)據(jù) void scan() { int source_addr,father_addr。 char byte4,byte5,byte6,byte7,byte8,byte9,byte10,byte11,byte12,byte13,byte14,byte15,byte16,byte17,byte18,byte19。 char test,byteCheck。 char PacketBuff[50]。 int PacketLen。 struct wsn_m_pkg *pkt = 0。 if(sRecDataLen 0) { //printf(sRecDataLen : %d\n,sRecDataLen)。 int sFirstPosition = 0。 while(sFirstPosition sRecDataLen) { //printf(sFirstPosition: %d\n,sFirstPosition)。 if(Recbuff[sFirstPosition] == 0x2) { PacketLen = Recbuff[sFirstPosition + 1]+3。 //printf(PacketLen : %d\n,PacketLen)。 if(PacketLen = sRecDataLen sFirstPosition) { printf(PacketBuff=)。 int i。 for(i = 0。 i PacketLen。 i++){ PacketBuff[i] = Recbuff[sFirstPosition + i]。 printf(%02x ,PacketBuff[i])。 } printf(\n)。 if(PacketBuff[7]==0x1){ byte10 = PacketBuff[10]。 byte11 = PacketBuff[11]。 byte12 = PacketBuff[12]。 byte13 = PacketBuff[13]。 if((byte10 amp。 0xf)==0x0)//溫濕度傳感器是否有數(shù)據(jù)傳輸 { printf( 溫 濕 度 溫 度 : %d ℃ \n 溫 濕 度 濕度 : %d %\n,byte11,byte12)。 } if((byte10 amp。 0xf)==0x1)//人體傳感器是否有數(shù)據(jù)傳輸 { if(byte11 == 0x00) { printf( 人體感應(yīng) :無人體感應(yīng) \n)。 } if(byte11 == 0x01) { printf( 人體感應(yīng) :有人體感應(yīng) \n)。 } } if((byte10 amp。 0xf)==0x2)//光照度傳感器是否有數(shù)據(jù)傳輸 { printf(光照度 : %d %,byte11)。 } if((byte10 amp。 0xf)==0x3)//震動傳感 器是否有數(shù)據(jù)傳輸 { if(byte11 == 0x00) { printf( 震動傳感器 : 無震動 \n)。 } if(byte11 == 0x01) { printf( 震動傳感器 :有震動 \n)。 } } if((byte10 amp。 0xf)==0x6) { printf(超聲波 : %.4f 米 \n ,ultrasonicData(byte11))。 } if((byte10 amp。 0xf)==0x7) { printf(X軸加速度 : %d\n Y軸加速度 : %d\n Z軸加速度 : %d\n ,byte11,byte12,byte13)。 } if((byte10 amp。 0xf)==9) { if(RainData(byte11) == 0) { printf( 雨滴 :無雨滴 \n)。 } if(RainData(byte11) == 1) { printf( 雨滴 :有雨滴 \n)。 } } if((byte10 amp。 0xf)==0xa) { if(byte11 == 0) { printf( 霍爾感應(yīng) :無磁場 \n)。 } if(byte11 == 1) { printf( 霍爾感應(yīng) :有磁場 \n)。 } } printf(\n)。 } for(i = 0。 i sRecDataLen sFirstPosition PacketLen。 i++) { Recbuff[i] = Recbuff[sFirstPosition + PacketLen+i]。 } sRecDataLen = PacketLen + sFirstPosition。 } return。 } else { sFirstPosition++。 } } sRecDataLen = 0。 } } //串口讀寫數(shù)據(jù) void serial_rw() { int i。 char buff[1024]。 while(1) { pthread_mutex_lock(amp。mutex)。 if((nread = read(serial_fd,buff,1024))0) { buff[nread] = 39。\039。 //printf(\nrecv:%d\n,nread)。 //printf(nread=)。 for(i=0。inread。i++) { //printf(0x%02x ,buff[i])。 Recbuff[sRecDataLen + i] = buff[i]。 } //printf(\n)。 //printf(Recbuffread_last=)。 for(i=0。isRecDataLen。i++) { //printf(%02x,Recbuff[i])。 } //printf(\n)。 //printf(Recbuffread_new=)。 for(i=0。inread。i++) { //printf(%02x,Recbuff[sRecDataLen + i])。 } //printf(\n)。 sRecDataLen = sRecDataLen + nread。 scan()。 } pthread_mutex_unlock(amp。mutex)。 } //close(serial_fd)。 } //發(fā)送異或校驗碼 unsigned char XorVerifySend(unsigned char BytesCMD[]) { unsigned char checksum = B D[1]。 int i。ytesCM for (i = 1。 i BytesCMD[1]+1。 i++) { checksum ^= BytesCMD[i+1]。 } return checksum。 } //寫入數(shù)據(jù)函數(shù) void writer_function(void) { int nwrite。 int i = 0。 int j=0。 while(1) { pthread_mutex_lock(amp。mutex)。 if(buffer_has_item == 2) { if(buffer_has_send == 0) { if(LED) { if(i==0) { printf( 南北方向通行,東西方向禁止通行 \n)。 printf(\n)。 //控制 LED 矩陣 unsigned char SBuff[21]。 SBuff[0] = 0x02。 SBuff[1] = 0x12。 SBuff[2] = 0xB9。 SBuff[3] = 0x46。 SBuff[4] = 0xF1。 SBuff[5] = save_byte4。 SBuff[6] = s
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1