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

正文內(nèi)容

基于arm的嵌入式智能家居遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2024-07-25 00:20 本頁面
 

【文章內(nèi)容簡介】 報(bào)警短信 TIM_Cmd(TIM2, ENABLE)。//開啟TIM2時鐘,10s讀取一次溫濕度值 while(1) { if((Table_Data[2]26)){ Send_Mesg_Sign=0。 GPIO_ResetBits(GPIOB,GPIO_Pin_5)。} if(((Table_Data[2]26)||(Table_Data[0]65)))//溫濕度超過設(shè)定值則發(fā)送報(bào)警短信{ GPIO_SetBits(GPIOB,GPIO_Pin_5)。if(Send_Mesg_Sign==0) Send_Mesg()。//發(fā)送報(bào)警短信 } }}/************************************************************************ 函數(shù)名稱:TIM2_IRQHandler(void) 功能: TIM2的中斷處理*************************************************************************/void TIM2_IRQHandler(void){ TIM_ClearITPendingBit(TIM2, TIM_FLAG_Update)。 //清中斷 GPIO_SetBits(GPIOB,GPIO_Pin_7)。 Start_DHT11()。 DHT11_Get_Data()。 Display_WSD()。//從DHT11取數(shù)據(jù)} 主函數(shù)及TIM2中斷服務(wù)函數(shù)程序流程圖圖41 主函數(shù)與TIM2中斷服務(wù)函數(shù)流程圖 GPRS來信中斷處理函數(shù)設(shè)計(jì)當(dāng)GPRS收到短信時從Ring端口會發(fā)出一個振鈴信號,將Ring口與STM32的GPIOA_Pin_2口連接起來作為外部中斷。即當(dāng)GPRS接收到短信時通過Ring端口產(chǎn)生一個外部中斷,在外部中斷服務(wù)函數(shù)里首先要清除中斷標(biāo)志位,防止重復(fù)進(jìn)入中斷。由于本設(shè)計(jì)中用到短信控制命令均為Text模式,所以在中斷處理里先發(fā)送AT指令“AT+CMGF=1”設(shè)置短信為Text模式,再發(fā)送AT指令“AT+CMGR=1”讀取SIM里的第一條短信即為剛收到的未讀短信,然后嵌套進(jìn)入U(xiǎn)SART串口接收中斷,將讀取出來的短信內(nèi)容存到接收緩存Rx_Buf [ ]數(shù)組中,再對緩存中的內(nèi)容進(jìn)行判斷,判斷接收到的短信內(nèi)容是否為“Light On”、“Light Off”、“DJ Left”、“DJ Right”或“WSD”,再進(jìn)行響應(yīng)的開關(guān)燈、步進(jìn)電機(jī)的控制或回復(fù)溫濕度數(shù)據(jù)短信的處理。具體過程如流程圖所示。 GPRS來信中斷處理函數(shù)程序代碼/************************************************************************ 函數(shù)名稱:EXTI2_IRQHandler(void) 功能: EXTI2的中斷處理*************************************************************************/void EXTI2_IRQHandler(void){ EXTI_ClearITPendingBit(EXTI_Line2)。//清空中斷標(biāo)志位,防止持續(xù)進(jìn)入中斷 USART_ClearFlag(USART1, USART_FLAG_TC)。 USART_Send_String(AT_CMGF_Text)。 USART_Send_String(\r\n)。 Delay_Nms(4000)。 Clear_Buf()。 USART_ITConfig(USART1, USART_IT_RXNE, ENABLE)。//接收使能 Rx_Count=0。 USART_Send_String(AT_CMGR_1)。 USART_Send_String(\r\n)。 Delay_Nms(4000)。 USART_ITConfig(USART1, USART_IT_RXNE, DISABLE)。//接收失能if(((Rx_Buf[15]==39。O39。)||(Rx_Buf[16]==39。O39。)||(Rx_Buf[14]==39。O39。)||(Rx_Buf[12]==39。O39。)||(Rx_Buf[13]==39。O39。))) { GPIO_SetBits(GPIOB,GPIO_Pin_9)。 t=5。 } else t=0。if(((Rx_Buf[105+t]==39。\r39。)amp。amp。(Rx_Buf[107+t]==39。039。)amp。amp。(Rx_Buf[109+t]==39。439。)amp。amp。(Rx_Buf[110+t]==39。C39。)amp。amp。(Rx_Buf[118+t]==39。739。)amp。amp。(Rx_Buf[138+t]==39。E39。))) GPIO_SetBits(GPIOB,GPIO_Pin_1)。//Light Onif(((Rx_Buf[105+t]==39。\r39。)amp。amp。(Rx_Buf[107+t]==39。039。)amp。amp。(Rx_Buf[109+t]==39。439。)amp。amp。(Rx_Buf[110+t]==39。C39。)amp。amp。(Rx_Buf[113+t]==39。639。)amp。amp。(Rx_Buf[118+t]==39。739。)amp。amp。(Rx_Buf[138+t]==39。639。)amp。amp。(Rx_Buf[141+t]==39。639。))) GPIO_ResetBits(GPIOB,GPIO_Pin_1)。//Light Offif(((Rx_Buf[105+t]==39。\r39。)amp。amp。(Rx_Buf[107+t]==39。039。)amp。amp。(Rx_Buf[109+t]==39。439。)amp。amp。(Rx_Buf[110+t]==39。B39。)amp。amp。(Rx_Buf[113+t]==39。539。)amp。amp。(Rx_Buf[118+t]==39。039。)amp。amp。(Rx_Buf[122+t]==39。F39。)amp。amp。(Rx_Buf[126+t]==39。E39。))) BJDJ_28BYJ48_L()。 //DJ Leftif(((Rx_Buf[105+t]==39。\r39。)amp。amp。(Rx_Buf[107+t]==39。039。)amp。amp。(Rx_Buf[109+t]==39。439。)amp。amp。(Rx_Buf[110+t]==39。B39。)amp。amp。(Rx_Buf[113+t]==39。539。)amp。amp。(Rx_Buf[118+t]==39。039。)amp。amp。(Rx_Buf[122+t]==39。F39。)amp。amp。(Rx_Buf[126+t]==39。639。))) BJDJ_28BYJ48_R()。 //DJ Rightif(((Rx_Buf[104+t]==39。\r39。)amp。amp。(Rx_Buf[106+t]==39。039。)amp。amp。(Rx_Buf[108+t]==39。539。)amp。amp。(Rx_Buf[109+t]==39。739。)amp。amp。(Rx_Buf[112+t]==39。539。)amp。amp。(Rx_Buf[113+t]==39。339。)amp。amp。(Rx_Buf[116+t]==39。439。)amp。amp。(Rx_Buf[117+t]==39。439。))) Send_WSD_Mesg()。 //WSD Delay_Nms(1000)。 Del_Mesg()。}/************************************************************************ 函數(shù)名稱:USART1_IRQHandler(void) 功能: USART1的中斷處理*************************************************************************/void USART1_IRQHandler(void){ if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET) { USART_ClearITPendingBit(USART1,USART_IT_RXNE)。 USART_ClearFlag(USART1,USART_IT_RXNE)。 Rx_Buf[Rx_Count++]=(USART_ReceiveData(USART1)amp。0x7f)。 if(Rx_Count149) Rx_Count=0。 } } GPRS來信中斷處理流程圖圖42 GPRS來信中斷流程圖 GPRS的AT指令 本設(shè)計(jì)中用到的AT指令A(yù)T+CMGF=1 設(shè)置GPRS的短信格式為textAT+CMGF=0 設(shè)置GPRS的短信格式為PDUAT+CMGD=1,4 刪除SIM卡內(nèi)的所有短信AT+CMGR=1 讀取SIM卡內(nèi)的第一條短信AT+CMGS=“15232330101” 設(shè)置短信發(fā)送的目標(biāo)收號碼AT+CMGS=43 設(shè)置發(fā)送中文短信的字符數(shù) PDU編碼發(fā)送短消息常用Text和PDU(Protocol Data Unit,協(xié)議數(shù)據(jù)單元)模式。使用Text模式收發(fā)短信代碼簡單,實(shí)現(xiàn)起來十分容易,但最大的缺點(diǎn)是不能收發(fā)中文短信;而PDU模式不僅支持中文短信,也能發(fā)送英文短信。本設(shè)計(jì)中用到的報(bào)警短信發(fā)送的是中文短信,需要對要發(fā)送的報(bào)警信息內(nèi)容進(jìn)行PDU編碼。以本設(shè)計(jì)中發(fā)送的報(bào)警短信為例說明PDU編碼過程:接收號碼:+8615232330101短信內(nèi)容:危險(xiǎn)?。∧慵椰F(xiàn)在可能著火了!短信中心號碼:+8613800311500一、對短信中心號碼的處理:用字符串dxzx 表示將短信息 中 心號碼去掉最前面的+號,看其個數(shù)是否為偶數(shù),如果不是,最后添加F,即dxzx=+8613800311500=dxzx=8613800311500F將號碼的偶數(shù)位奇數(shù)位交換=dxzx=683108301105F0將號碼前面加 上字符91,91即是國際化的意思=dxzx=91683108301105F0算出dxzx的數(shù)字個數(shù),結(jié)果除以2,再格式化成2位的16進(jìn)制, 16/2=8=08=dxzx=0891683108301105F0二、用戶手機(jī)號碼的處理:用PhoneNum表示將手機(jī)號碼去掉+號,看其字符個數(shù)是否為偶數(shù),如果不是,最后添加F,即PhoneNum=+8615232330101=PhoneNum=8615232330101F將手機(jī)號碼偶數(shù)位與奇數(shù)位交換=PhoneNum=685132320301F1三、短信息部分處理:用Message表示轉(zhuǎn)字符串轉(zhuǎn)換為Unicode代碼,例如“危險(xiǎn)??!你家現(xiàn)在可能著火了!”的unicode代碼為:5371 9669 FF01 FF01 4F60 5BB6 73B0 5728 53EF 80FD 7740 706B 4E86 FF01將Message的字符個數(shù)除以2,保留兩位16進(jìn)制數(shù),即53719669FF01FF014F605BB673B0572853EF80FD7740706B4E86FF01=56/2=1C,再加上Message=Message=1C53719669FF01FF014F605BB673B0572853EF80FD7740706B4E86FF01四、組合手機(jī)號碼前加上字符串0011000D91(001100:固定,0D:手機(jī)號碼的長度,不算+號,十六進(jìn)制表示,91:發(fā)送到手機(jī)為91。),即PhoneNum=0011000D91+PhoneNum=0011000D91685132320301F1手機(jī)號碼后加上000801 和剛才的短信息內(nèi)容 即PhoneNum=PhoneNum+000801+Message,即0011000D91685132320301F1+000801+1C53719669FF01FF014F605BB673B0572853EF80FD7740706B4E86FF01=PhoneNum=0011000D91685132320301F1+000801+1C53719669FF01FF014F605BB673B0572853EF80FD7740706B4E86FF01PhoneNum 的字符個數(shù)除以2,格式化成2位的十進(jìn)制數(shù),即=88位/21=43最終發(fā)送內(nèi)容為:0011000D91685132320301F10008011C53719669FF01FF014F605BB673B0572853EF80FD7740706B4E86FF01五、所以要發(fā)送的內(nèi)容為AT+ CMGF=0回車換行AT+ CMGS=43回車換行0011000D91685132320301F10008011C53719669FF01FF014F605BB673B0572853EF80
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1