完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我的spi通信总是不成功,在别的帖子上看到spi的初始化,但不知道main函数咋写,是什么样的流程这是我写的从机程序
//要写字符串数组 #define SIZE 32 u8 SPI2_TEXT_Buffer[]={"dahuai dan "};//发送数组 u8 SPI2_RESEIVE_Buffer[SIZE]={0};//接收数组 int main(void) { u16 datatemp=0; delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级 uart_init(115200); //串口初始化为115200 LED_Init(); //初始化与LED连接的硬件接口 SPI2_Init (); while (1) { while(datatemp while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET)//检查指定的SPI标志位设置与否:发送缓存空标志位 SPI_I2S_SendData (SPI2 ,SPI2_TEXT_Buffer[datatemp ]); while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE ) == RESET) SPI2_RESEIVE_Buffer[datatemp]=SPI_I2S_ReceiveData (SPI2 ); datatemp ++; } } } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 这是我的主机程序 #define SIZE 32 u8 SPI2_TEXT_Buffer[]={"congji fade xiaoxi"}; u8 SPI2_RESEIVE_Buffer[SIZE]={0}; int main(void) { u16 datatemp=0; delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级 uart_init(115200); //串口初始化为115200 LED_Init(); //初始化与LED连接的硬件接口 SPI2_Init (); while (1) { while(datatemp while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET) //检查指定的SPI标志位设置与否:发送缓存空标志位 SPI_I2S_SendData(SPI2, SPI2_TEXT_Buffer [datatemp ]); //通过外设SPIx发送一个数据 while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET) //检查指定的SPI标志位设置与否:接受缓存非空标志位 SPI2_RESEIVE_Buffer[datatemp]=SPI_I2S_ReceiveData (SPI2 ); datatemp ++; LED0 =!LED0 ; } datatemp=0; printf("zhujijieshoudao de xinxi weirn:%s",SPI2_RESEIVE_Buffer ); } } 主要问题有几点: 1:相位设置应该没错,但依旧不理解在主函数里如何写收发数据的流程; 2:是不是主从机接四根线就行了。 |
|
相关推荐
2个回答
|
|
没玩过
|
|
|
|
没看到你的全部程序和问题啊???
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1712 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
887 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1269 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1740 浏览 1 评论
552 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-13 06:20 , Processed in 0.535845 second(s), Total 77, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号