AirMar气象站和测深仪传输数据采用NEMA0183协议进行传输的,传输的数据每秒钟更新一次。STM32F4端采用串口中断的方式接收数据,然后将每秒钟传输的数据用SD卡存储,通过串口一发送到上位机显示。重要数据通过OLED显示在显示屏上面。整体框架和代码会在后面介绍,里面涉及到个人编写请不要用于商业用途,翻版必究!!!
一路项目坐下来,踩过很多坑,希望最后代码能够帮助大家少走弯路。实测工作10分钟没有任何问题。接下来一块块来详细介绍项目工作。
整体项目硬件连接图如下图所示:
AirMar与STM32F4硬件具体连线图如下图所示:
测深仪与STM32F4硬件具体连接线图如下图所示:
硬件完成之后就是软件设计,软件部分的流程图如下图所示:
软件部分具体解析NEMA0183协议的代码可以仔细看代码,里面有解释,在HUST_SHIPPING文件夹的communication.c文