打印
[STM32F4]

显示溢出错误

[复制链接]
326|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
28335作为主机,STM32F407作为从机,主机发送从机接收。28335使用McBSP的SPI模式,发送端应该没有问题;STM32F407接收数据时总是接收一半,另一半为零,而且一次接收完毕后STM32F407的状态寄存器会显示溢出错误

使用特权

评论回复
沙发
renyaq| | 2021-2-5 22:12 | 只看该作者

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
yinxiangh|  楼主 | 2021-2-5 22:15 | 只看该作者
STM32F407SPI配置程序如下:
GPIO_InitTypeDef GPIO_InitStructure;
SPI_InitTypeDef SPI_InitStructure;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOB, &GPIO_InitStructure);

GPIO_PinAFConfig(GPIOB,GPIO_PinSource13,GPIO_AF_SPI2);
GPIO_PinAFConfig(GPIOC,GPIO_PinSource2,GPIO_AF_SPI2);
GPIO_PinAFConfig(GPIOC,GPIO_PinSource3,GPIO_AF_SPI2);
RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI2,ENABLE);
RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI2,DISABLE);
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
SPI_InitStructure.SPI_Mode = SPI_Mode_Slave;
SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b;
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;

SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
SPI_InitStructure.SPI_CRCPolynomial = 7;
SPI_Init(SPI1, &SPI_InitStructure);
//SPI2->CR1&=0XDFC7;
SPI_Cmd(SPI2, ENABLE);

使用特权

评论回复
地板
chenjunt| | 2021-2-5 22:17 | 只看该作者

还有什么现象?能再详细描述下吗?

使用特权

评论回复
5
yinxiangh|  楼主 | 2021-2-5 22:19 | 只看该作者
将STM32F407的数据寄存器赋值到数组rdata,接收到值如下图所示:

使用特权

评论回复
6
yinxiangh|  楼主 | 2021-2-5 22:21 | 只看该作者

使用特权

评论回复
7
lium| | 2021-2-5 22:21 | 只看该作者
可以的啊!!!!!

使用特权

评论回复
8
yufe| | 2021-2-5 22:23 | 只看该作者
具体程序自己详细琢磨,出现这样的问题多半是双方相互访问时,地址信息错位了。一个地址高,就是位数宽。

使用特权

评论回复
9
yinxiangh|  楼主 | 2021-2-5 22:25 | 只看该作者
能说的再仔细一些吗?

使用特权

评论回复
10
lium| | 2021-2-5 22:29 | 只看该作者
用示波器监控一下

使用特权

评论回复
11
huwr| | 2021-2-5 22:31 | 只看该作者
估计是协议不统一

使用特权

评论回复
12
tian111| | 2021-2-5 22:33 | 只看该作者

是不是缓存没有处理好啊

使用特权

评论回复
13
songqian17| | 2021-2-5 22:36 | 只看该作者
示波器能看到发送的数据是完全的吗

使用特权

评论回复
14
zhuhuis| | 2021-2-5 22:42 | 只看该作者
慢慢一步步调试查找错误吧

使用特权

评论回复
15
yinxiangh|  楼主 | 2021-2-5 22:44 | 只看该作者

好的,我明天去单位试一下,多谢各位大侠了哈        

使用特权

评论回复
16
观海| | 2021-3-2 14:36 | 只看该作者
通过什么显示的啊

使用特权

评论回复
17
guanjiaer| | 2021-3-2 14:37 | 只看该作者
接收数据溢出?

使用特权

评论回复
18
heimaojingzhang| | 2021-3-2 14:38 | 只看该作者
能正常接收数据吗

使用特权

评论回复
19
keaibukelian| | 2021-3-2 14:40 | 只看该作者
一次接收多少数据啊

使用特权

评论回复
20
labasi| | 2021-3-2 14:40 | 只看该作者
实际上发送是什么数据啊

使用特权

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

本版积分规则

723

主题

7134

帖子

2

粉丝