首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

51串口中断中能不能发送数据,该如何处理

2012-05-10 
51串口中断中能不能发送数据在串口中断函数中接收了数据、然后发送出去、结果卡机、、到底在串口中断中能不能

51串口中断中能不能发送数据
在串口中断函数中接收了数据、然后发送出去、结果卡机、、
到底在串口中断中能不能发数据??、

[解决办法]
查看允许发送位有没有置位?

另外,LZ采用的发送方式是中断还是查询?

对应的标志和中断有没有写错
[解决办法]
LZ采用的发送方式是中断还是查询?

[解决办法]
发是一定能发的,关键看你有没有清串口发送和接收中断标志,没清的话会不停的进中断,卡机就很正常了!
[解决办法]
void serial_port0() interrupt 4 using 1
{
unsigned char c;
if(TI) /*If TI=1, must be transmit complete interrupt*/
{
TI=0;
if(ser0_count>ser0_counts)
{
ser0_count=0;
}
else SBUF=ser0_data[ser0_count++];
}
else if(RI) /*Else If RI=1, must be receive complete interrupt*/
{
RI=0;
[解决办法]
很肯定地回答你:可以
[解决办法]
串口中断接收单个数据然后发送回去可能不会出错 ,但是如果接收完再经过很长的时间处理然后再发送回去就会出错 因为接收中断还没返回可能就有下一串口中断来了 所以最好不要在中断中处理太多事情 接收的数据可以先存在缓冲区 返回中断在处理。
[解决办法]
发是一定能发的,关键看你有没有清串口发送和接收中断标志,没清的话会不停的进中断,卡机就很正常了!

[解决办法]
你是在串口接收中断发送数据的吗?换个地方发送吧

热点排行