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

正文內(nèi)容

智能電表電量采集管理系統(tǒng)設(shè)計(jì)-資料下載頁

2024-11-16 18:56本頁面

【導(dǎo)讀】研究工作所取得的成果。除文中已經(jīng)注明引用或參考的內(nèi)容外,本論文不含。對本文的研究做出重。要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)注。本人完全意識到本聲明的法律結(jié)果由本人承擔(dān)。學(xué)習(xí)期間所完成的學(xué)位論文的知識產(chǎn)權(quán)歸所擁有。有權(quán)保留并向國家有關(guān)部。手段保存和匯編本學(xué)位論文。也越來越高,希望我們的生活、生產(chǎn)變得更便捷、更有效率,從而促進(jìn)了電力系統(tǒng)的發(fā)展。電力是所有產(chǎn)業(yè)的動力,有著不可替代的重要意義。如何實(shí)現(xiàn)從傳統(tǒng)的抄表方法到現(xiàn)。間產(chǎn)生不必要的糾紛,抄表統(tǒng)計(jì)這些繁瑣的工序既耗費(fèi)人力、時間,還會出現(xiàn)差錯。端,并作出數(shù)據(jù)的傳輸、統(tǒng)計(jì)和核算,可以做到實(shí)時的查詢用電情況。該系統(tǒng)的基礎(chǔ)是通。將這些信息存儲在數(shù)據(jù)庫中。當(dāng)需要處理數(shù)據(jù)時,其中的軟件能夠快速準(zhǔn)確的將所需數(shù)據(jù)。提取出來,進(jìn)行相應(yīng)的數(shù)據(jù)操作,達(dá)到相應(yīng)要求。本系統(tǒng)集軟件、硬件于一體,將對硬件

  

