wangxin_china
驱动中牛
驱动中牛
  • 注册日期2003-03-28
  • 最后登录2008-09-30
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1269回复:6

D12双缓冲怎么实现?

楼主#
更多 发布于:2003-10-22 20:59
我看D12的DEMO里面有readmainendpoint和writemainendpoint函数,它们里面好象使用的是同一段内存,请问他们是怎么协同工作的?
双缓冲是这么实现的?

[编辑 -  10/23/03 by  wangxin_china]

最新喜欢:

jxchen045jxchen...
wangxin_china
驱动中牛
驱动中牛
  • 注册日期2003-03-28
  • 最后登录2008-09-30
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-23 08:12
双缓冲应该说的是D12在接收数据的时候,单片机可以向D12发数据吧?


我在写数据的时候是不是要看D12的缓冲区是否够用?
root60931
驱动大牛
驱动大牛
  • 注册日期2002-10-25
  • 最后登录2025-03-22
  • 粉丝2
  • 关注0
  • 积分1013分
  • 威望432点
  • 贡献值0点
  • 好评度311点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-10-31 16:01
我也遇到同样的问题。
关注中。。。。
好好学习,天天向上! root60931@gmail.com
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-31 16:10
双缓冲应该说的是D12在接收数据的时候,单片机可以向D12发数据吧?
我在写数据的时候是不是要看D12的缓冲区是否够用?

双缓冲作用是增加你数据吞吐量,D12在接收数据的时候你也可以读上一次接收到的数据。D12在接收数据的时候你给它发数据干什么?host没给你发命令或者上一次命令没结束,你对它写数据是无效的。
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-31 21:53
其实双缓冲可以看成是内部实现的一个“乒乓FIFO”,他有两个相同大小的fifo组成(但是使用同一个入口地址),当第一个fifo为满时,地址指针会自动跳到第二个fifo的入口处,这时候前一个fifo里的数据已经生效,可以进行读或者传给主机的操作,而同时第二个fifo可以接收数据,这样不会出现等待fifo空情况,因而能提高数据吞吐率。
wangxin_china
驱动中牛
驱动中牛
  • 注册日期2003-03-28
  • 最后登录2008-09-30
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望18点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-11-01 11:19
其实操作起来就测一下缓冲区是不是满了,然后决定是不是发数据就行了
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-11-01 11:58
其实操作起来就测一下缓冲区是不是满了,然后决定是不是发数据就行了

按照常理就是等中断,但是我是这样做的。
游客

返回顶部