完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
各位大神,有没有人在MSP430F149上移植过UCOSII并且用它写过中断函数,我现在想在移植后的操作系统里面写开门狗的中断服务程序,会的人能不能教教我。这是我创建的一个任务并且写的中断函数,但是不行,能不能帮我看看是什么问题。
void task3(void *pdata) { pdata = pdata; /* 无任何意义,防止编译器报警 */ WDTCTL = WDT_MDLY_32; /* 设置时钟节拍间隔为32ms */ /*下面六行程序关闭所有的IO口*/ P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; WDTCTL = WDT_MDLY_32; // 设置内部看门狗工作在定时器模式,1000ms中断一次 IE1 |= WDtiE; // 使能看门狗中断 P6DIR |= BIT2;P6OUT |= BIT2; //打开数码管,关闭流水灯和电平转换 P4DIR = 0xff; //设置P4,P5的IO方向为输出 P5DIR = 0xff; P4OUT = 0x00; //设置P4,P5的输出初值 wei_h; wei_l; P5OUT = 0xff; _BIS_SR(LPM3_bits + GIE); //CPU进入LPM3低功耗模式,同时打开全局中断 #pragma vector=WDT_VECTOR __interrupt void watchdog_timer(void) { P4OUT = scandata[cnt]; //输出段选信号 duan_h; duan_l; P4OUT = 0x00; //设置P4,P5的输出初值 wei_h; wei_l; cnt++; //位计数变量在0~5之间循环 if(cnt == 16) cnt = 0; } } |
|
相关推荐
1个回答
|
|
貌似我已经解决了这个问题,就是像使用430正常的中断一样把中断单独拿出来就行了。
|
|
|
|
只有小组成员才能发言,加入小组>>
3024个成员聚集在这个小组
加入小组2908 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3529 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2333 浏览 1 评论
4792 浏览 1 评论
2565 浏览 1 评论
1305浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3543浏览 2评论
2908浏览 1评论
1486浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 15:31 , Processed in 1.558895 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号