206|0

822

帖子

0

资源

纯净的硅(初级)

MSP430F5438A的串口

设置串口,最关键的是波特率的设置,推荐一个网站,很方便地计算波特率,

1 P3SEL |= (BIT4 + BIT5);                      // P3.4,5 = USCI_A0 TXD/RXD
2   UCA0CTL1 |= UCSWRST;                      // **Put state machine in reset**
3   UCA0CTL1 |= UCSSEL_2;                     // CLK = SMCLK
4   UCA0BR0 = 26;                           // 24MHz/57600=26,1,0,1
5   UCA0BR1 = 0;                           //
6   UCA0MCTL = UCBRF_1+UCBRS_0+UCOS16;        // Modulation UCBRSx=0, UCBRFx=0,UCOS16 = 1
7   UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
8   UCA0IE |= UCRXIE;                         // Enable USCI_A0 RX interrupt

#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
{
  switch(__even_in_range(UCA0IV,4))
  {
  case 0:break;
  case 2:break;
  case 4:break;
  default:break;
  }
}

关键就是UCA0IV 寄存器,通过看文档得知,这是 USCI_Ax Interrupt Vector Register,具体功能如下:

00h = No interrupt pending,0是无中断
02h = Interrupt Source: Data received; Interrupt Flag: UCRXIFG; Interrupt
Priority: Highest,2是数据接收触发中断
04h = Interrupt Source: Transmit buffer empty; Interrupt Flag: UCTXIFG;
Interrupt Priority: Lowest,4是数据发送中断

经常使用的是接收中断,没用过发送中断


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

关闭
站长推荐上一条 1/6 下一条

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

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

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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