历史上的今天
今天是:2025年02月11日(星期二)
2020年02月11日 | MSP430G2553学习笔记 DAY2 中断学习及初始化设置
2020-02-11 来源:eefocus
IO中断的使用
1.寄存器
PxIE IO中断使能寄存器
PxIES 中断触发边沿选择。0上升沿,1下降沿
PxIFG 中断标志位寄存器。事件发生后被置1,响应后需要手动置0
寄存器的使用方法与day1相同,不再赘述
2.中断函数的写法
#pragma vector=PORT1_VECTOT;
//#pragma为系统编译指令;vector=后加中断向量地址的宏定义,如定时器TIMER0_A1_VECTOR;
__interrupt void PORT1(void)
//__interrupt中断服务关键字(前面是两道下划线);PORT1为函数名,可自定义
{
//用户代码
}
3.按键通过中断控制LED
根据按键S2的状态,控制绿色LED灯。每按下S2一次,LED改变一次亮灭状态。
#include int main() { WDTCTL = WDTPW | WDTHOLD; P1DIR = BIT6; P1REN = BIT3; P1OUT = BIT3; P1IE = BIT3;//开P1.3中断 P1IES = BIT3;//P1.3中断触发边沿选择下降沿,0为上升沿,1为下降沿; P1IFG &= ~BIT3;//P1.3中断标志位置0 _BIS_SR(GIE);//开总中断 while(1) { __no_operation(); //什么都不做 } } #pragma vector=PORT1_VECTOR __interrupt void PORT1(void) { P1OUT ^= BIT6; P1IFG &= ~BIT3;//中断标志位置0 } 完成GPIO初始化后,务必要使用_BIS_SR(GIE)指令来开总中断,否则不会相应中断请求。
上一篇:msp430 PWM周期计算
史海拾趣
|
大家好,现在再做一个串口通讯的程序,数据量比较大,通讯协议知道,已经能正常通讯,不过发现经常是数据收发一段时间之后会乱掉,就是没有按要求收发了,我这里面有校验的,校验不成功重新发送,最多允许重复十次,而且发现最后错的主要是一包数据 ...… 查看全部问答> |
|
看了这么多资料,感觉还是不知道究竟fpga输出到外部sdram的时钟该怎么配置,大多数应该都是fpga内部sdram控制器用一个clk,外部sdram用另一个clk,这两个clk之间有相位差,如果sdram控制器和外部sdram用同一个clk行不行呢?还有就是送到外部sdram的 ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 13:22 编辑 F2812的板子做好了,用XDSUSB510的仿真也可以正常连接,烧写一个LED的亮灯程序,烧写过程是正常的,所有过程都“Succeeded”的了,但是定位在GPIOE1口的LED灯就是不亮。 硬件方面:+3.3V->100欧电 ...… 查看全部问答> |
|
啥也不多说,代码先上,图片效果贴上,附件下载工程,可以到Qt Creator里面去运行,我用的版本是4.7.0 运行效果: 代码 /*设置窗口信息*/ this->resize(320,205); this->setMaximumSize(320,205); t ...… 查看全部问答> |
|
刚搞了个VS1053模块,就试着弄弄正弦测试成功了,但是读寄存器总是不对uint8 RxFlag=0;uint8 RX_DATA[2];void SPI_Init(){ U0CTL = CHAR + SYNC + MM + SWRST; &nbs ...… 查看全部问答> |
|
求教了!!! 如下图,在构造多个电容器阵列时,左侧为同一高度上等间距布置的极板,右侧为构成多个电容器的公共极板,电容器是共用右侧极板(也可以理解为公共地端),好了,现在问题来了,就是在测量的时候,没有进入到液体里的电容器的电容量理 ...… 查看全部问答> |




