MPU:STM32F103RCT6 使用正点原子编写的RTT的串口驱动包,工程用到的串口是USART1和UART5,USART1作为控制台输出,UART5作为其他外设的通信。

首先来解释一下下面一句,这句讲的是设置哪个串口作为控制台输出,但是只允许其中一个串口能够使用。

#if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE)rt_console_set_device(RT_CONSOLE_UART1DEVICE_NAME);
#endif

我在调试过程中遇到,当我将UART5也设置成控制台时,发现串口的发送都能成功,但是接收的话,根据设置控制台输出的串口顺序有关系,放在后面设置的能够进入接收中断,放在前面的则不能进入接收中断。这里是不要添加其他设备的。

解决方法,我在rt_hw_usart_init这个函数中这样编写的。

前面的代码省略...uart5->parent.init      = rt_uart_init;uart5->parent.open       = rt_uart_open;uart5->parent.close      = rt_uart_close;uart5->parent.read      = rt_uart_read;uart5->parent.write      = rt_uart_write;uart5->parent.control    = RT_NULL;uart5->parent.user_data  = RT_NULL;uart5nvic_configuration(uart5);***rt_device_register(&uart5->parent, "uart5", RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX );//打开串口5if(rt_device_find("uart5")!=RT_NULL){         rt_device_open(rt_device_find("uart5"), RT_DEVICE_OFLAG_RDWR);}***

关键看这里,其实不过是Linux平台下的所有内容即文件的看法,我们在操作某个设备时第一个动作就是要打开,只有打开才能使用,也不会和控制台输出的串口起冲突。

话语并不太专业,供自我以后参考,有兴趣的伙伴也可以参考,看能不能给你啥解决问题的灵感。

关于RT-Thread多串口,不能使用或中断冲突卡死的问题相关推荐

  1. 安利一个适合调试rt thread的串口助手软件

    本文由RT-Thread论坛用户@fhqmcu 原创发布:https://club.rt-thread.org/ask/article/3142.html 串口助手是单片机开发,ARM开发的必用工具, ...

  2. RT Thread Free Modbus移植问题整理

    RT Thread Free Modbus移植问题整理 问题描述: 在读写寄存器中,写数据正常,只能读1个寄存器的值,多个值会异常. 在移植过程中发现串口(或RS485)数据接收长度异常. 一.环境描 ...

  3. RT Thread之 Uart2 操作

    官网连接:https://docs.rt-thread.org/#/rt-thread-version/rt-thread-standard/programming-manual/device/uar ...

  4. RT Thread利用STM32CUBEMX和RT Thread studio来创建模板工程

    (1)RT Thread利用STM32CUBEMX来创建模板工程 1.参考文档: 基于 CubeMX 移植 RT-Thread Nano:RT-Thread 文档中心 注意:串口2必须使能异步模式(启 ...

  5. stm32f407单片机rt thread 片外spi flash OTA升级配置示例

    参考地址https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/ 第一步,生成Boot ...

  6. RT Thread Studio 配置IIC并读取AS5600角度

    RT Thread Studio 配置IIC并读取AS5600角度 一.RT Thread Studio 配置IIC 1.在RT Thread Seting 中开启IIC功能 并保存 一定要保存才能更 ...

  7. 基于GD32F103C8T6添加RT Thread nano设备框架并添加串口设备(以控制台console( uart0 )为例)

    最近没事琢磨了一下使用设备框架的问题.因为将串口注册到设备框架可以应用十分丰富的软件包. 于是就整理了一下手上的工程,重新将工程梳理了一遍. 像这样是十分清爽了,其中RTOS是操作系统源代码 并且学习 ...

  8. 关于RT thread系统节拍时钟的配置

    关于RT thread系统节拍时钟的配置                  -----本文基于rt-thread-3.1.3版本编写 首先,使用RTthread OS时,要配置(或者明白)它的系统节拍 ...

  9. rt thread studio使用QBOOT和片外flash实现OTA升级

    我们这里要使用单片机外部flash作为OTA的下载分区,外部flash硬件连接关系 PB3-->SPI3_CLK PB4-->SPI3_MISO PB5-->SPI3_MOSI PE ...

最新文章

  1. Go 语言编程 — gorm ORM 框架
  2. [导入]TreeView的级联选择(上)
  3. 成就连自己都惊讶的未来
  4. UITableView 滑动删除
  5. gzip、bzip2和tar
  6. qq机器人自动回复带脚本可以实现吗_python一个神奇的第三方库:QQ自动聊天
  7. give girls more options to choose
  8. SpringBoot中使用Redis数据库
  9. Go基础编程:格式化输出、类型转换、类型别名
  10. dealloc时取weakself引起崩溃
  11. innobackupex实现导出和导入单张表
  12. HDU1230 火星A+B【进制】
  13. 声卡性能测试软件,RightMark Audio Analyzer音频声卡测试软件
  14. 公司年终总结新年计划PPT模板
  15. SendMessage功能(中规中矩)
  16. 在csdn中,如何获取积分
  17. 李笑来和 stormzhang,其实是一类人
  18. 怎么将做个文件做成二维码?扫描二维码展示文件怎么做?
  19. java基础(三) IDEA使用与多线程编程
  20. 大数据时代的特种兵——阿里数据产品团队

热门文章

  1. 1102: 火车票退票费计算(函数专题)Java
  2. 新版V10MXone Pro自适应苹果CMS影视模板/亲测
  3. 管理员权限功能和开机自启功能
  4. Semaphore学习
  5. 《你若安好 便是晴天【林徽因传】》读后感
  6. TMSI 重配置流程
  7. css,对z-index的使用
  8. 用python获取某年某月/(当前)的天数
  9. java-回合制小游戏
  10. Hadoop的MR编程实现partition、sort和自定义outputformat