智能车制作
标题:
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