你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

将SPI发送函数放到for循环里程序就出问题。

[复制链接]
any_014 提问时间:2015-11-27 16:03 /
用STM32的SPI和一个芯片通信,发现从设备的片选信号总是导通很短的时间,然后才有SCLK脉冲。
后发现,SPI发送函数不放在for循环里就没事。
  1. unsigned char SPI_Read(unsigned char slaveDeviceId,
  2.                        unsigned char* data,
  3.                        unsigned char bytesNumber)
  4. {
  5.         u8 i;
  6.         u8 retry = 0;
  7.         while(SPI_I2S_GetFlagStatus(SPI3, SPI_I2S_FLAG_TXE) == RESET)        //µÈ´ý·¢ËÍÈ¥¿Õ
  8.         {
  9.                 retry++;
  10.                 if(retry > 200)
  11.                         return 0;
  12.         }
  13.         for(i = 0; i < bytesNumber; i++)
  14.         {
  15.                 SPI_I2S_SendData(SPI3, *data);                        //ͨ¹ýÍâÉèSPIx·¢ËÍÒ»¸öÊý¾Ý
  16.                 retry = 0;
  17.                 while(SPI_I2S_GetFlagStatus(SPI3, SPI_I2S_FLAG_RXNE) == RESET)        //µÈ´ý½ÓÊÕÍêÒ»¸öbyte
  18.                 {
  19.                         retry++;
  20.                         if(retry > 200)
  21.                                 return 0;
  22.                 }
  23.         }
  24.         *data = SPI_I2S_ReceiveData(SPI3);                //·µ»Øͨ¹ýSPIx×î½ü½ÓÊܵÄÊý¾Ý
  25. }
复制代码


收藏 评论0 发布时间:2015-11-27 16:03

举报

0个回答

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版