Alfred
驱动牛犊
驱动牛犊
  • 注册日期2001-07-12
  • 最后登录2002-01-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1293回复:2

我的firmware不能连续接收数据,why??

楼主#
更多 发布于:2002-01-03 15:48
我使用windriver测试我的firmware,我用鼠标一直点击write to pipe
但是设备只能作出大概十多次的响应,就是接收数据,以后连中断服务程序都进不去了,这是为什么???

该端点被配置为等时端点,下面是其中断服务程序,请各位高手赐教:

void rx_1(void)
{  rxstat=read_usb(RXS1);      判断状态
   if(rxstat&SETUP_R)
     {
     }
   else if (rxstat&RX_ERR)
     {
     }
   else{
      for(desc_idx=0; desc_idx<8; desc_idx++)接收8个等时数据
         {
            dsp_rxbuf[desc_idx]=read_usb(RXD1);
         }
   FLUSHRX1;                             清除
   write_usb(RXC1, RX_EN);               重新使能
}

最新喜欢:

Jkw_DevJkw_De...
尽管我不喜欢做驱动程序,但是我还是不得不做,既然做了,就要做好!
Alfred
驱动牛犊
驱动牛犊
  • 注册日期2001-07-12
  • 最后登录2002-01-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-01-04 10:51
使用windriver连续读我倒是成功了,只要你点了listen to pipe以后,windriver就会不停的发出in包,只要firmware有数据可发,就可以在log中看到读上来的数据,如果看不到任何数据,有两种可能:第一,firmware没有数据可发;第二,firmware中断服务程序有问题

不管是连续读还是连续写,总之windriver本身是没有问题的,有问题的只可能是你的firmware.
尽管我不喜欢做驱动程序,但是我还是不得不做,既然做了,就要做好!
wwffllf
驱动小牛
驱动小牛
  • 注册日期2001-07-14
  • 最后登录2004-11-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-01-03 19:21
请问如何用windriver测试读写数据啊?
我的设备也是不能连续读?
但用windriver测试读时,那个读的pipe前面的对号变为一个灯泡的形式说明什么意思?
咱们共同研究一下吧
敬请赐教!

[编辑 -  1/3/02 作者: wwffllf]
我告诉你们,我可是身经百战了。见的多了,驱动开发,哪个版我没灌过? 你们要知道,驱动的▲版,那比你们不知道厉害到哪里去了,我在那谈笑风声。 你们有一个好,就是什么话题都灌。但是灌来灌去的问题,都 too simple, sometimes naive! 懂了没有? 所以说灌水啊,关键是要提高自己的知识水平。 哦,你们啊,不要想弄个大坑,re上十大,再羞辱一番?你们啊.... naive !! 改编于《江core发飙》
游客

返回顶部