知道個什么原理,就好辦了。寫相關的串口程序。
$GNZDA,152547.000,10,06,2022,00,00*4D
先檢查收到的是不是"$"字符,是的話計數器清零,用計數器做下標存接收數組,再接收五個字符,看看數組內是不是接收了$GNZDA,是的話繼續存入數組。不是就不管它,讓串口接收程序空轉。
等收到換行(0X0A),就可以關了串口中斷,進行數據解析,更新DS1302了。當然,里面要做時區處理,每天的16:00:00~24:00:00(UTC),也就是北京時間0點到早上8點要做加一天處理,還有如果是月尾大小月30天31天,2月的閏年閏月2829,滿年要加年之類的日期處理。如果要更精確那更多的處理。因為數據出來是最好要加1秒是比較準的,要不會慢1秒。而加1秒又要做什么滿60秒分鐘加1等等判斷。
接口程序做好后就算沒有接GPS模塊,也可以用串口助手輸入相應的一行字符調時,如下圖。
2022-06-11_014420.jpg (67.73 KB, 下載次數: 181)
下載附件
2022-6-11 02:02 上傳
|