无人机项目跟踪记录二十三--蓝牙模块输入输出

蓝牙模块的由两个函数构成,一个是:void CommApp(uint8_t ch),负责蓝牙模块的接收功能。一个是CommAppUpload(),负责蓝牙模块的发送功能。这两个子模块的输入输出构成了蓝牙模块的输入输出。蓝牙部分功能划分的比较清晰。

接收子模块的输入输出:

输入:蓝牙串口通过中断发送上来的数据;

输出:油门值,方位、俯仰、横滚变量;

 

发送子模块的输入输出:

输入:当前无人机的高度、方位、俯仰、横滚、电池电压值;

输出:蓝牙通信的串口输出数据;

工程中各个模块的数据都是通过定义全局变量,然后各个模块都无条件来访问和改动它,感觉这样做会存在问题,比如某个函数不小心改动了全局变量值,调试查找要在各个文件中进行,就比较困难了。一般的方法应该是共用的变量在函数参数中通过指针来传递。这样系统的耦合性就比较好了。

还有个问题是串口是通过主程序中中断查询方式来实现的,那么主程序与串口就不存在优先级的问题,主程序执行到查询中断那才可以接收串口数据。这样会不会有问题?比如本来应该优先处理的串口数据没有优先处理,得等到主程序执行到中断查询那句时才执行。

这里还有一个疑问,就是蓝牙通信与串口通信都走的串口,硬件上是如何实现的呢,先不去管这个问题了,等到之后处理吧!

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wyssailing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值