我用的板子是F5529LP就是他的那个下载线跟串口线是一根线,然后,求一个串口助手,谢谢!
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.
我用的板子是F5529LP就是他的那个下载线跟串口线是一根线,然后,求一个串口助手,谢谢!
James,
你试下下面这个这个例程,它实现的是将串口助手上发来的数据在发回回去:
#include <msp430.h>
int main(void)
{
volatile unsigned int i;
WDTCTL = WDTPW+WDTHOLD; // Stop WDT
FLL_CTL0 |= XCAP11PF; // Configure load caps
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0x47FF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG)); // OSCFault flag still set?
P6SEL |= BIT5+BIT6; // P6.5,6 = USCI_A0 RXD/TXD
UCA0CTL1 |= UCSSEL_1; // CLK = ACLK
UCA0BR0 = 0x03; // 32k/9600 - 3.41
UCA0BR1 = 0x00; //
UCA0MCTL = 0x06; // Modulation
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt
__bis_SR_register(LPM3_bits + GIE); // Enter LPM0, interrupts enabled
}
// Echo back RXed character, confirm TX buffer is ready first
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCIA0RX_ISR (void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(USCIAB0RX_VECTOR))) USCIA0RX_ISR (void)
#else
#error Compiler not supported!
#endif
{
while(!(IFG2&UCA0TXIFG));
UCA0TXBUF = UCA0RXBUF; // TX -> RXed character
}
谢谢
James,
PM_UART 端口是指它能通过芯片内部的Port mapping功能,来实现UART的管脚功能。这是它的第二个功能,它默认是做SPI的管脚用的。
而UART口本身的第一功能就是用来做UART的。
芯片之所以这样做是为了增加管脚分配的灵活性,很多时候你的UART口有可能因为PCB走线的问题,而不好做为UART来用,或是说它被用作了类似于GPIO的之类的其他功能。这个时候如果你还需要UART的话,就可以选择这些可以通过PORT Mapping实现UART功能输出或输入的管脚了。
谢谢