MSP430中断相关

中断分类

  1. 定时器中断
  2. 外部中断
  3. 串口中断
    以上为自己遇到的中断总结,不是专业的中断分类

串口通信终端

一、如何接收一串数据

不管数据多少,串口都是一个字节一个字节的收的
如何设计,思路等,后续补充。

二、进入中断的条件

进入串口中断至少应该具备四个条件:
- 第一,串口使能;
- 第二,串口中断使能;
- 第三,开总中断;
- 第四,设置对应的中断向量及中断服务函数。
注意:USART模块初始化的顺序是:SWRST=1的情况下设置串口;后设置SWRST=0使模块正常工作;最后如果需要中断,则设置相应的中断使能。即,中断使能要在SWRST=0后设置

如下程序中相应为:

  • ME2|=UTXE1+URXE1;//串口发送、接收使能;

  • IE2|=URXIE1;//串口接收中断使能;

  • _EINT(); //开总中断;

  • 中断向量#pragma vector=UART1RX_VECTOR //接收中断向量。

三、中断标志位

当发送缓冲区UTXBUF中装入数时,发送中断标志位UTXIFGx被置位,即置1;当退出发送中断后,UTXIFGx自动被清0;有时需要IFG1&=~UTXIFG0操作是为清除POR造成的UTXIFG0置位;
因:当发生PUC或者SWRST=1时,UTXIFGx被置位。

每当有数据被收到并且装入到URXBUF中时,接收中断标志位URXIFGx被置位,即置1;当中断服务程序被启动或URXBUF被读出,URXIFGx自动复位。

四、中断使能位

IE1 |= UTXIE0;
IE1 |= URXIE0;

目前,还不是十分清楚其中机理,需要日后逐渐完善。

外部中断

P1和P2口的每个管脚都有中断功能
外部中断配置过程:

P1DIR &= ~BIT3;
P1IES = BIT3;
P1IE = BIT3;
P1IFG = 0;

_EINT();

第一步,将 第一步,将 第一步,将 P1DIR中的按键引脚设置为输入
第二步,设置 BIT3 位为下降沿中断,0为上升沿中断
第三步,打开 P1 BIT3 的中断
第四步,确认清空中断标志(外部进入之后不会自动除要手第四步,确认清空中断标志(外部进入之后不 会自动除要手
最后,打开总中断。

中断标志位

外部中断进入后不会自动清除中断标志,要手动清除,不然会持续进入中断函数。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章