历史上的今天
今天是:2025年02月05日(星期三)
2020年02月05日 | MSP430中断相关
2020-02-05 来源:eefocus
中断分类
定时器中断
外部中断
串口中断
以上为自己遇到的中断总结,不是专业的中断分类
串口通信终端
一、如何接收一串数据
不管数据多少,串口都是一个字节一个字节的收的
如何设计,思路等,后续补充。
二、进入中断的条件
进入串口中断至少应该具备四个条件:
- 第一,串口使能;
- 第二,串口中断使能;
- 第三,开总中断;
- 第四,设置对应的中断向量及中断服务函数。
注意: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 的中断
第四步,确认清空中断标志(外部进入之后不会自动除要手第四步,确认清空中断标志(外部进入之后不 会自动除要手
最后,打开总中断。
中断标志位
外部中断进入后不会自动清除中断标志,要手动清除,不然会持续进入中断函数。
上一篇:关于MSP430中断机制
史海拾趣
|
上面这张令人震惊的照片展示了世界最高建筑哈利法塔遭闪电击中时的场面。 照片的拍摄者是一位23岁名叫穆罕默德·哈姆丹的学生,来自巴基斯坦,目前在阿联酋攻读建筑工程学。当时,迪拜正遭受暴风雨的袭击。雷电中,高达828米的哈利法塔在紫色的 ...… 查看全部问答> |
|
hmc5883的程序有人做过么?我的程序哪里出问题了?本人菜鸟,见笑了。 调了好几个小时了,就是不知道问题在哪里,请高手们指点。 测量先不说,就是怎么读寄存器都没弄清。 看了中文的pdf了,但是还是没搞懂,先看看我的程序吧。 程序部分(已近将无关部分删除): uchar code table[]=\"0123456789\"; //////////// ...… 查看全部问答> |
|
已经用其他程序试验过了,不是xdata的问题,xdata里的数据能正常使用。我在用51做一个32点的fft。 部分代码如下: #include #include #define uchar unsigned char #define uint unsigned int ...… 查看全部问答> |
|
我在网上买了一块PS2的数字小键盘,就是传统台式机键盘最右边的数字键部分。 学习了一下PS2及扫描编码相关内容,看懂了程序,但是,由于小键盘只有部分按键,有的键还是不能读取。 0—9数字键是可以输入的,小键盘的enter也能读取,但+、-、*、/ ...… 查看全部问答> |




