打印

这样的逻辑是否有问题,能解决么。急急急!!

[复制链接]
1904|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lastnew|  楼主 | 2007-10-16 09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
串口中数据的发送很快,为了避免buffer的数据在写入SBUF前被重写,该用什么样的办法避免这种情况

这种情况用循环队列是不是不好,因为好像要设定互斥访问信号量,而且可能出现死锁

该死的51,郁闷死我了,望各位大虾指点一二,急



实际上我这是在调试串口,循环发送数据,是不是调试方法也有问题,因为是新手,好多问题都不懂,谢各位了先

相关帖子

沙发
lastnew|  楼主 | 2007-10-16 09:47 | 只看该作者

在的朋友帮帮忙

这个鬼东西弄好几天了,难道是智商不够。。。。

使用特权

评论回复
板凳
HWM| | 2007-10-16 09:52 | 只看该作者

有的UART现在一般可以FIFO缓冲一个字节。

如果还不行的话,就只有加快波特率了。

使用特权

评论回复
地板
computer00| | 2007-10-16 10:14 | 只看该作者

不能慢点儿发吗?

使用特权

评论回复
5
dedeke| | 2007-10-16 10:16 | 只看该作者

中断方式发送,不用查询方式

使用特权

评论回复
6
dld2| | 2007-10-16 10:30 | 只看该作者

可以用循环缓冲区

两个指针。主程序向缓冲区写数据,改变写指针;中断程序从缓冲区读数据,改变读指针。检查写满和读空。不存在互斥问题。
信号量不要滥用。用信号量导致死锁是设计有问题。

使用特权

评论回复
7
lastnew|  楼主 | 2007-10-16 12:12 | 只看该作者

谢谢

使用特权

评论回复
8
lastnew|  楼主 | 2007-10-16 12:20 | 只看该作者

gg

4F:慢是不是有个什么标准啊,到哪个速度能比较好的调试

5F:是中断发送的,现在我的问题是写buffer太快了,有可能。。

6F:是2个指针,写满和读空检查是个不错的建议,试试看

谢谢上面几位兄弟的建议,谢谢

使用特权

评论回复
9
沈老| | 2007-10-16 19:23 | 只看该作者

测试TI

如果查询方式发送则写SBUF前要测试TI.

使用特权

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

本版积分规则

62

主题

352

帖子

0

粉丝