C 将数据放入MSP430

C 将数据放入MSP430,c,putty,msp430,code-composer,C,Putty,Msp430,Code Composer,我试图通过PuTTY将两个MSP430编程为基本上即时消息,但不知道如何在没有调试器的情况下将键入的信息输入MSP430。我用的是CCS,它是MSP430 F2274。我有一个程序,用户在一个MSP430上的按钮上输入摩尔斯电码,通过以下方法成功输出到另一个MSP430上 void displayString(char array[], char size) { WDTCTL = WDTPW + WDTHOLD; // Disable WDT DCOCTL

我试图通过PuTTY将两个MSP430编程为基本上即时消息,但不知道如何在没有调试器的情况下将键入的信息输入MSP430。我用的是CCS,它是MSP430 F2274。我有一个程序,用户在一个MSP430上的按钮上输入摩尔斯电码,通过以下方法成功输出到另一个MSP430上

void displayString(char array[], char size) {
    WDTCTL = WDTPW + WDTHOLD;            // Disable WDT
    DCOCTL = CALDCO_8MHZ;                // Load 8MHz constants
    BCSCTL1 = CALBC1_8MHZ;               //
    P3SEL |= 0x30;                       // P3.4,5 = USCI_A0 TXD/RXD
    UCA0CTL1 |= UCSSEL_2;                // SMCLK
    UCA0BR0 = 0x41;                      // 8MHz 9600
    UCA0BR1 = 0x03;                      // 8MHz 9600
    UCA0MCTL = UCBRS1;                   // Modulation UCBRSx = 2
    UCA0CTL1 &= ~UCSWRST;                // **Initialize USCI state

  int count;
  for(count=0; count<size; count++){
    while (!(IFG2&UCA0TXIFG));              // USCI_A0 TX buffer ready?
    UCA0TXBUF = array[count];               // TX -> RXed character
  }
}
void显示字符串(字符数组[],字符大小){
WDTCTL=WDTPW+WDTHOLD;//禁用WDT
DCOCTL=CALDCO_8MHZ;//加载8MHZ常量
BCSCTL1=CALBC1_8MHZ//
P3SEL |=0x30;//P3.4,5=USCI|U A0 TXD/RXD
UCA0CTL1 |=UCSSEL_2;//SMCLK
UCA0BR0=0x41;//8MHz 9600
UCA0BR1=0x03;//8MHz 9600
UCA0MCTL=UCBRS1;//调制UCBRSx=2
UCA0CTL1&=~UCSWRST;//**初始化USCI状态
整数计数;
对于(计数=0;计数RX字符)
}
}
有人能用类似的设置发送反向代码(在MSP430上键入信息)吗?谢谢。

我用的是picocom:

$ picocom -r -b 9600 /dev/ttySxxxx
UART初始化代码:

void uart_setup()
{
  // Configure UART pins
  P2SEL1 |= BIT0 + BIT1;
  P2SEL0 &= ~(BIT0 + BIT1);

  // Configure UART 0
  UCA0CTL1 |= UCSWRST; // perform reset
  UCA0CTL1 = UCSSEL_1;                      // Set ACLK = 32768 as UCBRCLK
  UCA0BR0 = 3;                              // 9600 baud
  UCA0BR1 = 0; 
  UCA0MCTLW |= 0x5300;                      // 32768/9600 - INT(32768/9600)=0.41
                                            // UCBRSx value = 0x53 (See UG)
  UCA0CTL1 &= ~UCSWRST;                     // release from reset
  //UCA0IE |= UCRXIE;                         // Enable RX interrupt
}
重写putchar():


然后,您可以简单地调用printf(…)将文本从MSP430输出到串行端口。

如果您仍然想离开
putchar()
prtinf()
进行调试-打印到调试器的调试窗口中,那么您可以使用单独的
读取
功能:

unsigned char ReadByteUCA_UART(void)    
{   
    //while ((IFG2&UCA0RXIFG)==0);  // wait for RX buffer (full)   
    while(UCA0STAT&UCBUSY);   
    return (UCA0RXBUF);   
} 

Putty是串行终端(除其他外)电脑程序,不是吗?你是不是误用它来指通用串行端口接口,或者你真的想在设置中的某个地方使用该程序?我可能误用了这个术语。到目前为止,我一直用PuTTY来查看莫尔斯电文。如果需要其他东西来将数据输入MSP430,那没关系。
unsigned char ReadByteUCA_UART(void)    
{   
    //while ((IFG2&UCA0RXIFG)==0);  // wait for RX buffer (full)   
    while(UCA0STAT&UCBUSY);   
    return (UCA0RXBUF);   
}