开发板自带了HID鼠标例程。
这个也不用自己建工程,直接打开例子就可,
我编译并运行了一下。很好用,用边上的,电容感应按键就可模仿鼠标上,下,左,右运动。
简单分析下:
主要有如下几步:
主程序通过udc_start();初始化USB
而一些USB的引导及中断设置都在里边追一下,发现是:
udd_enable();
在追一下:
发现了里边有udd_attach();
而这个函数正是处理USB的主要函数:
void udd_attach(void)
{
irqflags_t flags;
flags = cpu_irq_save();
// At startup the USB bus state is unknown,
// therefore the state is considered IDLE to not miss any USB event
udd_sleep_mode(true);
udd_ack_suspend_event();
udd_ack_resume_event();
udd_attach_device();
// Enable main USB interrupts
udd_enable_tc_interrupt();
udd_enable_busevt_interrupt();
udd_enable_setup_interrupt();
udd_enable_start_of_frame_interrupt();
cpu_irq_restore(flags);
}
这里有个应用笔记,传一下,应有参考价值的
doc8409.pdf
(238.35 KB)
|