TI中文支持网
TI专业的中文技术问题搜集分享网站

UART通信的中断问题

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.

赞(0)
未经允许不得转载:TI中文支持网 » UART通信的中断问题
分享到: 更多 (0)