Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread Nano
使用STM32CubeMX移植stm32出现控制台不能输入的解决
发布于 2020-03-27 20:14:36 浏览:2759
订阅该版
* 本帖最后由 sunwan 于 2020-3-27 20:19 编辑 * **使用STM32CubeMX移植stm32出现控制台不能输入的解决** 今天,为了测试下一个软件包在nano下的兼容性,特意下了nano3.1.3,使用CubeMX移植,stm32f030c8的片子,完全按照官方的步骤,就rt_hw_console_getchar函数里的寄存器由F1的名称改成F0的。编译一次通过,运行时rtt的log和版本都显示正常,LED正常,就msh显示符号不对,输入有反应,但都显示空格。步骤对了好几遍,应该是没问题的,CubeMX配置应该也没问题。 上网找了好一会,发现有一样的,原因: 初始化顺序的关系。 CubeMX集成的RTT先运行RTT部分的初始化,再进行main函数的初始化,关键是main函数的初始化里有时钟树的配置,在RTT初始化UART时,使用的是复位后的默认时钟配置,再进行main初始化时,执行了SystemClock_Config(),时钟重新配置了,造成UART波特率变化,对于没有自动波特率的芯片,就不能正常的输入输出,也就出现前面的log输出正常,而不能交互的根本原因。 解决办法:把CubeMX生成的main()里的HAL_Init()和SystemClock_Config()移到 void rt_hw_board_init(void) 的最开始部分(怎么转移你们应该都懂得): ```void rt_hw_board_init(void) { HAL_Init(); SystemClock_Config(); .... }``` 看来,这个教程还是需要随时补充的。
查看更多
6
个回答
默认排序
按发布时间排序
GCTY_8921
2020-04-01
这家伙很懒,什么也没写!
:handshake这个问题困扰我好几天了,谢谢分享
sunwan
2020-04-01
这家伙很懒,什么也没写!
>是的,两次不同时钟初始化是会出现问题的哦。教程里面说了放在rt_hw_board_init()就可以啦,所以就不用在ma ... --- 教程里应该是写错了,原话: [attach]14454[/attach] SystemCoreClockUpdate()只是更新了SystemCoreClock全局变量的值,并不是配置时钟的,CubeMX生成的SystemClock_Config()才是真正配置时钟的,是必须的,不然MCU肯定不能运行在正确的频率上。而基于MDK配置的Nano就有这2行代码: ``` void rt_hw_board_init() { HAL_Init(); SystemClock_Config(); /* System Clock Update */ SystemCoreClockUpdate(); /* System Tick Configuration */ _SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND); /* Call components board initial (use INIT_BOARD_EXPORT()) */ #ifdef RT_USING_COMPONENTS_INIT rt_components_board_init(); #endif #if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP) rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get()); #endif } ``` 所以说教程在这个地方写错了,使不少人走了弯路。
熊总熊
2020-04-17
这家伙很懒,什么也没写!
感谢感谢,我也遇到这样的问题了
aflyingtree
2020-05-09
这家伙很懒,什么也没写!
>好的,这里更新下,感谢反馈~ --- 所以 都5月9日了还没有更新,, 然后用cubemx 移植的同学们又一次掉进了坑里面. 然后搜帖子,提问, 发现哦 原来是这个问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 哪些教程访问量比较大应该可以统计出来吧?建议官方及时更新, 如果做不到及时更新最起码可以及时 "更正" !
撰写答案
登录
注册新账号
关注者
1
被浏览
2.8k
关于作者
sunwan
这家伙很懒,什么也没写!
提问
10
回答
91
被采纳
0
关注TA
发私信
相关问题
1
求高手指点,RTThread下nanosleep()函数功能如何实现?在线等啊
2
RTT1.2.2在新塘Nano130KE3BN的移植中始终出现栈溢出的问题
3
官方能否出一个nano在mdk下移植finsh到stm32的教程
4
从裸机开始,创建一个RT-Thread Nano系统工程
5
Nano版如何启用shell
6
项目从RTT 2.x NANO移植到 RTT 3.x ENV 环境
7
nano 版本有没有集成到 IAR 中啊?
8
关于MDK5的RT-THREAD NANO中添加MSH组件的例程
9
rtt_nano版本,源代码在哪里下载啊?
10
RTT Nano 在keil 使用C++11 的问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
开源共生 商业共赢 | RT-Thread 2024开发者大会议程正式发布!
2
【24嵌入式设计大赛】基于RT-Thread星火一号的智慧家居系统
3
RT-Thread EtherKit开源以太网硬件正式发布
4
如何在master上的BSP中添加配置yml文件
5
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
MicroPython
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
19
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
6
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
5
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部