UART 怎么进入发送中断?【菜鸟求助】

2019-03-24 09:08发布


UART 的发送中断是要靠软件设置一个标志位才进入中断,还是只要程序中把数据放到TXBUF里就会有中断呢?

比如我一个单片机通过键盘修改了一个变量,需要把这个变量值通过串口发送给另一个单片机。这个接收和发送中断应该怎么设置呢?

谢谢各位帮忙! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
a2656693
1楼-- · 2019-03-24 14:51
 精彩回答 2  元偷偷看……
emdgbx
2楼-- · 2019-03-24 20:10
< :TI_MSP430_内容页_SA7 -->
a2656693 发表于 2014-12-5 14:19
往TXBUF输入数据,当数据传输完成之后,会有标志位产生。如果这个时候已经使能全局中断位GIE和串口发送中断位UCTXIE,就会产生一个串口发送完成中断。接收中断同理。
非常感谢回答,那如果已经发送完整了,数据已经被送到另一个单片机,那此时还产生发送中断是做什么用的呀?
qiushenghua
3楼-- · 2019-03-24 20:19
emdgbx 发表于 2014-12-5 14:33
非常感谢回答,那如果已经发送完整了,数据已经被送到另一个单片机,那此时还产生发送中断是做什么用的呀?
如果你需要发送一个字符串,但是串口缓冲区一次只能存一个字节,所以需要一个字节一个字节的发。发送完成产生中断可以发送下一字节。如果你程序需要知道你发送完成了,也可以通过这个中断来实现。

如果你需要用到低功耗特性,在将数据写入串口缓冲区后,可以让CPU休眠,这个中断此时可以用于唤醒单片机继续执行下面的任务。
Longtrump_seven
4楼-- · 2019-03-24 20:25
 精彩回答 2  元偷偷看……
李嘉辉
5楼-- · 2019-03-25 02:13
qiushenghua 发表于 2014-12-5 17:22
如果你需要发送一个字符串,但是串口缓冲区一次只能存一个字节,所以需要一个字节一个字节的发。发送完成产 ...

中断发送中TXBUF0一次只能存一个字节,当这一个字节存满的时候是不是就开始发送了?我在外面做一个单个字节发送函数Send_Char()
void Send_Char(unsigned char Ch)          //发送一个字节
{
  TXBUF0=Ch;
  while(!(IFG1&UTXIFG0));               
  IFG1&=~UTXIFG0;                        
}
那么在中断发送里面可不可以直接调用,怎么调用呢?以前都是直接都是利用这种查询法发送,没有用过
中断发送,对中断发送一点都不了解,希望能得到你的帮助。

一周热门 更多>

相关问题

    相关文章