本帖最后由 雨落沉轩 于 2012-12-20 19:35 编辑
忄小龙 发表于 2012-12-20 14:14 
不难吧,你想了解哪方面啊?之前做过485通信modbus
因为之前没接触过,所以希望能从前辈那边得到点提示,具体我还不知道怎么问,还在看。但目前我在《MSP430系列单片机实用C语言程序设计_张晞_人民邮电出版社》这本书上看到有一个关于发送包的例子,用的是USART的串口。我看了一下,其中用到了一个接收控制寄存器U0RCTL,代码如下:
***********************************************************************/
#pragma vector=USCIAB0RX_VECTOR
__interrupt void Usart0Rx()
{ if((U0RCTL&RXERR)==0)
{
AddUsData(UCA0RXBUF);
}
else
{
SetBaoErr();
U0RCTL &= ~(FE+PE+OE+BRK);
}
LPM3_EXIT;
}
而我用的是之前在Ti网站上申请到MSP430lanuchpad,芯片是G2553,用的是USCI的串口(没有USART),对比一下两个数据手册,发现没有这个寄存器。U0RCTL &= ~(FE+PE+OE+BRK); 这句话的意思应该是产生错误时这些相应的位会置位,然后发送完包错误信息SetBaoErr()后,需要把它清楚。本来想把书上的程序移植到G2553上的,但碰到了这个问题不知道如何解决?不知道能否请前辈指点一二。
|