请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F4152 工具/软件:Code Composer Studio
您好!
我遇到了一个小问题、
我无法找到解决方案。
我使用的是 MSP430F4152。
在微控制器中、我使用 Rx 中断(我将数据从 PC 接收到微控制器)、
然后我使用计时器中断、
通过计时器中断、我将数据从微控制器传输到 PC。
我的计划在:
//unsigned int old; char old; #pragma vector=BASICTIMER_vector __interrupt void basic_timer_ISR (void) { putchar (旧); LPM3_EXIT; } #pragma vector=USCIAB0RX_vector __interrupt void USCIA0RX_ISR (void) { OLD = UCA0RXBUF; // putchar (old); // LPM3_exit; } int main (void) { unsigned int i; WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器 /../../--------------- FLL_CTL0 |= XCAP11PF; //配置负载电容器 BTCTL =(BTIP2+BTIP0); //2毫秒 IE2 |= BTIE; lcd_init(); UART_INIT(); while (1) { LCD[0]= digit[1]; //*/========================================================= _bis_SR_register (LPM3_bits+GIE); } //返回0; } 问题: 我要从 PC 接收52 (任意2位值),从 PC 接收到微控制器, 并通过传输功能将值发送到 PC。 1)接收数据后,如果我在 Rx 中断中发送:实际值正在发送(EX:52), 2)但如果我通过 Rx 中断接收数据,并使用计时器中断发送:只有一个数字在发送(EX:我接收52,但只发送'2') (这不会在一位数字值中发生:我收到的值..... 是发送的准确值) 我想同时使用"Rx 中断和计时器中断"。
(我还使用了"int"类型)
您能告诉我如何解决这个问题吗?
谢谢,
Srijit。