打印

求教,今天遇到些问题……

[复制链接]
1443|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangfeng33|  楼主 | 2012-12-30 10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天遇到些问题。发现STM32VET6 的串口2 设置 发中断后,还没发数据,就开始进中断了。而且 发送的数据还有丢失。
求解啊
沙发
uet_cache| | 2012-12-30 11:13 | 只看该作者
你是不是也做了接收中断。受影响是不是接收到数据,所以发送才被打断。最好考虑好你的程序逻辑。。。

使用特权

评论回复
板凳
TT5656| | 2012-12-30 13:53 | 只看该作者
使能串口发送后会自动发送一空闲帧,TC置位,进入中断。看你是根据哪一位进入中断了,初始时清除对应标志位应该能解决问题了

使用特权

评论回复
地板
qiurenguo| | 2012-12-30 16:50 | 只看该作者
好像是会这样,你开中断前,先把相应中断位清零下应该就可以了

使用特权

评论回复
5
TT5656| | 2012-12-30 16:56 | 只看该作者
我自己试了试,发现打开串口时钟和使能串口后都会使TC置位。在使能串口后清除TC位之后,我发现直接把程序烧进去运行会直接进入中断,用硬件调试单步运行就不会。后来在使能串口与清除TC位之间加了一个延时就好了。

使用特权

评论回复
6
guodongmei| | 2012-12-31 20:25 | 只看该作者
一般我都是初始化完清一次标志位。用得不多还没遇到这问题

使用特权

评论回复
7
jxmzzr| | 2013-1-18 21:41 | 只看该作者
这个问题我也遇到过,当时因为着急,只是在每个收发的中断里加了一个延时,问题是解决了,但影响了传输速度,不知大家还有没有更好的办法?

使用特权

评论回复
8
wago2008| | 2013-1-19 08:58 | 只看该作者
同样遇到问题继续关注

使用特权

评论回复
9
yyql008| | 2013-1-19 09:19 | 只看该作者
是不是设置的为发送寄存器空时能产生中断,
这里必须先发送数据,才能开发送中断.
如果先开发送中断,后发送数据,
否则会一直进入发送中断,退了又进的,后面的发送数据函数一直得不到调用的.

使用特权

评论回复
10
MariaBrook| | 2013-1-20 21:38 | 只看该作者
不要使用这种标题:L

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

粉丝