1.接收中断:当接收到数据时产生中断,读取了数据后,假如之后中断程序要处理的指令很 多,这时又接受到一个数据,但还在中断程序中,这时会处理完这个中断后再次 进入中断吗?
2.发送中断:疑问跟接收一样。还有:发送中断标志上电是置位的,我软件将其置零,这时候 发送BUF是空的,这发送标志还会马上自动置位吗?
用的是F149
step by step:
你好,
关于问题1,答案应该是不会的,所以需要楼主不要在中断服务程序中做太多的操作
问题2答案应该是是的,只要buf为空就会马上置位
kqian0327:
你好,
以接收中断为例,你可以这样理解。
当PC在main函数里面跑,如果来了一个数据。中断产生,进入中断处理程序。
在中断处理程序如果再来中断,分四种情况:
在中断开始清IFG
第一,你已经读取buf数据,那么读完之后还没退出,buf又进数据,IFG置位,退出该中断立即有进来。
第二,没读buf又来数据,之前数据被覆盖,下次再进,数据还是最后一次数据 。
在中断末清IFG
只接受一次数据,退出前清了IFG,在中断又来的一次数据被忽略。
yong jian you:
回复 kqian0327:
kqian0327
你好,
以接收中断为例,你可以这样理解。
当PC在main函数里面跑,如果来了一个数据。中断产生,进入中断处理程序。
在中断处理程序如果再来中断,分四种情况:
在中断开始清IFG
第一,你已经读取buf数据,那么读完之后还没退出,buf又进数据,IFG置位,退出该中断立即有进来。
第二,没读buf又来数据,之前数据被覆盖,下次再进,数据还是最后一次数据 。
在中断末清IFG
只接受一次数据,退出前清了IFG,在中断又来的一次数据被忽略。
kqian0327:
回复 yong jian you:
你好,
看你在什么清。
如果你清零IFG之后还在中断服务函数里面处理其他东西,而下一次中断又到来,你的IFG就会由置1.
yong jian you:
回复 kqian0327:
kqian0327
你好,
看你在什么清。
如果你清零IFG之后还在中断服务函数里面处理其他东西,而下���次中断又到来,你的IFG就会由置1.