This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/MSP430G2553:UART 中断后下一个函数未运行

Guru**** 2539500 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/949135/ccs-msp430g2553-after-uart-interrupt-next-function-not-running

器件型号:MSP430G2553

工具/软件:Code Composer Studio

您好!

这是我的代码、在中断主程序中的下一个进程后、我的代码不是 running..in  

突出显示的部件未运行 PLZ 解决此问题...

#include

#include "lcd.h"

void TX_string (char * s);
int e、flag;
字符 Q[15];

void main (void)

WDTCTL = WDTPW + WDTHOLD;//停止看门狗

lcdini();

DCOCTL = 0;//选择最低 DCO 设置
BCSCTL1 = CALBC1_1MHz;//将 DCO 设置为1MHz
DCOCTL = CALDCO_1MHz;

P1SEL = BIT1 + BIT2;//在 P1.1、P1.2上选择 UART RX/TX 功能
P1SEL2 = BIT1 + BIT2;

UCA0CTL1 |= UCSSEL_2;// UART 时钟-> SMCLK

UCA0BR0 = 104;//波特率设置为1MHz 9600
UCA0BR1 = 0;//波特率设置为1MHz 9600
UCA0MCTL = UCBRS_1;//针对1MHz 9600的调制设置

UCA0CTL1 &=~UCSWRST;//初始化 UART 模块

while (1)

IE2 |= UCA0RXIE;//启用 RX 中断
_bis_SR_register (LPM0_bits + GIE);//输入 LPM0、启用中断

tx_string ("在 if"之前);

if (flag==1)  

TX_STRING ("内部 while ");
flag=0;

#pragma vector=USCIAB0RX_vector // UART RX 中断向量
_interrupt void USCI0RX_ISR (void)

if (flag==0)

flag=1;
while (e<9)

while (!(IFG2 & UCA0RXIFG));  

Q[e]= UCA0RXBUF;  
q[e+1]='\0';
e++;

E=0;

void TX_string (char * s)

while (* s!='\0')

while (!(IFG2 & UCA0TXIFG));
UCA0TXBUF =*s;
S++;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果要退出低功耗模式、必须在 ISR 中执行一些操作才能实现这一目标。 如果您太懒惰而无法自行执行、GCC 具有 ISR 的"WAKEUP"属性、但我不知道 CCS 是否具有类似的属性。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    感谢您的回答

    1) 1)如果我在 GCC 中运行相同的代码、它会正常工作...根据我的要求。

    2) 2)如果 CCS plz 中有任何其他选项...请告诉任何正文

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好。

    您必须添加内在函数

    _BIC_SR_REGISTER_ON_EXIT (LPM0_BITS);

    以防止在退出后切换到 LPM。

    此致、

    Tomas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Tomas、您好!

    谢谢 much....it的工作!!

    感谢@e2e 论坛的支持...