OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7121|回复: 4

stm32 中断服务函数执行时间的问题

[复制链接]

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2015-4-20
在线时间
0 小时
发表于 2015-5-16 20:31:58 | 显示全部楼层 |阅读模式
5金钱
void SPI2_IRQHandler(void)
{
   uint16_t temp;
if ( (SPI_I2S_GetITStatus(SPI2, SPI_I2S_IT_TXE) == SET))
{                
if ((Out_Data_Offset < In_Data_Offset))
{
if ((channel++) & 1)
{
temp = (Stream_Buff[Out_Data_Offset] )| (Stream_Buff[Out_Data_Offset+1] << 8);
SPI_I2S_SendData(SPI2, temp);
                            Stream_Buff[Out_Data_Offset]=0;
                            Stream_Buff[Out_Data_Offset+1] = 0;
                            Out_Data_Offset = Out_Data_Offset + 2;
                           //In_Data_Offset++;
                        }
else
{
temp = (Stream_Buff[Out_Data_Offset] )| (Stream_Buff[Out_Data_Offset+1] << 8);
SPI_I2S_SendData(SPI2, temp);
                     
}               
}
}
像这个spi的处理函数,进入中断过后,if语句只执行一次,那怎么保证把streambuff里面的数据读出来,还是if ( (SPI_I2S_GetITStatus(SPI2, SPI_I2S_IT_TXE) == SET))这句语句有它的执行时间,一直在这里执行,求解。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-5-16 22:33:37 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-5-17 01:21:32 | 显示全部楼层
你不发送数据了还进入这里?
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2015-4-20
在线时间
0 小时
 楼主| 发表于 2015-5-19 22:44:50 | 显示全部楼层
回复【3楼】八度空间:
---------------------------------
我要发送数据啊,我就据说不清楚,怎么把全部的数据发出去,十多次进入中断吗
回复

使用道具 举报

19

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
440
金钱
440
注册时间
2015-2-12
在线时间
40 小时
发表于 2015-6-12 14:27:48 | 显示全部楼层
回复【4楼】我是前行的狮子:
---------------------------------
中断应该是有触发条件的吧?满足触发条件就进入中断服务函数了呗?
从不脑残粉,也不跟风黑。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-22 07:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表