原创 SJA1000中断的一点理解

2010-5-7 19:49 5897 10 10 分类: MCU/ 嵌入式

SJA1000中断的一点理解


SJA1000可提供中断方式和查询方式接收和发送数据。先说发送中断,若不做特殊要求不必利用发送中断,只要将数据写入发送缓冲区,启动发送命令就可以了,完全可以实现数据的发送,其实数据发送完毕时,若中断打开,则会产生一个中断,可通知我们在中断程序中做一些特殊事件的处理,如:(1)中止发送的报文(即要处理临时缓冲区中未发送的报文或是说上次未成功发送的报文),以免一直检查TCS(发送完毕状态位),采用中断可带有目的性的处理。(2)进入中断后对指示灯进行处理如网络状态灯,故障灯,若是查询,则需要不停的查询状态寄存器,以确定发送的数据是否成功,再对指示灯进行相应的操作。有中断产生可以告知我们有目的的对状态寄存器进行读取或是在中断服务程序中对特殊数据进行处理(未成功发送的报文)


而接收中断则显得很有必要,在效率和实时性比去年同期下降采用查询方式得到更大的提高,否则CPU要以一定的周期读取CAN控制器的状态寄存器,以检查接收缓冲区状态标志位(RBS)指示是否至少接收到一个报文。


无论是接收中断还是发送中断,在中断处理时,应先关闭中断,处理完毕后打开中断。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
10
关闭 站长推荐上一条 /3 下一条