完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 天堂隔壁 于 2015-5-28 10:20 编辑
如题。用STM32F107VCT6做一个工程,结果测试串口的时候发现 串口1发送数据乱码 ,发送0xaa,结果变成0xed。而且串口3也发送不出来数据,求助。 系统配置如下: 外部晶振 8MHZ 串口1: PA9.PA10 串口3D8,PD9 下面是工程文件,求大牛指点啊,卡了1天多了~ |
|
相关推荐
16个回答
|
|
需要注明的是,我的程序使用IAP下载的。程序都可以通过串口1下载进去,就是通信就不对了~~~
|
|
|
|
楼主,把你的程序重新传一下,里面的东西太多了.不必要的删除了.
|
|
|
|
|
|
|
|
|
|
|
|
附件带的其他通讯协议没有问题吗?
楼主用的是107的芯片.通过代码分析,应该是系统时钟配置错误.楼主可以用示波器测一下串口波特率. 107用的是25Mhz的晶振,103用的是8Mhz的. |
|
|
|
收发双方波特率是否一致,还有你的时钟频率是否准确?
|
|
|
|
TOPCB 发表于 2018-9-24 11:12 我也觉得有点问题了,我的板子是用的8MHZ晶振的。 没有用25M。 如果用25Mhz晶振的话,最大可以倍频到多少呢?我需要72MHZ的时钟 |
|
|
|
TOPCB 发表于 2018-9-24 11:12 还有我相请问下,串口波特率怎么测试? |
|
|
|
示波器抓一个数据的发送,看他的一个周期的频率.
|
|
|
|
|
|
|
|
|
|
|
|
PC串口接收软件的波特率是多少?我看你配置的是9600
|
|
|
|
奇怪的是,我的文件中并没有定义 STM32F10X_CL的地方呀 |
|
|
|
USE_STDPERIPH_DRIVER, STM32F10X_CL, USE_STM3210C_EVAL
你看一下工程设置中,C/C++.你把这里的STM32F10X_CL改成你需要的值.107默认都是用的25Mhz的晶振. |
|
|
|
TOPCB 发表于 2018-9-24 12:59 我现在的工程设置中,C/C++中就只有USE_STDPERIPH_DRIVER, 也可以编译成功,但是就是还得把25的地方注释掉 |
|
|
|
因为你把那个去掉了.这里屏蔽了.即使不定义,这里判断走的是else分支.
//#ifdef STM32F10X_CL // #define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */ //#else #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ //#endif /* STM32F10X_CL */ #endif /* HSE_VALUE */ |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1107 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1055 浏览 2 评论
2159 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1253 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1678 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 18:16 , Processed in 0.883684 second(s), Total 74, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号