救助!关于串口1和串口3相同代码却有不同的结果

2019-07-21 08:35发布

    最近需要32和openmv数据交互,使用的是STM32F103C8T6的小核心板,数据通过串口发送给32,。
    但是遇到的问题是:相同的接收中断,但是串口1和串口3接收到的数据是不同的,仔仔细细对照了原子哥的例程和参考手册,没有发现什么配置问题,当然有配置问题也根本不可能接收到数据。。但是奇怪的就是接收到的数据是不一样的
    下面的图片分别为串口1初始化代码及中断服务函数(已经将所有不需要的代码删除干净,本来传的是一组数据,这里我只传一个u8的数据(0xAA))、串口1数据寄存器接收到的值、串口3初始化代码及中断服务函数、串口3数据寄存器接收到的值        不知道大家有没有遇到过这种情况,希望大家帮解答一下 UART1.PNG 串口1.PNG UART3.PNG 串口3.PNG

   


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
Gyyjx123024
1楼-- · 2019-07-21 09:47
谢谢大家,找到原因了,串口1挂载在APB2,串口2、3(以及4、5)都挂载在APB1操作速度限于36MHz, APB2操作于全速(最高72MHz),所以是我初始化的时候出错了,初始化成72Mhz是错误的,应当初始化成36MHZ的
Gyyjx123024
2楼-- · 2019-07-21 15:39
大家有遇到过这种问题吗
yklstudent
3楼-- · 2019-07-21 19:31
波特率设置肯定有问题,多检查下
程牧之
4楼-- · 2019-07-22 00:35
 精彩回答 2  元偷偷看……
秋天
5楼-- · 2019-07-22 05:04
我猜初始化错误,你发出来看看
asdf89
6楼-- · 2019-07-22 07:46
一步步检查,肯定是哪里错了

一周热门 更多>