STM8 SPI 例程 通信出错
时间:11-10
来源:互联网
点击:
这个STM8的SPI通信也够奇葩的,跟STM32有大区别。光判断发送空和接收空的标志还不行,还必须判断忙标志位,而且读数的时候要等忙标志完毕才能读,废话少说上代码:
这是一段发2字节收2字节的代码,注意如果第二个字节接收才有效的话,也需要发送第二个字节才能提供时钟进行接收:
- GPIO_WriteLow(GPIOA,GPIO_PIN_3);
- while(SPI_GetFlagStatus(SPI_FLAG_TXE)==RESET){}
- SPI_SendData(0x80|0x75);
- while(SPI_GetFlagStatus(SPI_FLAG_BSY)==SET){}
- while(SPI_GetFlagStatus(SPI_FLAG_RXNE)==RESET){}/*¸Ã×Ö½Ú¶ªÆú*/
- ret1=SPI_ReceiveData();
- while(SPI_GetFlagStatus(SPI_FLAG_TXE)==RESET){}
- SPI_SendData(0x75);
- while(SPI_GetFlagStatus(SPI_FLAG_BSY)==SET){}
- while(SPI_GetFlagStatus(SPI_FLAG_RXNE)==RESET){}
- ret2=SPI_ReceiveData();
- GPIO_WriteHigh(GPIOA,GPIO_PIN_3);
STM8SPI通信出 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)