阅读背景:

DR16接收机硬件底层代码

来源:互联网 
   DR16接收机D_BUS与开发板通讯方式为单线串口通讯,**DR16只发送遥控器的信号,单片机进行接收,二者之间不能进行交互**,这里面说一下**DR16的发送为固定频率的实时发送**,因此在使用单片机串口进行接收的时候,为了节省单片机的算力,我们使用串口3且接收方式使用占用资源较少的**DMA**通道进行接收,**根据DR16的特性如果使用串口中断进行接收,占用单片机内部资源较多,而且这仅仅是一个遥控器的简单底层,无需占用过多的软件资源考虑,并且使用串口中断接收会增加程序编写的难度,影响实际使用中系统的反应速度**。
   但是RM给出的官方底层代码**9.remote_control_printf_pc**,但是不知是RM官方没进行优化,还是我的资料比较陈旧,这个代码不能正常使用,使用串口1的最简单的串口打印程序,使用上位机串口打印没法打印出来:      ![在这里插入图片描述](https://img-blog.csdnimg.cn/8bf7fbcf96994d25a2f8a3c2fe2cb3ea.png)
   以下为官方例程中的bsp_usart.c  :
   ![在这里插入图片描述](https://img-blog.csdnimg.cn/3be109c5faba4a898f86ee237165a79a.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDA4MDMwNA==,size_16,color_FFFFFF,t_70)
   以下是官方例程中的bsp_rc.c:
   DR16接收机D_BUS与开发板通讯方式为单线串口通讯,**DR



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: