1)
/* Enable USB , PHY and use remote wake-up */ #define _DRVUSB_ENABLE_USB() outp32((&USBD->ATTR), 0x7D0) #define outp32(port,value) *((volatile unsigned int *)(port))=value
这个宏的作用是,将0x7D0的值设置到ATTR寄存器中。
2)
typedef void (*PFN_DRVUSB_INTCALLBACK)(void *); void * pVoid; if (pVoid != NULL) g_FnIntCallBack = (PFN_DRVUSB_INTCALLBACK)pVoid; /* 可以将方法的地址直接作为另一个方法的参数传入到方法中 */
typedef void (*PFN_DRVUSB_INTCALLBACK)(void *);
定义的是一个参数为空,返回值为空的方法指针类型
原文:http://www.cnblogs.com/-liszt/p/3650251.html