无人机项目跟踪记录二十三 |
您所在的位置:网站首页 › 如何配对无人机蓝牙 › 无人机项目跟踪记录二十三 |
蓝牙模块的由两个函数构成,一个是:void CommApp(uint8_t ch),负责蓝牙模块的接收功能。一个是CommAppUpload(),负责蓝牙模块的发送功能。这两个子模块的输入输出构成了蓝牙模块的输入输出。蓝牙部分功能划分的比较清晰。 接收子模块的输入输出: 输入:蓝牙串口通过中断发送上来的数据; 输出:油门值,方位、俯仰、横滚变量;
发送子模块的输入输出: 输入:当前无人机的高度、方位、俯仰、横滚、电池电压值; 输出:蓝牙通信的串口输出数据; 工程中各个模块的数据都是通过定义全局变量,然后各个模块都无条件来访问和改动它,感觉这样做会存在问题,比如某个函数不小心改动了全局变量值,调试查找要在各个文件中进行,就比较困难了。一般的方法应该是共用的变量在函数参数中通过指针来传递。这样系统的耦合性就比较好了。 还有个问题是串口是通过主程序中中断查询方式来实现的,那么主程序与串口就不存在优先级的问题,主程序执行到查询中断那才可以接收串口数据。这样会不会有问题?比如本来应该优先处理的串口数据没有优先处理,得等到主程序执行到中断查询那句时才执行。 这里还有一个疑问,就是蓝牙通信与串口通信都走的串口,硬件上是如何实现的呢,先不去管这个问题了,等到之后处理吧!
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |