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

SPI引脚能否间歇当作外部中断引脚?

[复制链接]
any_014 提问时间:2016-4-18 13:43 /
悬赏1ST金币已解决
请教个问题:stm32的spi和另一个元件通讯,stm32当主设备发送命令结束后,等从设备采样处理,处理结束后把MISO线拉低,通知stm32处理结束可以读取数据了。

原来是stm32发送完命令后就一直等着,等到MISO引脚被拉低后才发送读取数据命令。
现在觉得等待太浪费时间了,想在这段时间内做些其他数据处理。
那么,能把MISO引脚定义为外部中断吗?

最佳答案

查看完整内容

你可以试试把主机发完命令后将MISO脚配置为EXIT功能脚,在EXTI里再把配置为MISO,然后做SPI通信。
收藏 评论3 发布时间:2016-4-18 13:43

举报

3个回答
xmshao 回答时间:2016-4-18 13:43:28

你可以试试把主机发完命令后将MISO脚配置为EXIT功能脚,在EXTI里再把配置为MISO,然后做SPI通信。
any_014 回答时间:2016-4-18 15:14:54
  1. void PB4_ExintEnable(u8 en)
  2. {
  3.         GPIO_InitTypeDef GPIO_InitStructure;
  4.         EXTI_InitTypeDef EXTI_InitStructure;
  5.         if(en)
  6.         {
  7.                 GPIO_EXTLineConfig(GPIO PortSourceGPIOA, GPIO_PinSource0);
  8.                 EXTI_InitStructure.EXTI_Line = EXTI_Line;
  9.                 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  10.                 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;                //ϽµÑØÖжÏ
  11.                 EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  12.         }
  13.         else
  14.         {
  15.                 EXTI_InitStructure.EXTI_LineCmd = DISABLE;
  16.         }
  17.         EXTI_Init(&EXTI_InitStructure);
  18. }
复制代码


这样写,不知道行不行。
joe_chen 回答时间:2016-4-18 21:23:06
楼上的方法可以的,或者开个定时器,隔断时间检测下IO口

所属标签

相似问题

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