完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
写了个MSP430g2553的io中断程序,发现在我硬件仿真时,(初始化为P1.0P1.6为输出,P1.345为上拉输入),在按键按下之后,读取IO的P1IFG寄存器值,发现PIIFG的第6位莫名置一,我想问为什么会这样,这种情况怎么解决;谢谢各位了#include "io430.h"
#define CPU_F ((double)1000000)//设置时钟频率改变延时,为mcl时钟频率 #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))//微秒级 #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))//毫秒级 #define Led_Green P1DIR |=BIT6;P1OUT ^=BIT6; void KeyGpio_Init() { P1DIR|=BIT0; //P1.0为输出 P1OUT &=~BIT0; P1DIR &= ~(BIT3+BIT4+BIT5);//设置P1.345为输入 P1REN |=BIT3+BIT4+BIT5;//启动内部上下拉电阻 P1OUT |=BIT3+BIT4+BIT5;//设置为上拉电阻 P1IFG =0; //P1IFG &=~(BIT3+BIT4+BIT5); P1IE |=BIT3+BIT4+BIT5;//设置中断使能(位 = 1:中断被启用。) P1IES |= BIT3+BIT4+BIT5;//位 = 1:用一个高电平到低电平转换来设定 PxIFGx 标志 __enable_interrupt(); //使能中断,这是一个C编译器支持的内部过程。 } void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; DCOCTL=CALDCO_1MHZ; BCSCTL1=CALBC1_1MHZ; KeyGpio_Init(); while(1) { Led_Green; delay_ms(500); } } #pragma vector = PORT1_VECTOR//TIMER0_A0_VECTOR __interrupt void Port_1( void )//目标1s进一次中断 { //__enable_interrupt(); //使能中断,这是一个C编译器支持的内部过程。 // unsigned int Bool = 0; // Bool = P1IFG & (~P1DIR);//通过中断标志读出触发中断的键值 // delay_ms(1);//延时消除抖动 // if((P1IN&Bool)==0)//判断中断键值与当前按键按下的键值是否对应(由于IO默认设置为高电平,按下为低) // { // switch(Bool) // { // case BIT3: // P1OUT ^= BIT0; // break; // case BIT4: // P1OUT ^= BIT0; // break; // case BIT5: // P1OUT ^= BIT0; // default: break; // } // // } switch(P1IFG) { case 0X08: P1OUT ^= BIT0; break; case 0X10: // P1OUT ^= BIT0; break; case 0X20: // P1OUT ^= BIT0; default: break; } // P1OUT ^= BIT0; P1IFG =0; // P1IFG &=~(BIT3+BIT4+BIT5); }
|
|
相关推荐
2个回答
|
|
谢谢各位问题解决了
|
|
|
|
谢谢各位问题解决了
|
|
|
|
只有小组成员才能发言,加入小组>>
2631个成员聚集在这个小组
加入小组MSP430FR5994 使用库函数 定时器触发AD问题请教
1610 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2169 浏览 1 评论
4565 浏览 1 评论
2366 浏览 1 评论
1705 浏览 1 评论
706浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
1624浏览 2评论
930浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-20 02:28 , Processed in 0.967936 second(s), Total 48, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号