基于CubeMx生成的STM32L475源代码添加RTT Nano,先添加串口打印,测试没有问题;但是添加FinSH之后,会编译报错。具体见下图。这个“DR”是什么意思,我该如何解决。
查看更多
你重新去看看你移植的代码,应该是缺了某个开关的宏,或者头文件。
你抄的 f103 ,用的 l475 . 有些寄存器的名字是不一样的,你得去 instance 定义里找到含义相同的那个,重写一下上面那个是数据寄存器的意思,不知道 l475 里叫什么了
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
看了相关的文档,应该是RDR
ch = huart1.Instance->RDR & 0xff;
编译没有问题,可以下载了。
但是随之有产生的新的问题:

我在rtconfig.h中是有打开相关的宏
include “finsh_config.h”
define RT_USING_FINSH
由于使用的是轮询,所以是有屏蔽串口中断的。
但是就是无法正常执行?问题还在查询中。
@FHYX_5717 接收用中断,发送可以用轮询阻塞。接收轮询容易把其它线程阻塞到不运行
使用RTT Studio 自带的串口设备就可以,搞不懂。
@FHYX_5717 IDE 的调试终端走的是调试器吧,不是串口外设
应该是串口的,需要勾选串口相关参数的。
@FHYX_5717 可能呢,是你用串口调试助手发命令的时候,四个字节是连续发的。但是接收端处理不过来?串口接收状态错误了?RXNE 状态可以清吗?读完数据寄存器后清一下状态呢?
怎么看,跟用什么终端也不应该有关系的。
@FHYX_5717
同样的问题 现象完全一样 我的也是l475移植出的问题 我猜想可能和hal的版本有关
老哥有解决嘛?