完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位大佬,想请教一下,我在IO下降沿中断中服务程序中打开了总中断,每隔5ms进入一次定时器的中断,就会出现IO中断中串口发送数据有问题,请问我要实现这个功能有什么修改方法吗?
部分代码如下: // AD采样中断服务程序,定时5ms #pragma vector=tiMER0_A0_VECTOR __interrupt void TimerA(void) { P4OUT ^= BIT4; ADC12CTL0 |= ADC12SC; // 开始AD转换 while (!(ADC12IFG & BIT0)); // 判断转换是否完成 if(ecg_cnt < ECG_Length) ecg[ecg_cnt++] = ADC12MEM0; // AD值存入数组 } // IO中断服务程序,下降沿中断 #pragma vector=PORT1_VECTOR __interrupt void Port_1(void) { _EINT(); int i; for(i=10;i>0;i--) { if(P1IN&BIT4) break; delay_ms(1); } if (i == 0) { P2SEL &= ~0x01; P2DIR |= 0x01; P2OUT = 0x01; delay_ms(50); Open_Timer1_A0(); while (!(UCA0IFG&UCTXIFG)); // USCI_A0 TX buffer ready? UCA0TXBUF = 0xAA; while (!(UCA0IFG&UCTXIFG)); delay_ms(33); Close_Timer1_A0(); } P2SEL &= ~0x01; P2DIR |= 0x01; P2OUT = 0x01; P1IFG &= ~BIT4; // 手动清除标志位 } |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
2613个成员聚集在这个小组
加入小组请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2069 浏览 1 评论
4425 浏览 1 评论
2248 浏览 1 评论
1606 浏览 1 评论
用MSP430F5529和LCD12864完成俄罗斯方块的程序
2588 浏览 1 评论
3245浏览 0评论
477浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 粤ICP备14022951号 )
GMT+8, 2023-10-15 01:26 , Processed in 0.347778 second(s), Total 40, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:粤 B2-20160233 工商网监 湘ICP备2023018690号