STM8s003 串口发送数据后不再接收 100

使用查询发送中断接收。上电后,使用工具给芯片发读取命令,芯片可以接收并通过校检,然后返回应答。一切正常。问题在于使用工具发第二条读取命令时,芯片无任何回应。仿真发现第二条... 使用查询发送中断接收。上电后,使用工具给芯片发读取命令,芯片可以接收并通过校检,然后返回应答。一切正常。问题在于使用工具发第二条读取命令时,芯片无任何回应。仿真发现第二条读取命令发给芯片的时候,芯片根本没进串口中断
void sendone(u8 temdata)
{
while((UART1->SR&0x80)==0);//发送寄存器数据是否转移完
UART1->CR2=0x00;//
UART1->DR=temdata;//要发送的数据
UART1->CR2=0x08;//
while((UART1->SR&0x40)==0);//发送结束
}
void senddata(u8 * TxBuffer1,u8 leng)
{
u8 TxPoint;
UART1_ITConfig(UART1_IT_RXNE_OR, DISABLE); //接收中断
delay_ms(3);
if(leng>=uSendMAX) leng = uSendMAX; //最多发送的字节
for(TxPoint=0;TxPoint<leng;TxPoint++)
{
sendone(TxBuffer1[TxPoint]);
}
UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE); //接收中断
}
展开
 我来答
麟达令通
2016-05-31 · TA获得超过270个赞
知道小有建树答主
回答量:333
采纳率:50%
帮助的人:205万
展开全部
看下芯片使用说明书吧。
我估计问题是:
1、读写切换延迟时间太少。
2、不是自动流控制,需要编程控制读写方向。
追问
谢谢   不过不是你说的原因   已解决
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
树野狐禅
2016-08-10
知道答主
回答量:22
采纳率:0%
帮助的人:2.9万
展开全部
没记错的话是初始化中断标志位
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最爱我的爱life
2017-09-14
知道答主
回答量:3
采纳率:0%
帮助的人:2万
展开全部
请问是怎么解决的?我也遇到了一样的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式