新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于CC2430和ZigBee2006協議棧的通信模塊設計

        基于CC2430和ZigBee2006協議棧的通信模塊設計

        作者: 時間:2010-04-01 來源:網絡 收藏

        3.1 串口部分程序
        (1)串口初始化
        主要是設置halUARTCfg_t結構體成員值:

        本文引用地址:http://www.104case.com/article/157540.htm

        通過對halUARTCfg_t賦值,可以設置波特率、字符數、數據位、停止位、奇偶校驗位和硬件流控等。其中call-BackFunc是自定義設置串口回調函數,即一旦串口有數據傳送,OSAL會就自動轉到自定義的回調函數,執(zhí)行自定義的操作。
        (2)串口回調函數
        首先調用Hal_UART_RxBufLen(uint8 port)函數確定串口數據的長度,然后再調用HalUARTRead(uint8 port,uint8*buf,uintl6 len)讀取串口數據到自定義的串口數據緩沖區(qū),并調用osal_set_event(byte task_id,UINTl6 event_flag)函數發(fā)送事件信號,進行數據的無線發(fā)送。
        3.2 無線接收、發(fā)送部分程序
        (1)無線接收
        當有數據通過無線發(fā)送到應用層時,應用層會發(fā)送1個AE_INCOMING_MSG_CMD消息事件。
        case AF_INCOMING_MSG_CMD:
        GenericApp_MessageMSGCB(MSGpkt);
        break:
        這里表示收到AF_INCOMING_MSG_CMD消息事件,然后調用收到消息事件的信息處理函數GenericApp_MessageMSGCB(MSGpkt),開始接收數據并通過涮用串口HalUARTWrite(uint8 port,uint8*buf,uintl6 len)寫函數發(fā)送接收到的數據。
        (2)無線發(fā)送
        在串口回調函數中當串口有數據輸入時,應用層會發(fā)送1個GENERICAPP_SEND_MSG_EVT消息事件。

        調用GenericApp_SendThmMessage()數據發(fā)送函數,具體到TI/Chipcon公司所提供的棧中即為AF_DataRequest()函數,具體形式如下:


        結語
        本文以為主體了無線的硬件,并選用TI/Chipcon公司免費提供的棧作為軟件開發(fā)平臺。通過實驗驗證,的硬件節(jié)點基本達到了項目要求。經調試,串口能夠正確地接收和發(fā)送數據,能夠實現多個無線節(jié)點(1個協調器,3個終端設備)在50 m左右的和數據傳輸,并通過計算機串口調試軟件測試正確。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 敦化市| 巨鹿县| 九龙城区| 贵南县| 株洲县| 信宜市| 桐城市| 鹿泉市| 荥阳市| 专栏| 梅州市| 台江县| 措美县| 榆林市| 海林市| 潢川县| 丰城市| 开平市| 孙吴县| 滕州市| 翁源县| 章丘市| 怀安县| 东城区| 丹凤县| 确山县| 旬邑县| 利川市| 德惠市| 千阳县| 鄂伦春自治旗| 鄂托克旗| 雷波县| 平罗县| 莆田市| 会泽县| 河西区| 喀喇| 邯郸市| 广宗县| 汽车|