基于體感網(wǎng)的可穿戴運動(dòng)監測系統
3.1.1 主程序
本文引用地址:http://dyxdggzs.com/article/267435.htm 上電后,主程序進(jìn)行各模塊初始化,包括時(shí)鐘初始化、串口配置、開(kāi)啟總中斷、無(wú)線(xiàn)通信配置為發(fā)送模式,進(jìn)入主循環(huán)。在主循環(huán)中通過(guò)判斷命令標志位ComFlag來(lái)執行相應的操作。當ComFlag為“1”、“2”和“3”時(shí),通過(guò)無(wú)線(xiàn)模塊以廣播形式分別發(fā)送“開(kāi)始”、“結束”和“擦除”命令,之后標志位ComFlag置0,繼續主循環(huán)。當ComFlag為“4”時(shí),通過(guò)無(wú)線(xiàn)模塊發(fā)送“上傳”命令,之后切換無(wú)線(xiàn)收發(fā)狀態(tài)為接收模式,開(kāi)始接收終端節點(diǎn)數據。流程圖如圖4所示。
無(wú)線(xiàn)數據接收流程為:無(wú)線(xiàn)通信切換成接收模式,數據按照“幀”格式接收,為了保證數據的有效性,對每一幀數據進(jìn)行校驗。每幀數據包含30字節有效數據,并在數據幀尾添加1位校驗位。采用奇偶校驗法,在接收到一幀數據后,將前30字節數據按位想加,判斷和的奇偶,并與終端節點(diǎn)計算的數據幀校驗位結果進(jìn)行對比,若校驗一致,則去除校驗位,將有效數據通過(guò)串口上傳至PC機,并進(jìn)行數據字節個(gè)數的統計,然后向終端節點(diǎn)發(fā)送“success”,通知終端節點(diǎn)當前數據幀接收成功。若校驗不一致,則發(fā)送“fail”,通知終端節點(diǎn)重新發(fā)送當前數據幀。終端節點(diǎn)在采集存儲數據時(shí)候會(huì )記錄數據個(gè)數,在收到“上傳”命令后首先發(fā)送數據個(gè)數,用以進(jìn)行數據上傳結束的判斷。當接收到的數據個(gè)數與采集的個(gè)數一致時(shí)數據上傳結束,流程如圖5所示。
3.1.2 中斷程序
網(wǎng)關(guān)節點(diǎn)通過(guò)串口中斷來(lái)進(jìn)行上位機命令的識別。當通過(guò)串口接收到字符串之后,進(jìn)入串口中斷,在串口中斷服務(wù)程序里,首先進(jìn)行命令字符串的匹配,然后給命令標志位ComFlag賦值,如圖6所示。
評論