首页 新闻资讯 技术资料 论坛 网站地图
开发工具 传感控制 嵌入式硬件 嵌入式开发新闻 汽车电子 通信产品 电源系列
电子元器件搜索:
IC库存(8958万) PDF资料(329万) IC价格 IC求购 资讯 技术资料
维库电子市场网是知名的电子元器件交易网站, 为电子生产企业提供IC库存和技术资料查询服务。
位置: 首页 > 详细信息
  《ARM嵌入式软件开发实例(一)》USB驱动程序有错
出处:21ic 时间: 2007-09-07
wahahaabc 发布于 2007-9-6 8:18:00
《ARM嵌入式软件开发实例(一)》P212 USB_ReadISR()函数有错,
例如:优先级为0的任务要从端点索引2(就是端点1OUT)读取100字节,由于端点索引2
的包大小为16字节,所以,需要读7次,我们来看一下第7次端点索引2 out中断时,调用
USB_ReadISR()函数会发生什么。当产生第7次端点索引2OUT中断调用USB_ReadISR()函数时,pUsb->Max[0]为100,
pUsb->Cnt为96,执行len=pUsb->Max[0]-pUsb->Cnt以后,len为4,则继续向下执行
len=(INT8U)D12_ReadEndpoint(endp,(INT8U)len,pBuff+pUsb->Cnt);
如果第7次端点索引2OUT中断接收到的数据是16字节,那么,上述代码只读取了前4个字节,
后面的12字节被扔掉,此时,优先级为0的任务是接收到了100字节的数据,这没有错,
但是,根据P203的设计思想,如果等待列表中还有其它任务(除了优先级为0的任务)在等待接收,则应该把后12字节存入
等待列表中优先级最高的那个任务的缓冲区,而不是扔掉后面的12字节


wahahaabc 发布于 2007-9-6 17:33:00
怎么没人


zlgARM 发布于 2007-9-7 8:23:00
您好:
  谢谢指教。请致电020-28872412。


关闭】 【打印
相关专题  
消费电子
工业控制
汽车电子
安防产品
接口电路
CPLD/FPGA
传感控制
嵌入式硬件
医疗电子
综合电子技术
军工/航空航天
AD/DA
数控系统
存储器
电源系列
应用产品
嵌入式开发新闻
通信产品
嵌入式软件
计算机外设
软件开发
嵌入式系统
IC设计
开发工具
SOPC

© 2007 百斯嵌入式开发网 网站地图