我用的板子是F5529LP就是他的那个下载线跟串口线是一根线,然后,求一个串口助手,谢谢!
Ken Wang:
James,
这个串口助手,我们没有官方的软件。
你可以自己到网上下载一个,串口助手之类的软件一大把。
谢谢
james may:
回复 Ken Wang:
恩,好的,谢谢
james may:
回复 Ken Wang:
您有那个5529与PC机通信的代码吗?能否给一段我参考一下,我之前以为是串口调试助手有问题结果换了好几个还是收发不了数据,觉得是代码的问题。。。 谢谢
Ken Wang:
回复 james may:
James,
你是需要中断的还是查询接收或发送的。
另外有一个小问题需要提到的是,如果用我们的EVM板做串口通信,波特率尽量设在9600以内。因为有些版本的lunchpad上面的调试芯片定死了串口的波特率不能超过9600.
Ken Wang:
回复 Ken Wang:
James,
你试下下面这个这个例程,它实现的是将串口助手上发来的数据在发回回去:
#include <msp430.h>int main(void) {volatile unsigned int i;WDTCTL = WDTPW+WDTHOLD;// Stop WDTFLL_CTL0 |= XCAP11PF;// Configure load capsdo{IFG1 &= ~OFIFG;// Clear OSCFault flagfor (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/TXDUCA0CTL1 |= UCSSEL_1;// CLK = ACLKUCA0BR0 = 0x03;// 32k/9600 - 3.41UCA0BR1 = 0x00;//UCA0MCTL = 0x06;// ModulationUCA0CTL1 &= ~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 may:
回复 Ken Wang:
我把你的这段代码编译,报了好多错误,这个应该不是F5529的例程吧? 谢谢
Ken Wang:
回复 james may:
james,
是5529的啊,我这边编译没问题。你用的是CCS还是IAR?我这边的CCS没问题。
方便的话,你可以把你的编译的错误贴上来我看一下。
谢谢
james may:
回复 Ken Wang:
恩恩,我用的是IAR,还有就是我开了两个帖子,谢谢您的耐心解答,我就专门在这个帖子里问您吧,然后,我用的是IAR,还有就是那个F5529的PM—UART跟UART有什么区别? 谢谢了
Ken Wang:
回复 james may:
James,
PM_UART 端口是指它能通过芯片内部的Port mapping功能,来实现UART的管脚功能。这是它的第二个功能,它默认是做SPI的管脚用的。
而UART口本身的第一功能就是用来做UART的。
芯片之所以这样做是为了增加管脚分配的灵活性,很多时候你的UART口有可能因为PCB走线的问题,而不好做为UART来用,或是说它被用作了类似于GPIO的之类的其他功能。这个时候如果你还需要UART的话,就可以选择这些可以通过PORT Mapping实现UART功能输出或输入的管脚了。
谢谢
琉璃酱:
回复 james may:
这个问题我好像找到了,
这应该是编译器对头文件的定义不对,
即使是ccs ,v5.5和v6.0的头文件也不一样,ware不同版本区别也很大
从上面两张图片就可以看出来
程序是直接copy的,头文件来于msp430ware还是其他的范例包我已经忘了,
但可以确定的是官方例程里面的