1)
SetBTABLE(BTABLE_ADDRESS); //设置包缓冲区地址
SetBTABLE(BTABLE_ADDRESS);
void SetBTABLE(uint16_t wRegValue)
{
_SetBTABLE(wRegValue);
}
#define _SetBTABLE(wRegValue)(*BTABLE = (uint16_t)(wRegValue & 0xFFF8))
#define BTABLE ((__IO unsigned *)(RegBase + 0x50))
#define RegBase (0x40005C00L) /* USB_IP Peripheral Registers base address */
#define PMAAddr (0x40006000L) /* USB_IP Packet Memory Area base address */
2)
中断触发
void USB_HP_CAN1_TX_IRQHandler(void)
{
CTR_HP();
printf("USB_HP_CAN1_TX_IRQHandler!");
}
void USB_LP_CAN1_RX0_IRQHandler(void)
{
USB_Istr();
//printf("USB_LP_CAN1_RX0_IRQHandler!");
}
3)
/* rx/tx buffer base address */
#define ENDP0_RXADDR (0x18)
#define ENDP0_TXADDR (0x58)
/* EP1 */
/* tx buffer base address */
#define ENDP1_TXADDR (0x98)
/* EP2 */
/* Rx buffer base address */
#define ENDP2_RXADDR (0x200)//(0xD8)
#define ENDP1_RXADDR (0xD8)
#define ENDP2_TXADDR (0x400)
4)usb、串口的数据会在最后一次保存,最后一次获取里面信息会不断获取重复信息