对几个函数不明白,请各位老师帮忙解释一下 点击:775 | 回复:2



唐菲

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 25回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2004年9月14日
发表于:2004-09-15 11:38:00
楼主
我的理解是:DRV_FAIIntStart()把FIFO中的数据搬到缓冲区中(buffer1) 例程中还用了这个函数DRV_FAITransfer()(buffer2),此函数是把buffer1中的数据搬到buffer2,然后对buffer2中的数据进行显示 我不明白的是:为什么不直接对buffer1中的数据进行显示呢?



GaryLin

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1186回
  • 年度积分:0
  • 历史总积分:1263
  • 注册:2003年4月15日
发表于:2004-09-16 09:56:00
1楼
不知您说的是哪家的产品, 但猜测那个 buffer1 是在 kernel mode 里的. 而 kernel mode 里的 buffer 是不能由 user mode 直接存取的. 所以得多搬一次.

唐菲

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 25回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2004年9月14日
发表于:2004-09-16 11:38:00
2楼
我用的是研华的PCL-1800,buffer1和buffer2都是自己分配的,这么说由DRV_FAIIntStart()使用的缓冲区在 kernel mode 里的,用户对数据的操作只能对buffer2

热门招聘
相关主题

官方公众号

智造工程师