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

正文內(nèi)容

基于嵌入式linux和zigbee技術(shù)的智能家居系統(tǒng)設(shè)計報告-資料下載頁

2025-07-14 19:34本頁面
  

【正文】 ****///串口中斷,串口接收一個字符pragma vector = URX0_VECTOR __interrupt void UART0_ISR(void) { //清中斷標(biāo)志 URX1IF = 0。 temp = U0DBUF。 Recdata[0]=temp。 }/*************************************************///向串口發(fā)送數(shù)據(jù)void UartTX_Send_String(unsigned char *Data,int len){ int j。 for(j=0。jlen。j++) { U0DBUF = *Data++。 while(UTX0IF == 0)。 UTX0IF = 0。 }}void rf_init(){ //硬件CRC以及AUTO_ACK使能 FRMCTRL0 |= (0x20 | 0x40)。 /* AUTO_ACK | AUTO_CRC */ //設(shè)置TX抗混疊過濾器以獲得合適的帶寬 TXFILTCFG = 0x09。 //調(diào)整AGC目標(biāo)值 AGCCTRL1 = 0x15。 //獲得最佳的EVM FSCAL1 = 0x00。 // RXPKTDONE 中斷位使能 RFIRQM0 |= (16)。 // RF 中斷使能 IEN2 |= (10)。 //開中斷 EA = 1。 //信道選擇,選擇11信道 FREQCTRL = 0x0d。 //目標(biāo)地址過濾期間使用的短地址 SHORT_ADDR0 = 0x05。 SHORT_ADDR1 = 0x00。 //目標(biāo)地址過濾期間使用的PANID PAN_ID0 = 0x22。 PAN_ID1 = 0x00。 //清除RXFIFO緩沖區(qū)并復(fù)位解調(diào)器 RFST = 0xed。 //為RX使能并校準(zhǔn)頻率合成器 RFST = 0xe3。 //禁止幀過濾 FRMFILT0 amp。= ~(10)。}pragma vector=RF_VECTOR__interrupt void rf_isr(void) { unsigned char i。 //關(guān)中斷 EA = 0。 //接收幀結(jié)束 if (RFIRQF0 amp。 (16)) { //接收幀長度 len = RFD。 len amp。= 0x7f。 //將接收的數(shù)據(jù)寫入buf中 for (i = 0。 i len。 i++) { buf[i] = RFD。 Delay(200)。 } // 清RF中斷 S1CON = 0。 //清 RXPKTDONE中斷 RFIRQF0 amp。= ~(16)。 //LED2等狀態(tài)改變 LED2 = ~LED2。 // UartTX_Send_String(buf,len3)。 //Uart0SendString(buf)。 } //Delay(200)。 EA = 1。 if((buf[0]+buf[1]+buf[2]==buf[3]) amp。amp。 (buf[1]==mac[1] amp。amp。 buf[2]==mac[2])) //如果校驗正確且密鑰對 { if(zc==1) //主從,若自己為主叫 if( buf[0]==0)ok=1。 if(zc==0) //從機 { for(i=1。i=benji[0]。i++) if(buf[0]==benji[i]) //如果是屬于本機的指令 { zhiling=buf[0]。 //指令置為相應(yīng)的指令,并發(fā)送ok應(yīng)答 0代表OK // if(zhiling==0x0e)LED3=0。 mac[0]=0。 mac[3]=mac[0]+mac[1]+mac[2]。 // if(buf[0]!=98 amp。amp。 buf[0]!=99) tx()。 //本機模塊各指令都不需要應(yīng)答 } } } }void tx(){ unsigned char i。 // unsigned char mac[]=dh。 //unsigned char mac[] = DH。 //為RX使能并校準(zhǔn)頻率合成器 RFST = 0xe3。 //wait for SFD not active and TX_Active not active // TX_ACTIVE | SFD while (FSMSTAT1 amp。 ((11) | (15)))。 //禁止RXPKTDONE中斷 RFIRQM0 amp。= ~(16)。 //禁止RF中斷 IEN2 amp。= ~(10)。 // ISFLUSHTX RFST = 0xee。 // 清除 TXDONE 中斷 RFIRQF1 = ~(11)。 // 傳輸?shù)膸L度 RFD = 7。 //將mac的內(nèi)容寫到RFD中 for(i=0。i5。i++) { RFD = mac[i]。 } // 打開RX中斷 RFIRQM0 |= (16)。 //打開RF中斷 IEN2 |= (10)。 //ISTXON RFST = 0xe9。 //等待傳輸結(jié)束 while (!(RFIRQF1 amp。 (11)))。 //清除 TXDONE狀態(tài) RFIRQF1 = ~(11)。 //LED1燈狀態(tài)改變 LED1=~LED1。 //延時 Delay(200)。 }void main(){ char work=1。 /* P0DIR=0xff。 P0_3=1。P0_4=1。P0_5=1。 P1DIR=0XFF。 P1_6=1。P1_7=1。 */ led_init()。 //initUARTtest()。 chu_init()。 io_init()。 // // io_P1_init()。 // temp=0。 datanumber = 0。 Delay(100)。 P1_3=1。 js=0。 num=2750。//1400。 count=num+1。 inout=0。 yx=0。 ru=0。 chu=0。 churu=0。 zhiling=0。 zidong=0。 menjb=0。 baojb=0。 ok=0。 while(1) { if(zhiling==98)work=0。 if(zhiling==99)work=1。 // if(P1_6==1)LED2=0。else LED2=1。 if(work) { if(P1_6==0)zhiling=0x0e。 //報警檢測開啟 遙控器接的2接頭 (遙控器 ) if(P1_7==0)zhiling=0x0f。 //報警檢測關(guān)閉 if(zhiling==1 || zhiling==0x0e) //代碼1為手機發(fā)送來的,代碼0e為遙控器直接按鍵的 { menjb=1。 ok=0。 zhiling=0。 //若門禁開啟門禁代碼為0x01,照明代碼為0x0e,則為報警檢測 P1_3=1。 //先關(guān)閉燈泡 ru=0。chu=0。churu=0。yx=0。 js=0。 } if(zhiling==2 ||zhiling==4 || zhiling==0x0f || zhiling==0x13) //門禁關(guān)閉,則報警檢測清除 { menjb=0。 baojb=0。 ok=0。 zhiling=0。 js=0。 count=num+1。 inout=0。 yx=0。ru=0,chu=0,churu=0。 } if(baojb==1 amp。amp。 ok==0) { zc=1。 //ok=0。 mac[0]=3。 //3為盜警標(biāo)志 mac[3]=mac[0]+mac[1]+mac[2]。 fasong()。 zc=0。 ok=1。 //此處不管對方應(yīng)答與否,設(shè)置Ok=1是為了只發(fā)送報警一遍,以后不再發(fā)送。 } if(P0_4==0 amp。amp。 P0_5==0 amp。amp。 churu==0)churu=2。 //2為出室,1為入室 if(P0_4==0 amp。amp。 P0_3==0 amp。amp。 churu==0)churu=1。 // if(churu==1)LED1=0。else LED1=1。 // if(churu==2)LED4=0。else LED4=1。 getGuangM()。 } } } //發(fā)送函數(shù)void chu_init(void){ // initUARTtest()。 //P1為普通 I/O 口 P1SEL amp。= ~(10)。 // P1DIR |= 0x03。 //關(guān)閉LED1 LED1=1。 //關(guān)閉LED2 LED2=1。 //關(guān)閉總中斷 EA = 0。 //設(shè)置時鐘頻率為32M SLEEPCMD amp。= ~0x04。 //等待時鐘穩(wěn)定 while(!(SLEEPSTA amp。 0x40))。 CLKCONCMD amp。= ~0x47。 SLEEPCMD |= 0x04。 //初始化RF rf_init()。 //中斷使能 EA = 1。 }void fasong(void) //發(fā)送{ int jcount=0。 ok=0。 jcount=0。 tx()。 while(1) { Delay(200)。Delay(1000)。if(ok==1){err=0
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1