智能车制作

标题: USB程序出现问题 [打印本页]

作者: jlyjj    时间: 2013-4-2 13:44
标题: USB程序出现问题
我使用了【拉普兰德K60底层库】的USB部分,枚举这部分运行正常,当串行口调试助手在PC机上运行时,发生异常中断(VECTOR_003)
可疑的问题程序可能是:USB 中断->USB_Handler(void)->USB_Setup_Handler(),单片机型号是:KM20DX256VLL7,希望 洋葱圈 给予关注一下。谢谢!

作者: jlyjj    时间: 2013-4-3 09:19
好像USB_Setup_Handler()没有问题。
作者: 洋葱圈    时间: 2013-4-3 09:30
本帖最后由 洋葱圈 于 2013-4-3 09:39 编辑

K20我没研究过具体和K60有什么不一样,如果用K60的话肯定没问题。

作者: jlyjj    时间: 2013-4-3 09:38
我再找找原因,谢谢!
作者: 洋葱圈    时间: 2013-4-3 09:39
jlyjj 发表于 2013-4-3 09:38
我再找找原因,谢谢!

003是硬件错误,建议你用断点+单步调试确定发生错误的地方。

作者: jlyjj    时间: 2013-4-3 14:14
是啊,我努力了半天,仍然没有结果。在003异常中断服务程序里,我仅仅做了一个死循环,从003里break后,往回追溯,有什么好办法没有?不过arm4核本身产生的中断会不会不留痕迹 ,如:在堆栈中不留地址。
作者: 378110705    时间: 2013-11-21 10:48
洋葱圈 发表于 2013-4-3 09:30
K20我没研究过具体和K60有什么不一样,如果用K60的话肯定没问题。

您好,我最近在调试usb,用的是拉普兰德的库函数,但是程序在执行了初始化函数之后就一直在等待枚举,没有产生SOF中断(蓝色文字),一直产生usb复位中断(红色文字),这是怎么回事啊 ?还有就是usb总线上必须串联33欧姆的电阻嘛?换成10欧姆的可以不啊?另外D+不需要外接1.5K的上拉电阻嘛?谢谢了
void USB_Protocol_Handler(void)
{
  uint8 err;
  FLAG_SET(1,GPIOC_PDOR);
    /*USB 程序初始化后会首先进入复位中断 */
/**/ if(FLAG_CHK(USB_ISTAT_USBRST_SHIFT,USB0_ISTAT))//产生USB复位中断
  {
    //USB0_ISTAT =USB_ISTAT_USBRST_MASK;   
    USB_Reset_Handler();                         //进入USB复位中断服务函数
    //return;
  }
if(FLAG_CHK(USB_ISTAT_SOFTOK_SHIFT,USB0_ISTAT))//产生USB SOFTOK中断
  {
    USB0_ISTAT = USB_ISTAT_SOFTOK_MASK;          //清空SOFTOK标志位
  }






欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2