打印
[应用相关]

串口初始化问题

[复制链接]
617|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Listate|  楼主 | 2018-9-3 21:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
串口初始化的时候为什么只打开接收中断使能,而不能打开发送中断使能?
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();
}
沙发
Mozarts| | 2018-9-3 22:01 | 只看该作者
中断一定要记得是能哦,而不是注释掉。

使用特权

评论回复
板凳
_gege| | 2018-9-3 22:01 | 只看该作者
UCA1IE |= UCRXIE;                         // Enable USCI_A1 RX interr
你的程序本身也只打开接受中断

使用特权

评论回复
地板
Edisons| | 2018-9-3 22:04 | 只看该作者

你这个用的是RS485的还是?

使用特权

评论回复
5
laozhongyi| | 2018-9-3 22:04 | 只看该作者
一般AURT的话接收跟发送是相互独立的。

使用特权

评论回复
6
wanglaojii| | 2018-9-3 22:08 | 只看该作者
这个不应该的吧,该方式的基本不会出问题的。

使用特权

评论回复
7
zhouhuanの| | 2018-9-3 22:08 | 只看该作者
发送中断如果是‘发送buffer空中断’,则在初始化的时候不需要打开,只有在发送数据时才打开,而且在判断没有数据可发的时候还要关闭,否则会一直进中断

使用特权

评论回复
8
handleMessage| | 2018-9-3 22:12 | 只看该作者
如果是‘发送完成中断’,则在初始化的时候可以打开,需要看具体芯片的发送中断是哪种

使用特权

评论回复
9
bbapple| | 2018-9-3 22:12 | 只看该作者
楼主可以看看管网给出的例程

使用特权

评论回复
10
junpeng324| | 2018-9-3 23:00 | 只看该作者
可以printf 输出

使用特权

评论回复
11
junpeng324| | 2018-9-3 23:00 | 只看该作者
串口配置没有什么难度吧

使用特权

评论回复
12
观海| | 2018-9-4 06:32 | 只看该作者
不是不能  而是不需要

使用特权

评论回复
13
晓伍| | 2018-9-4 09:05 | 只看该作者
没有任何规定不可以啊

使用特权

评论回复
14
labasi| | 2018-9-4 09:58 | 只看该作者
发送完成中断可以打开

使用特权

评论回复
15
xuanhuanzi| | 2018-9-4 21:35 | 只看该作者
是啊,进入中断关闭是对的,但是退出时候要再开启,要不没有法进行后面的重复工作了。

使用特权

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

本版积分规则

161

主题

1233

帖子

1

粉丝