关于msp430程序问题

问题描述:

关于msp430程序问题
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
while (IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = UCA0RXBUF; // TX -> RXed character
}
--interrupt void TIMER1_A0(void)
{
TA1CCTL0&=~CCIFG;
TA1CTL=MC_0;
}
1个回答 分类:综合 2014-09-21

问题解答:

我来补答
先说前两句:
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = UCA0RXBUF; // TX -> RXed character
第一句是判断串口的发送是否正在工作,因为要使用发送功能,所以得判断发送是否忙碌,只有在不忙碌的时候才可以启用发送.这一句就是判断发送是否在工作,如果是在工作,那么一直等待到不工作为止.第二句是把接收寄存器的内容直接给到发送寄存器,目的是把接收到的数据直接通过串口再发送出去.
后两句是定时器相关的,TA1CCTL0&=~CCIFG;
TA1CTL=MC_0;
第一句是把定时器的中断标志位软件清零,第二句是停止定时器的计数.
再问: 能不能帮我编个程序,功能要求:串口连上后,等待5秒,如果这5秒内有输入,就执行其他程序,没有输入就退出串口
再答: 这里涉及到好多问题,我没法帮你,比如说串口的时钟源、波特率、单片机型号、用哪个串口、还有功能也没有说明白,串口连接上是什么概念、执行其他程序指的是什么程序,所以说具体的还是要你自己结合原理图去弄,这个不是我不帮你。
 
 
展开全文阅读
剩余:2000
上一页:14,16
下一页:对一下