怎么在MSP430G2553用CCS编程实现用串口调试助手向单片机发送命令字符

2019-03-24 11:24发布

要做课设啊 单片机新手,求帮助。下面是题目:
G2上编程实现如下功能:在计算机上用串口调试助手向单片机发送命令字符,命令字符的形式由自己指定。发送的命令字符至少包括三个字节,通过这个三字节实现对单片机的口袋板上的8LED实现中哪一个点亮并闪烁,和闪烁的时间间隔。同时在液晶上显示当前是第几个LED点亮,和点亮的时间间隔秒数。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
梦醒时
2019-03-25 04:26
sint27 发表于 2014-6-25 11:02
你这个功能不难的,直接参考该芯片的串口通讯例程,自己找找

我在CCS里面有找到例程,可是烧到板子里没有反应 串口调试助手没有显示。是一个反弹程序。
#include <msp430.h>

int main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  if (CALBC1_1MHZ==0xFF)                                        // If calibration constant erased
  {                                                                                       
    while(1);                               // do not load, trap CPU!!       
  }
  DCOCTL = 0;                               // Select lowest DCOx and MODx settings
  BCSCTL1 = CALBC1_1MHZ;                    // Set DCO
  DCOCTL = CALDCO_1MHZ;
  P1SEL = BIT1 + BIT2 ;                     // P1.1 = RXD, P1.2=TXD
  P1SEL2 = BIT1 + BIT2 ;                    // P1.1 = RXD, P1.2=TXD
  UCA0CTL1 |= UCSSEL_2;                     // SMCLK
  UCA0BR0 = 104;                            // 1MHz 9600
  UCA0BR1 = 0;                              // 1MHz 9600
  UCA0MCTL = UCBRS0;                        // Modulation UCBRSx = 1
  UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  IE2 |= UCA0RXIE;                          // Enable USCI_A0 RX interrupt

  __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, interrupts enabled
}

//  Echo back RXed character, confirm TX buffer is ready first
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
  while (!(IFG2&UCA0TXIFG));                // USCI_A0 TX buffer ready?
  UCA0TXBUF = UCA0RXBUF;                    // TX -> RXed character
}

一周热门 更多>

相关问题

    相关文章