使用usb FS 2.1库的vcp例程很顺利,但是在VCP_DataRx()这个函数出现一点问题,请教一下
使用的OTG_FS device
原本打算只是在接收函数里面用串口1发送出来,usb转串口模块给电脑显示验证一下,
static uint16_t VCP_DataRx (uint8_t* Buf, uint32_t Len){ uint32_t i; for (i = 0; i < Len; i++) { USART_SendData(USART1, *(Buf + i) ); while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); } return USBD_OK;}结果vcp的电脑端只能发生一次,然后usb就复位了,串口助手就不能再打开这个com口了,
然后控制变量方法的测试排除
vcp的发送接收都是正常的,完全没有问题,但是整个程序里面不能有串口USART1的输出,可以输入并且接收没有问题,唯独不能使用USART1输出
我测试了串口2输出也正常,没有问题,串口1只要输出usb就复位 com口就不能用了
想难道是串口1和FS的引脚有冲突么
感觉唯一可能就 USART1_CK OTG_FS_SOF 向大家请教下可能的问题 |