完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32f7开发板作从机发现通信异常,排查以后发现发送接收的数据全是按一个时钟周期两位来收发的,这是什么问题啊?尝试过更换spi通道、AF组和不同的引脚,都是一样的结果。
主要配置代码如下: void SPI2_Init(void){u16 tempreg=0;RCC->AHB1ENR|=1<<8; //使能PORTB时钟RCC->APB1ENR|=1<<14; //SPI2时钟使能GPIO_Set(GPIOI,1<<0,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_2M,GPIO_PUPD_PU); //PI0~4复用功能输出GPIO_Set(GPIOI,1<<1,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_2M,GPIO_PUPD_NONE);GPIO_Set(GPIOI,1<<2,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_2M,GPIO_PUPD_NONE);GPIO_Set(GPIOI,1<<3,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_2M,GPIO_PUPD_PU);GPIO_AF_Set(GPIOI,0,5);//PI0,AF5(NSS)GPIO_AF_Set(GPIOI,1,5);//PI1,AF5(SCK)GPIO_AF_Set(GPIOI,2,5);//PI2,AF5(MISO)GPIO_AF_Set(GPIOI,3,5);//PI3,AF5(MOSI)//这里只针对SPI口初始化RCC->APB1RSTR|=1<<14; //复位SPI2RCC->APB1RSTR =~(1<<14);//停止复位SPI2SPI2->CR2=7<<8; //8位数据格式SPI2->CR2|=0<<4; //摩托罗拉模式// SPI2->CR2|=1<<0; //使能接收DMA传输SPI2->CR2|=1<<12; //FIFO占用超1字节,即产生RXNE事件(必须正确设置)tempreg|=0<<10; //全双工模式tempreg|=0<<9; //硬件nss管理tempreg|=0<<2; //SPI从机tempreg|=0<<1; //空闲模式下SCK为0 CPOL=0tempreg|=1<<0; //数据采样从第2个时间边沿开始,CPHA=1tempreg|=0<<7; //MSB Firsttempreg|=1<<6; //SPI使能SPI2->CR1=tempreg; //设置CR1SPI2->I2SCFGR =~(1<<11);//选择SPI模式}//SPI2 读写一个字节//TxData:要写入的字节//返回值:读取到的字节u8 SPI2_ReadWriteByte(u8 TxData){vu32 *data_reg= SPI2->DR; //存在FIFO,必须以传输长度访问while((SPI2->SR 1<<1)==0); //等待发送区空*(vu8 *)data_reg=TxData; //发送一个bytewhile((SPI2->SR 1<<0)==0); //等待接收完一个bytereturn *(vu8 *)data_reg; //返回收到的数据}附示波器照片如下,黄色是时钟,蓝色是开发板发送的数据(0X8104),红色是主机发送的数据。 |
|
相关推荐
1个回答
|
|
可能是SPI时钟极性或相位设置不正确导致的。请检查SPI时钟极性和相位设置是否与主机设置一致。在SPI通信中,时钟极性和相位设置会影响数据传输的时序。如果从机与主机的时钟极性和相位设置不一致,就可能会导致数据传输异常。
可以尝试调整从机的时钟极性和相位设置,使其与主机保持一致。具体的设置方法可以参考芯片手册或者开发板的资料。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1641 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1562 浏览 1 评论
988 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
691 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1608 浏览 2 评论
1869浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
655浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
525浏览 3评论
540浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
512浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 03:09 , Processed in 0.821514 second(s), Total 82, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号