mcu1815 发表于 2012-7-23 09:30
1.发送64B不行,发送60B就可以,这个我也不是很清楚为什么会是这样。
2.延时主要是为了让你有时间打开串 ...
int main(void)
{
u8 a[64] = {0x04,0x40,0x0E,0x50,0x78,0x48,0x08,0x48,0x08,0x40,0xFF,0xFE,0x08,0x40,0x08,0x44,
0x0A,0x44,0x0C,0x48,0x18,0x30,0x68,0x22,0x08,0x52,0x08,0x8A,0x2B,0x06,0x10,0x02,
0x00,0x40,0x00,0x40,0x78,0xA0,0x49,0x10,0x4A,0x08,0x4D,0xF6,0x48,0x40,0x48,0x40,
0x4F,0xFC,0x48,0x40,0x78,0x40,0x4B,0xF8,0x02,0x08,0x02,0x08,0x03,0xF8,0x02,0x08
}; //数组
Init_System();//系统初始化
Set_USBClock();//设置USB时钟
USB_Interrupts_Config(); //配置USB中断
USB_Init();//初始化USB
while (1)
{
USB_Send_Data(a, 64);
}
void USB_Send_Data(u16* data_buffer, u8 len) //调用的此函数发送数组
{
count_in=len;
UserToPMABufferCopy(data_buffer, ENDP1_TXADDR, count_in);
SetEPTxCount(ENDP1, count_in);
SetEPTxValid(ENDP1);
}
你试试这个,看能不能发送64个,如果不行,将数组改为63.
|