[其他ST产品] 有关stm32 中断接收,中断进去一次以后,第二次就进不去了

[复制链接]
4096|31
mmuuss586 发表于 2014-6-4 19:47 | 显示全部楼层
void USART1_SendByte(unsigned char temp)
{
    USART_SendData(USART1, temp);
    while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
}
 楼主| 伊泽瑞拉 发表于 2014-6-4 19:53 | 显示全部楼层
mmuuss586 发表于 2014-6-4 19:47
接收中断程序看了没啥问题;
发送子程序,加上这个看看:
while(USART_GetFlagStatus(USART1, USART_FLAG_TX ...

可是现在是接收的时候第一个没了      所以我在想那个数据去哪了
gxliu08 发表于 2014-6-4 20:42 | 显示全部楼层
库里面串口中断例子现成的

评分

参与人数 1威望 +6 收起 理由
icecut + 6 赞一个!

查看全部评分

中远亚-陈`S 发表于 2014-6-5 09:27 | 显示全部楼层
伊泽瑞拉 发表于 2014-6-4 11:14
唉   竟然没人帮忙啊

想做大牛的小马 发表于 2014-6-5 10:08 | 显示全部楼层
楼主你对这个变量(Uart1_Rx_Num)的使用,逻辑上感觉有点混乱。。。主程序不断清零,中断里++。。。。
可能你有自己的算法,不过这种使用方法觉得有些不妥。。。。
另外加延时的问题,你可以判断一下发送完成后再继续发送,可以不用加delay了。。。。
 楼主| 伊泽瑞拉 发表于 2014-6-5 10:10 | 显示全部楼层
中远亚-陈`S 发表于 2014-6-5 09:27

额   酱油    ???
 楼主| 伊泽瑞拉 发表于 2014-6-5 10:12 | 显示全部楼层
想做大牛的小马 发表于 2014-6-5 10:08
楼主你对这个变量(Uart1_Rx_Num)的使用,逻辑上感觉有点混乱。。。主程序不断清零,中断里++。。。。
可 ...

Uart1_Rx_Num  在主程序中是满足判断条件以后才清零的      怎么判断发送完成
想做大牛的小马 发表于 2014-6-5 10:17 | 显示全部楼层
伊泽瑞拉 发表于 2014-6-5 10:12
Uart1_Rx_Num  在主程序中是满足判断条件以后才清零的      怎么判断发送完成 ...

看手册呀。。。懒得看的话就查寄存器啊。。。uart的寄存器少的可怜哦,看status reg啊。。。。
看你的数据丢失,感觉像是对变量Uart1_Rx_Num使用不当,覆盖掉导致的。。。可以一个一个数据的接收试试先啊!~
 楼主| 伊泽瑞拉 发表于 2014-6-5 10:20 | 显示全部楼层
mmuuss586 发表于 2014-6-4 19:47
void USART1_SendByte(unsigned char temp)
{
    USART_SendData(USART1, temp);

有用    谢谢   
中远亚-陈`S 发表于 2014-6-5 11:06 | 显示全部楼层
伊泽瑞拉 发表于 2014-6-5 10:10
额   酱油    ???

mmuuss586 发表于 2014-6-5 11:58 | 显示全部楼层
伊泽瑞拉 发表于 2014-6-5 10:20
有用    谢谢

OK了?
 楼主| 伊泽瑞拉 发表于 2014-6-5 14:06 | 显示全部楼层
mmuuss586 发表于 2014-6-5 11:58
OK了?

现在就是有个问题  每接收大概10数据  就会有次数据失误       我再看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0