打印

STM32 SPI3 工作在从模式接收数据偶尔出现错位的情况

[复制链接]
600|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
丑帅丑帅的|  楼主 | 2018-7-4 19:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32 SPI3  工作在从模式接收数据偶尔出现错位的情况


主机发送数据的时序 上升沿数据有效,下降沿数据改变。CS信号没有使用,
SCK 空闲状态是0  数据采样从第一个时钟边沿开始;
时钟相位和极性设置的都是按照主机通讯协议设置的,

只用的SCLK和SDIO, 其中 SPI3通过管脚映射 SCLK 接在PC10  SDIO接PC12  
配置

管脚配置情况//Enable GPIOC clock    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);    //Enable SPI3 clock    RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI3, ENABLE);    //Enable AFIO clock    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO ,ENABLE);        //remap  SPI3  PC10 PC12    GPIO_PinRemapConfig(GPIO_Remap_SPI3, ENABLE);//SPI3_SCK           GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 ;           GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;  //下拉输入           GPIO_Init(GPIOC, &GPIO_InitStructure);           //SPI3_MOSI           GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_12;           GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;//悬空输入           GPIO_Init(GPIOC, &GPIO_InitStructure);

[color=rgb(51, 102, 153) !important]复制代码
SPI部分配置  SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_RxOnly; //SPI设置为双线单向接收    SPI_InitStructure.SPI_Mode = SPI_Mode_Slave; //从模式    SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //data is 16bit        //空闲状态时,SCK保持低电平    SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; //  //时钟悬空为低    //数据采样从第一个时钟边沿开始;    SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; //数据捕获于第1个时钟沿    SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //NSS未用,可作为通用I/O    //SPI波特率 从模式可以不用管 时钟是主设备提供的    SPI_InitStructure.SPI_BaudRatePrescaler =  SPI_BaudRatePrescaler_256;    //数据高位在前    SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;    SPI_InitStructure.SPI_CRCPolynomial = 7;    SPI_Init(SPI3, &SPI_InitStructure);        SPI_I2S_ITConfig(SPI3, SPI_I2S_IT_RXNE,ENABLE);    /* DISABLE SPI3  */    SPI_Cmd(SPI3, DISABLE);    /* Enable SPI3  */    SPI_Cmd(SPI3, ENABLE);



示波器看到的波形

在测试时,主机传输数据55H 用示波器测量输出的波形数据是正常的,
但是SPI读取的数据偶尔会出现错位的情况  比如会输出AAH 并且这种现象比较随机没有发现什么规律,请论坛的各位用过SPI从模式通讯的给一个建议,应该怎么做才可以比较稳定,

使用特权

评论回复

相关帖子

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

本版积分规则

741

主题

742

帖子

0

粉丝