21ic电子技术开发论坛 单片机与嵌入式系统 德州仪器MCU 串口初始化的时候为什么只打开接收中断使能,而不能打开发送中断使能? ...
发新帖我要提问
返回列表
打印

串口初始化的时候为什么只打开接收中断使能,而不能打开发送中断使能?

[复制链接]
566|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanghqi|  楼主 | 2016-7-3 16:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

void init_uart1(void)
{
  P5SEL |= 0xC0;                             // P5.6,7 = USCI_A1 TXD/RXD
  UCA1CTL0 |= 0X80;                          //odd parity
  UCA1CTL1 |= UCSWRST;                      // **Put state machine in reset**
  UCA1CTL1 |= 0X40;                     // ACLK
  UCA1BR0 = 0x03;                              // 1MHz 115200 (see User's Guide)
  UCA1BR1 = 0x00;                              // 1MHz 115200
  UCA1MCTL |= UCBRS_3+UCBRF_0;            // Modulation UCBRSx=1, UCBRFx=0
  UCA1CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  UCA1IE |= UCRXIE;                         // Enable USCI_A1 RX interr
  //__bis_SR_register(GIE);                  // 使能中断
  //_EINT();
}

相关帖子

沙发
jiajs| | 2016-7-3 16:27 | 只看该作者
程序我没仔细看,但中断一定要记得是能哦,而不是注释掉。

使用特权

评论回复
板凳
zhenykun| | 2016-7-3 16:29 | 只看该作者
UCA1IE |= UCRXIE;                         // Enable USCI_A1 RX interr
你的程序本身也只打开接受中断

使用特权

评论回复
地板
zhanghqi|  楼主 | 2016-7-3 16:31 | 只看该作者
嗯,我知道了

使用特权

评论回复
5
vivilzb1985| | 2016-7-5 11:06 | 只看该作者
你这个用的是RS485的还是?

使用特权

评论回复
6
vivilzb1985| | 2016-7-5 11:07 | 只看该作者
一般AURT的话接收跟发送是相互独立的。

使用特权

评论回复
7
firstblood| | 2016-7-5 13:54 | 只看该作者
不会吧,这种情况的我还没注意到的

使用特权

评论回复
8
comeon201208| | 2016-7-6 15:29 | 只看该作者
这个不应该的吧,该方式的基本不会出问题的。

使用特权

评论回复
9
JasonWangSE| | 2016-7-6 18:18 | 只看该作者
发送中断如果是‘发送buffer空中断’,则在初始化的时候不需要打开,只有在发送数据时才打开,而且在判断没有数据可发的时候还要关闭,否则会一直进中断;如果是‘发送完成中断’,则在初始化的时候可以打开,需要看具体芯片的发送中断是哪种

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

11757

帖子

5

粉丝
关闭 热门推荐
快速回复 在线客服 返回列表 返回顶部