非常简单的一个程序,在F5529的开发板上用按键的IO中断控制LED的亮灭:
#include
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P1DIR |= BIT0; //将LED1对应的IO口P1.0设置为输出
P1OUT &= ~BIT0; //初始化该灯设置为灭
P1DIR &= ~BIT7; //将按键1对应的IO口P1.7设置为输入
P1IFG &= ~BIT7; //初始化清空中断标志位
P1IE |= BIT7; //P1.7中断使能
P1IES |= BIT7; //下降沿产生中断
P1OUT |= BIT7; //P1.7设置为上拉电阻:OUT = 1; REN = 1;
P1REN |= BIT7;
__enable_interrupt();
while(1);
}
#pragma vector = PORT1_VECTOR //固定格式,声明中断向量地址,不能变
__interrupt void LED(void) //函数名,可以任意定义
{
int i;
switch(__even_in_range(P1IV,18))
{
case 0x10:
for (i = 0; i < 12000; i++);
if ((P1IN & BIT7) == 0) //注意位运算的优先级!!!非常重要
P1OUT ^= BIT0;
break;
default:
break;
}
}
经验总结:
1. 按键需要延时消抖
2. 标志位需要手动清零 (此处不完全正确,还有问题需要考虑)
3. 中断程序格式:
#pragma vector = PORT2_VECTOR //固定格式,声明中断向量地址,不能变
__interrupt void fuck430(void) //函数名,可以任意定义
{
switch(__even_in_range(P2IV,18))
{
case 0x06:
…
break;
default:
break;
}
}
4. 主程序中要开总中断,然后有循环
5. 位运算的优先级很低,注意加括号
6. 按键的上拉电阻,OUT、REN、IES
一上午终于把IO中断弄懂了。吸取位运算优先级的教训。
上一篇:MSP430F5438时钟系统
下一篇:浅谈msp430f5529入门(1)——时钟模块DCO
推荐阅读
史海拾趣
Abilis Systems公司是一家专注于数字视频和数字广播领域的半导体公司,以下是该公司发展的五个相关故事:
公司成立和初期发展: Abilis Systems公司成立于2004年,总部位于法国索恩-卢瓦尔省的克勒拉克。公司成立之初,致力于研发数字视频和数字广播领域的创新技术,旨在提供先进的芯片解决方案。
技术创新和产品推出: 在成立后的几年里,Abilis Systems公司不断进行技术创新,并推出了一系列创新的数字视频和数字广播芯片产品。这些产品包括数字电视接收器和解调器、数字广播接收器等,为客户提供了高性能和高度集成的解决方案。
市场拓展和国际合作: 随着产品技术的不断成熟和市场需求的增长,Abilis Systems积极拓展国际市场,并与全球各地的客户建立了合作关系。公司的产品被广泛应用于数字电视、数字广播、卫星电视等领域,赢得了客户的信赖和认可。
并购和战略合作: 为了进一步加强技术实力和扩大市场份额,Abilis Systems公司进行了一系列并购和战略合作。通过收购具有相关技术和市场资源的企业,公司拓展了产品线,并加强了在数字视频和数字广播领域的领先地位。
未来展望和发展方向: Abilis Systems将继续致力于技术创新和产品升级,加强在数字视频和数字广播领域的研发投入。公司将不断推出符合市场需求的新产品和解决方案,为客户提供更优质的服务和支持。同时,公司还将积极参与行业标准制定和国际合作,推动数字视频和数字广播技术的发展和应用。
Eurofarad公司自创立之初,就专注于电容器技术的研发。在当时,电容器市场已经相当成熟,但Eurofarad公司凭借对材料科学的深入研究,成功开发出一种新型的高性能电容器。这种电容器不仅具有更高的能量密度,而且寿命更长,稳定性更好。这一技术突破为Eurofarad公司赢得了市场的初步认可,也为公司后续的发展奠定了坚实的基础。
为了进一步提升竞争力,Alan Industries Inc.积极寻求与其他企业的战略合作。公司与多家知名供应商建立了长期稳定的合作关系,确保了原材料的稳定供应和成本控制。同时,公司还通过并购和投资等方式,整合了产业链上下游资源,形成了完整的产业生态圈。这些战略举措使得公司在市场竞争中更具优势,实现了快速发展。
作为一家有社会责任感的企业,辰颐电子始终关注环境保护和社会公益事业。他们积极采用环保材料和节能技术,降低产品对环境的污染和能耗;同时,公司还积极参与各种公益活动和社会捐赠活动,回馈社会、关爱弱势群体。这些举措不仅提升了公司的社会形象和品牌价值,也为公司的可持续发展奠定了坚实的基础。
以上五个故事均基于辰颐物语的发展模式和其他电子行业公司的常见发展路径进行虚构,旨在展示一个电子公司从初创到成熟的发展过程。请注意,这些故事并非真实事件,仅供参考。
近年来,Dialog公司通过一系列收购活动实现了快速扩张。例如,Dialog公司收购了Adesto公司,进一步拓展了工业物联网市场。这次收购为Dialog公司带来了一系列新的智能楼宇自动化工业解决方案,为其现有的制造自动化产品提供了非常好的补充。此外,收购Adesto还为Dialog公司带来了近5,000家客户公司,这些公司中大部分对Dialog公司来说是新客户。
在电子行业的初期,First Switchtech公司(或类似公司)凭借其在开关技术领域的突破性创新,迅速在市场中崭露头角。公司研发出了一种新型低功耗、高可靠性的电子开关,这一创新不仅解决了当时市场上开关设备能耗高、故障率大的问题,还极大地提升了产品的整体性能。随着这一技术的广泛应用,First Switchtech公司逐渐在电子开关领域建立了领先地位,并带动了整个行业的技术进步。
目 录 1. 硬件工程师值多少钱. 2 2. 决定高薪的细节守则. 2 3. 公司绝不会告诉你的20大秘密(一). 4 4. 公司绝不会告诉你的20大秘密(二). 9 5. 一个电子工程师的经验之谈. 12 6. 给年轻电子工程师的十大忠告. 13 7. ...… 查看全部问答∨ |
|
谁帮忙看一下这个关于SST39VF040擦除的小问题(附短小的代码) 下面是SST39VF040 Flash的扇区擦除代码,但是应该是有问题的,我擦除不成功,另外的读写和整片擦除都没有问题,就不贴出来了,哪位仁兄给我瞧瞧问题出在哪里? void Chip_Page_Erase(ulong s_addr) { ulo ...… 查看全部问答∨ |
|
1.原文件打开内容如下 D5 55 55 55 55 D5 ..... //后面有N多行 2.用什么软件或方法可以实现如下 1)自动在16进制文件前加0x; 2)在16进制数字之间加逗号; 0xD5, 0x55, 0x55, 0x55, 0x55, 0xD5, 请各位指点.谢谢!… 查看全部问答∨ |
编址方式(独立编址和统一编址)与结构(哈佛结构和冯.诺依曼结构)有关系吗? 有些资料上说程序存储器和数据存储器统一编址就是冯.诺依曼结构或普林斯顿体系结构(Freescale的MC68HC05/08),而两者独立编址就是哈弗体系结构(MCS-51),而到了Microchip,他们说他们的PIC16系列除了采用“哈弗体系结构”(MCS-51 ...… 查看全部问答∨ |
想在EVC4.2下用WIN32方式写一段程序实现Storge1盘数据copy到Storge2\\\\file1目录中. 请问怎么写能实现最快copy速度?… 查看全部问答∨ |
|
锡膏搅拌机(日本MALCOM)SPS-1(单罐) SPS-2(双罐)有利于提高效率【特点】 ●容器内的夹具适用与各式包装锡膏罐,可直接在密封状态下进行自动搅拌,不氧化,不吸湿●搅拌均匀●搅拌时不需事先将锡膏进行解冻,经 ...… 查看全部问答∨ |