打印
[应用相关]

在stm32f407上跑RT-Thread操作系统问题总结

[复制链接]
1104|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Win+PL2303HX
         这几天在STM32f407上跑RT-Thread操作系统,由于官方的BSP已经有移植好的例程了,所以自己配置起来还是很容易的。但是容易的事情做起来也出现了很多问题,下面就总结一下这几天的问题吧。
         问题一:stm32f4官方库函数的时钟配置
——官方的例程默认的外部时钟是25M,而stm32f407-Discovery的外部时钟源是8M。所以要想在移植成功必须配置好时钟(好像不改配置,程序也想执行,只是频率不对。具体为什么能执行我也不清楚)。
1.  启动文件


在程序启动后,先执行的是SystemInit(系统初始化)函数,然才执行mian函数呢。



使用特权

评论回复
沙发
豌豆爹|  楼主 | 2022-5-19 14:37 | 只看该作者
2.  SystemInit函数
SystemInit函数在system_stm32f4xx.c中,这里面提供了一个宏,这几宏就是配置时钟的,如图:

晶振频率在stm32f4xx.h中设置

默认是25000000,由于我们用的是8M的时钟,故重新定义这个宏
#define HSE_VALUE   ((uint32_t)8000000)
而在stm32f4xx_conf.h中也有涉及到时钟的宏,所以我们也应该看一下是不是正确

总结:原则就是软件和硬件的时钟想匹配
         问题二:串口通信
                   以前自己就是瞎用,没有出现过什么问题,只知道就是这么个连接方式,也没想太多。但是这几天却出现了问题,问题的原因太多了,所以就不一一列举了。
1.  直接将stm32f407的Usart的Rx、Tx跟电脑的Rx、Tx连在一起
为什么会出现这样的问题呢?我自己也请教了几个人也上查了查。
RS232是一种接口,就是通常所说的串口,RS接口上通信要12V的电压才能识别,也就是相对高低电平为12V和0V。单片机的高低电平为3.3V和0V。两者电平不一样故无法通信,中间就必须加一个电平转换芯片,也就是驱动。MAX232就充当这个驱动。
USB串口是指一种能把USB信号转换成串口信号的设备。PL2303是一个芯片,这个芯片就是把USB信号转换成串口信号,这个芯片的输入数据电平是可以选择的3.3V或者5V,所以用这个芯片充当USB跟串口的桥梁。
                   在这里我选用了PL2303充当了这个桥梁。
2.  软件驱动的
硬件弄好了,只需在电脑上安装驱动就可以使用了,但是现在win8是不支持PL2303HX的。

但是现在我里只有PL-2303HX,那怎么解决呢?于是我上网查了大量的资源,找了好的驱动,最后终于解决了。

问题解决了,看看效果图,打印出RT-Thread的**了!
问题虽然解决了,但是也暴露了好多问题,一些问题是自身的,还有一些是外界环境的。这个问题能很好的解决,主要得感谢@阿嘉^_^ 和Xi.ou是这两个网友帮我找出问题的原因,知道问题的原因,剩下的就好解决了!通过这件事又对“站在巨人的肩膀上”这句话有了更深的理解。寻找巨人过程是不容易的,但是总算找到了。










使用特权

评论回复
板凳
Bblythe| | 2022-10-7 09:22 | 只看该作者

AD功能禁用掉,再配置切换为带下降沿触发的外部中断触发脚

使用特权

评论回复
地板
Pulitzer| | 2022-10-7 12:21 | 只看该作者

如果make_youtiao()这个函数执行的很快并可以立即返回

使用特权

评论回复
5
Uriah| | 2022-10-7 19:22 | 只看该作者

让该端口输出低电平的语句

使用特权

评论回复
6
1988020566| | 2022-11-1 09:39 | 只看该作者
stm32f407是单线程还是多线程

使用特权

评论回复
7
qiufengsd| | 2022-11-1 09:55 | 只看该作者
可以参考RT-Thread移植入门学习。     

使用特权

评论回复
8
biechedan| | 2022-11-1 10:14 | 只看该作者
学习stm32需要学习rt-thread吗  

使用特权

评论回复
9
backlugin| | 2022-11-1 10:59 | 只看该作者
请教RT-THREAD STM32F的中断程序怎么写

使用特权

评论回复
10
cemaj| | 2022-11-1 12:01 | 只看该作者
推荐 《RT-Thread内核实现与应用开发实战指南 基于STM32》

使用特权

评论回复
11
jackcat| | 2022-11-1 15:32 | 只看该作者
从零实现STM32的RT-Thread的RTOS系统。  

使用特权

评论回复
12
Undshing| | 2022-11-2 19:46 | 只看该作者
该端口输出低电平的语句

使用特权

评论回复
13
SantaBunny| | 2022-11-2 20:44 | 只看该作者
参考RT-Thread移植入门学习。   

使用特权

评论回复
14
bestwell| | 2023-2-14 10:20 | 只看该作者
如何移植RT-thread官方的系统源码到STM32

使用特权

评论回复
15
帛灿灿| | 2023-6-1 08:19 | 只看该作者

来自单 片机内部的定时器和GPIO、串行通信设备UART等外设机器的中断被称为外部设备中断

使用特权

评论回复
16
Bblythe| | 2023-6-1 09:22 | 只看该作者

返回值类型与参数类型

使用特权

评论回复
17
童雨竹| | 2023-6-1 11:18 | 只看该作者

具存储功能的存储器芯片也能加密

使用特权

评论回复
18
Pulitzer| | 2023-6-1 12:21 | 只看该作者

将晶振内移,使其离PCB边缘至少1cm以上的距离

使用特权

评论回复
19
公羊子丹| | 2023-6-1 13:24 | 只看该作者

TIM4正常中断,UART1串口发送正常,就是串口接收中断进不去。

使用特权

评论回复
20
公羊子丹| | 2023-6-1 14:17 | 只看该作者

一般要进行内存优化,尽量提高内存的使用效率

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

513

主题

1960

帖子

5

粉丝