中断分类
定时器中断
外部中断
串口中断
以上为自己遇到的中断总结,不是专业的中断分类
串口通信终端
一、如何接收一串数据
不管数据多少,串口都是一个字节一个字节的收的
如何设计,思路等,后续补充。
二、进入中断的条件
进入串口中断至少应该具备四个条件:
- 第一,串口使能;
- 第二,串口中断使能;
- 第三,开总中断;
- 第四,设置对应的中断向量及中断服务函数。
注意: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 中断函数 外部中断
引用地址:
MSP430中断相关
推荐阅读最新更新时间:2024-11-02 22:33
MSP430F5529单片机程序整理(串口、AD、定时器等)
#include msp430.h #include stdint.h #include uart.h #include Flash.h #include ad.h #include stdio.h #include string.h #define CPU_F ((double)1000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/
[单片机]
MSP430系统应用结构设计与选型
1 MSP430 简介 MSP430是TI公司推出的16位单片机系列产品,在电池供电的低功耗应用中具有独特的优势。其工作电压为1.8~3.6 V,正常工作时功耗可控制在200μA左右,低功耗模式可实现2μA甚至O.1μA的低功耗。MSP430系列单片机作为性能优异的MCU在中国已经得到了广泛的应用。MSP430具有高集成度,通常在单个芯片上集成了12位的A/D转换器、比较器、多个定时器,以及片内USART、看门狗、片内DCO等。一般单片就可满足大多数的应用需要。 MSP430单片机的程序存储器是Flash存储器,并且支持JTAG在线编程,可以方便地实现程序的下载、仿真、调试和升级。 目前整合性最好的MSP430F44X系列
[单片机]
msp430g2553的adc采样精度问题
问题:用官方例程进行ad采样发现直流采样值非常抖,只有百位上数值不抖。 解决:1,ad采样须考虑采样基准电压稳不稳,对于2553来说,其基准电压可以设置为内部1.5v,2.5v,vcc。或者外部基准电压(0-vcc)。 2,采样频率,一般来说极高采样频率与极高准确度不可兼得。采样频率太高很可能造成电容的充电未满,对于2553只有两个采样频率50k,200k,都不算很高。对精度基本没影响。 3,采样保持时间,采样保持时间过长,电容的电荷流失得越多造成采样不准。所以采样保持时间必须得找到合适的值。对于2553采样的保持时间是与adc时钟有关的,所以adc时钟分频和采样保持时间须得联合考虑(一度只改了采样保持时间,没注意这个
[单片机]
基于MSP430单片机的多路无线温度检测系统
0 引言 温度在人类日常生活中扮演着极其重要的角色,同时在工农业生产过程中,温度检测具有十分重要的意义。现阶段温度检测主要是有线定点温度检测,其温度检测原理为单片机利用温度传感器检测温度,并在数码管或LCD上进行温度显示。同时由于系统没有报警功能,故需要人为来判断是否需要进行升温或者降温,这使系统的检测丧失了实时性。另外,在某些环境恶劣的工业环境,以人工方式直接操作设置仪表测量温度也不现实,因此采用无线方式进行温度检测尤为必要。 目前有些设计能够实现无线温度采集,但功耗过高是其最大的缺点。在实际温度控制过程中既要求系统具有稳定性、实时性,又需要使系统功耗低及保证温度的均匀性,因此设计一种低功耗的多点无线温度检测系统很有意义
[单片机]
我的HD7279学习笔记——基于msp430g2553
Created on: 2012-9-7 Author: zhang bin 学习笔记 for msp430g2553 redesigned by zhang bin 2012-09-07 versions :12_09_01 All Rights Reserved HD7279的基本说明如下: HD7279是一片具有串行接口的,可同时驱动8位共阴式数码管(或64只独立led)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成led显示、键盘接口的全部功能。 HD7279内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式。此外,还具有多种控制指令
[单片机]
MSP430中断的一个细节问题
关于中断标志: 从SPI发送一字节数据: void SPI_Set_SD_Byte(unsigned char txData) { UCB0TXBUF = txData; // 写入发送缓冲区 while ((UCB0IFG & UCTXIFG) == 0); // 等待发送完毕 } 分析:以9600bps 发送一字节 1ms估算,而以12MHz时钟执行(UCB0TXBUF = txData;)需要时间大概1us, 因此可怕的事情发生了,要等待发送完毕需要浪费3999个CPU周期去查询。如果等待过程换成休眠多好啊! 看下面程序: void SPI_Set_SD_Byte(unsign
[单片机]
电压采集与电流采集电路
采样电路为电压采集与电流采集电路,采样电路如图3所示。其中P6.O,P6.1为MSP430芯片的采样通道,P6.O为电压采集,P6.1为电流采集。 电压采集 因为采样信号要输入单片机MSP430内部,其内部采样基准电压选为2.5 V,因此要将输入的采样电压限制在2.5 V之下,考虑安全裕量则将输入电压限制在2 V以下,当输入电压为36 V时,采样电压为:12/(12+200)×36=2.04 V,符合要求。 电流采集 采用康铜丝进行采集。首先考虑效率问题,康铜丝不能选择过大,同时MSP430基准电压为2.5 V,且所需康铜丝需自制。考虑以上方面在康铜丝阻值选取上约为O.1Ω。3.3 PWM驱动电路的设计
[单片机]
利用MSP430FR4xx实现红外遥控
红外遥控采用红外(IR)光来传送信息。发射器MCU的调制信号控制IR LED发射红外光。调制能够帮助接收器把需要的信号与所有其他的红外噪声源区分开来。调制的实现过程是用带有有效信息的包络信号对载波信号(通常是一个具有较高频率的方波)进行调制。 接收器采用光电二极管把IR光转换为电流。通常使用跨阻抗放大器将电流转换为电压;在解调前,该电压将通过一个增益放大器和滤波器。载波信号在解调过程中去除。解调信号可直接连接至接收器的MCU用于解码。 红外遥控调制和编码理论 所有的新式红外遥控设计均采用数字调制。两个基本的数字调制技术是幅移键控(ASK)和频移键控(FSK)。ASK通过改变载波幅度来表示逻辑1和0,而FSK则采用两种不同的载波频
[单片机]