【正文】 sk_id, uint16 events ) { afIningMSGPacket_t *MSGpkt。 (void)task_id。 // Intentionally unreferenced parameter if ( events amp。 SYS_EVENT_MSG ) //接收系統(tǒng)消息再進(jìn)行判斷 { //接收屬于本應(yīng)用任務(wù) SampleApp 的消息,以 SampleApp_TaskID 標(biāo)記 MSGpkt = (afIningMSGPacket_t *)osal_msg_receive( SampleApp_TaskID )。 while ( MSGpkt ) { switch ( MSGpkt ) { // Received when a key is pressed case SampleApp_HandleKeys( ((keyChange_t *)MSGpkt)state, ((keyChange_t *)MSGpkt)keys )。 break。 // Received when a messages is received (OTA) for this endpoint case AF_INCOMING_MSG_CMD: //接收數(shù)據(jù)事件 ,調(diào)用函數(shù) AF_DataRequest()接收數(shù)據(jù) SampleApp_MessageMSGCB( MSGpkt )。 //調(diào)用回調(diào)函數(shù)對收到的數(shù)據(jù)進(jìn)行處理 break。 // Received whenever the device changes state in the work case ZDO_STATE_CHANGE: //只要網(wǎng)絡(luò)狀態(tài)發(fā)生改變,就通過 ZDO_STATE_CHANGE 事件通知所有的任務(wù)。同時完成對協(xié)調(diào)器,路由器,終端的設(shè)置 SampleApp_NwkState = (devStates_t)(MSGpkt)。 //if ( (SampleApp_NwkState == DEV_ZB_COORD) //實(shí)驗(yàn)中協(xié)調(diào)器只接收數(shù)據(jù)所以取消發(fā)送事件 畢業(yè)設(shè)計(jì) (論文 ) 15 if ( (SampleApp_NwkState == DEV_ROUTER) || (SampleApp_NwkState == DEV_END_DEVICE) ) { //這個定時器只是為發(fā)送周期信息開啟的,設(shè)備啟動初始化后從這里開始觸發(fā)第一個周期信息的發(fā)送,然后周而復(fù)始下去。 osal_start_timerEx( SampleApp_TaskID, SAMPLEAPP_SEND_PERIODIC_MSG_EVT, SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT )。 } else { // Device is no longer in the work } break。 default: break。 } // Release the memory //事件處理完了,釋放消息占用的內(nèi)存 osal_msg_deallocate( (uint8 *)MSGpkt )。 //指針指向下一個放在緩沖區(qū)的待處理的事件,返回 while ( MSGpkt )重新處理事件,直到緩沖區(qū)沒有等待處理事件為止 MSGpkt=(afIningMSGPacket_t *)osal_msg_receive( SampleApp_TaskID )。 } // return unprocessed events //返回未處理的事件 return (events ^ SYS_EVENT_MSG)。 } // Send a message out This event is generated by a timer 畢業(yè)設(shè)計(jì) (論文 ) 16 // (setup in SampleApp_Init()). if ( events amp。 SAMPLEAPP_SEND_PERIODIC_MSG_EVT ) { //處理周期性事件,利用 SampleApp_SendPeriodicMessage()處理完當(dāng)前的周期性事件, 然后啟動定時器開啟下一個周期性事情,這樣一種循環(huán)下去,也即是上面說的周期性事件了,可以做為傳感器定時采集、上傳任務(wù) SampleApp_SendPeriodicMessage()。 // Setup to send message again in normal period (+ a little jitter) osal_start_timerEx(SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_EVT, (SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT + (osal_rand() amp。 0x00FF)) )。 // return unprocessed events 返回未處理的事件 return (events ^ SAMPLEAPP_SEND_PERIODIC_MSG_EVT)。 } // Discard unknown events return 0。 } ( 5)分析接收數(shù)據(jù)函數(shù) SampleApp_MessageMSGCB //接收數(shù)據(jù),參數(shù)為接收到的數(shù)據(jù) void SampleApp_MessageMSGCB( afIningMSGPacket_t *pkt ) { uint16 flashTime。 byte buf[3]。 switch ( pktclusterId ) //判斷簇 ID { case SAMPLEAPP_PERIODIC_CLUSTERID: //收到廣播數(shù)據(jù) osal_memset(buf, 0 , 3)。 畢業(yè)設(shè)計(jì) (論文 ) 17 osal_memcpy(buf, pkt, 2)。 //復(fù)制數(shù)據(jù)到緩沖區(qū)中 if(buf[0]==39。D39。 amp。amp。 buf[1]==39。139。) //判斷收到的數(shù)據(jù)是否為“ D1” { HalLedBlink(HAL_LED_1, 0, 50, 500)。 //如果是則 Led1 間隔 500ms 閃爍 if defined(ZDO_COORDINATOR) //協(xié)調(diào)器收到 D1后 ,返回 D1給終端,讓終端 Led1 也閃爍 SampleApp_SendPeriodicMessage()。 endif } else { HalLedSet(HAL_LED_1, HAL_LED_MODE_ON)。 } break。 case SAMPLEAPP_FLASH_CLUSTERID: //收到組播數(shù)據(jù) flashTime = BUILD_UINT16(pkt[1], pkt[2] )。 HalLedBlink( HAL_LED_4, 4, 50, (flashTime / 4) )。 break。 } } ( 6)分析發(fā)送周期信息 SampleApp_SendPeriodicMessage() } void SampleApp_SendPeriodicMessage( void ) { byte SendData[3]=D1。 // 調(diào)用 AF_DataRequest 將數(shù)據(jù)無線廣播出去 if( AF_DataRequest( amp。SampleApp_Periodic_DstAddr, amp。SampleApp_epDesc, 畢業(yè)設(shè)計(jì) (論文 ) 18 SAMPLEAPP_PERIODIC_CLUSTERID, 2, SendData, amp。SampleApp_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS ) { } else { HalLedSet(HAL_LED_1, HAL_LED_MODE_ON)。 // Error occurred in request to send. } ( 7) AF_DataRequest 發(fā)送函數(shù) AF_DataRequest( amp。SampleApp_Periodic_DstAddr, //發(fā)送目的地址+端點(diǎn)地址和傳送模式 amp。SampleApp_epDesc, //源 (答復(fù)或確認(rèn) )終端的描述(比如操作系統(tǒng)中任務(wù) ID 等)源 EP SAMPLEAPP_PERIODIC_CLUSTERID, //被 Profile 指定的有效的集群號 2, // 發(fā)送數(shù)據(jù)長度 SendData,// 發(fā)送數(shù)據(jù)緩沖區(qū) amp。SampleApp_TransID, // 任務(wù) ID 號 AF_DISCV_ROUTE, // 有效位掩碼的發(fā)送選項(xiàng) AF_DEFAULT_RADIUS ) //傳送跳數(shù),通常設(shè)置為 AF_DEFAULT_RADIUS
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1