这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 关于串口通信中断发送程序的问题?

共4条 1/1 1 跳转至

关于串口通信中断发送程序的问题?

菜鸟
2007-11-23 10:25:11     打赏

当主程序中设置中断标志,即IFG2|=UTXIFG1.程序进入发送中断程序,如下:
interrupt[UART1TX_VECTOR] void UART1_TX_ISR(void)
{
if(nTX1_Len!=0)
{ //表示缓冲区里的数据没有发送完
nTX1_Flag=0;
TXBUF1=UART1_TX_BUF[nSend_TX1];
nSend_TX1+=1;
if(nSend_TX1>=nTX1_Len)
{
nSend_TX1=0;
nTX1_Len=0;
nTX1_Flag=1;
}
}
}
问题1:这个发送中断是发送一个字符,还是多个字符?(按我的理解是发送一个字符后就跳出中断,但从整个程序的要求来看,是发送多个字符)

问题2:如果是发送多个字符的话,它却没有查询等待的部分,没法保证发送完一个字符后才接着发送下一个字符?
谢谢!



关键词: 关于     串口     通信     中断     发送     程序     问题    

助工
2007-11-23 10:28:49     打赏
2楼
"nSend_TX1>=nTX1_Len",nTX1_Len有多长,这次中断里面就发送多少字节,只有都发送完了,它才会跳出中断

助工
2007-11-23 10:29:08     打赏
3楼
"nSend_TX1>=nTX1_Len",nTX1_Len有多长,这次中断里面就发送多少字节,只有都发送完了,它才会跳出中断

菜鸟
2007-12-06 22:57:33     打赏
4楼
应该是每次中断发送一个字符,当nSend_TX1>=nTX1_Len后不再进入中断

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]