msp430F123使用串口通讯设置

2025-11-05 16:29:03

1、MSP430F123串口的P3.4 P3.5可以设置未标准串口,把以前使用MSP430F149串口代码拿过来发现根本用不了。在研究了相关手册资料后,实现自发自收OK。

2、首先新建一个工程,做一些基本设置

1) FETDebugger -->setup-->connection选择 USB连接方式 

2)Debugger下的-->setuo-->Driver 选 FET Debugger

3) General Options -->Target --> Device -->点按钮选 MSP430F123

msp430F123使用串口通讯设置

msp430F123使用串口通讯设置

msp430F123使用串口通讯设置

3、管脚定义:

因为P3口没有中断要通过P3SEL和P3DIR设置后RX,TX才能生效。

P3.4 P3.5 提供了一组标准的USRT0的通讯接口。

msp430F123使用串口通讯设置

4、因为以前用MSP430F149做开发,于是把晶振代码拿来直接用,结果发现完全不好用,说明二者还是有些区别。

void ClockInit(void)

{ unsigned char i;

  BCSCTL1 = XTS + DIVA_0; //

  do

 {

 IFG1 &= ~OFIFG;                    

 for (i = 0xFF; i > 0; i--);          //等待数据稳定

  }

  while ((IFG1 & OFIFG));              

  BCSCTL2 = SELM_3 + SELS; // MCLK= LFXT1 (safe)

    for(i=0Xff;i>0;i--)

    _NOP();

}

msp430F123使用串口通讯设置

5、波特率的设置也是比较有特点:

代码不赘述,有几个点注意一下:

1: ME2 |= UTXE0 + URXE0;  //注意这里是ME2

2: IE2 |= URXIE0;  //注意这里是IE2

3:   波特率的计算: 本例是4M --9600bps

4M/9600 = 416.666

所以根据公式(详情其他文字介绍)

校正数据可以用 0x89(不唯一)

msp430F123使用串口通讯设置

6、编写响应代码:

当收到串口数据时,进入响应函数,然后把RX缓存数据直接放到TX缓冲,实现数据的自发自收。

这里注意 : 用的是IFG2 

msp430F123使用串口通讯设置

7、代码编写完成后,IAR通过USB'烧写器 写入芯片。

打开串口精灵,设好波特率和串口号,发送数据给串口,如果能够收到同样数据的响应,说明OK了。

msp430F123使用串口通讯设置

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