[STM32F1] 关于STM32F103 USART1的奇怪问题,请大家来帮帮忙

[复制链接]
3769|10
 楼主| liyshen 发表于 2015-5-19 00:17 | 显示全部楼层 |阅读模式
本帖最后由 liyshen 于 2015-5-19 00:27 编辑

我最近刚开始玩STM32,现在遇到一个奇怪的问题暂时无法解决;请大家帮帮忙!工程代码在附件中

具体问题是这样的,刚上电时电脑的串口助手无法收到STM32F103的USART1发来的数据;但同样的代码STM32F103的USART2却可以!
另外我还做了一个实验,同一份代码原本是串口助手无法收到STM32F103的USART1发来的数据的;但只要此时通过串口助手向单片机的USART1发送过数据后,之后就可以在串口助手收到STM32F103的USART1发送的打印数据。所以感觉是初始状态时STM32F103的USART1的初始化有问题。



搜索
复制

stm32_demo.rar

269.55 KB, 下载次数: 18

 楼主| liyshen 发表于 2015-5-19 00:29 | 显示全部楼层
airwill 发表于 2015-5-19 06:58 | 显示全部楼层
刚上电时电脑的串口助手无法收到STM32F103的USART1发来的数据;但同样的代码STM32F103的USART2却可以!

这里特别要注意一下, USART1, 2 的时钟频率是不同的. 检查一下波特率
mmuuss586 发表于 2015-5-19 08:18 | 显示全部楼层
先不要接电脑串口;
板子的发送和接收短路下,自发自收是否正常,并测试数据是否正确;
顺便用示波器看下,波特率是否正确;
 楼主| liyshen 发表于 2015-5-19 21:53 | 显示全部楼层
airwill 发表于 2015-5-19 06:58
刚上电时电脑的串口助手无法收到STM32F103的USART1发来的数据;但同样的代码STM32F103的USART2却可以!

这 ...

由于只要从串口助手发过一次数据给单片机后,只要不断电单片机USART1打印的信息都可以在串口助手中收到;那就应该可以确定不是时钟信号的问题了吧?
 楼主| liyshen 发表于 2015-5-20 11:42 | 显示全部楼层
没有大侠来帮忙吗?
kiya0407 发表于 2015-6-16 11:27 | 显示全部楼层
楼主,我的问题和你差不多,我用的stm32f103rb 同样的代码在一个工程里USART1可以发送数据到串口助手,另外一个工程里同样的代码USART1却发不出去.你的问题解决了吗?怎么解决的
XIONGWEI2010 发表于 2015-6-16 14:13 | 显示全部楼层
本帖最后由 XIONGWEI2010 于 2015-6-16 14:18 编辑

stm32_demo.part01.rar (976.56 KB, 下载次数: 6)

stm32_demo.part02.rar (976.56 KB, 下载次数: 4)

stm32_demo.part03.rar (976.56 KB, 下载次数: 4)

stm32_demo.part04.rar (976.56 KB, 下载次数: 4)

stm32_demo.part05.rar (378.01 KB, 下载次数: 4)

试一下
zhangrui2004 发表于 2015-6-16 14:42 | 显示全部楼层
你使用的是不是STM32F103的 nucleo?
在这块板子上芯片的UART1和STLINK是连起来的,你把程序写进去把板子上的电阻SB13 14拿掉试试
lo_529 发表于 2015-6-16 15:11 | 显示全部楼层
mmuuss586 发表于 2015-5-19 08:18
先不要接电脑串口;
板子的发送和接收短路下,自发自收是否正常,并测试数据是否正确;
顺便用示波器看下, ...

简单实用的好办法。
mmuuss586 发表于 2015-6-16 18:37 | 显示全部楼层
lo_529 发表于 2015-6-16 15:11
简单实用的好办法。

恩;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

22

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部