1479|0

6828

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

MSP430F149的USART0的UART方式 [复制链接]

MSP430F149的USART0的UART方式(UCTL0中的SYNC位清0)用于串口通信,以下是一段初始化过程:

P3SEL |= 0x30;
P3DIR |= BIT4;
ME1 |= UTXE0 + URXE0; //允许USART0接受和发送
UCTL0 |= CHAR;
U0TCTL|=SSEL1;
UBR00 = 0x68;//波特率9600
UBR10 = 0x00;                           
UMCTL0 = 0x40;
UCTL0 &= ~SWRST;
IE1|=URXIE0;
__enable_interrupt();

   首先是设置引脚的方向,RX为输入,TX为输出,所以TX的DIR位应设为1。ME1是功能模块,即允许UART的接收和发送,CHAR置1是设置数据为8位,SSELx选择UART的时钟源,波特率的设置可以用MSP430波特率计算器来算。IE1中的UTXIE0和URXIE0分别用来使能接收和发送中断,中断标志分别为UTXIFG0和URXIFG0,UTXIFG0置1表示等待新的数据写入发送寄存器,即上一次发送已完成,而URXIFG0置1表示已接收到数据并装入接收缓存寄存器中
void main()
{
  Init();
  while(1)
  {
    for(num=0;num<5;num++)
    {//发数组
      TXBUF0=T[num];//数据被写入发送缓冲寄存器,发送中断标志清0
      while ((IFG1 & UTXIFG0)!=0x80);//等待中断标志置1,即等待接收完成
    }
    num=0;
    while(1);
  }
}

#pragma vector=USART0RX_VECTOR
__interrupt void UART0RX (void)
{
  R[num]=RXBUF0;//当读接收寄缓冲存器时,接收中断标志清0
  num++;
  if(num==5) num=0;
}

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表