2019-12-10 18:27发布
菜包 发表于 2013-4-23 15:01 挺好的啊,我们公司一直在用,上位机按串口方式编程,驱动就一个文件,很简单。 尤其适合以前用串口通讯, ...
最多设置5个标签!
你好,我是修改的 官方的 usb 库····
现在发现,给PC 发送一个字符,为什么不停的发送呢?
对USB了解不是很深,就会修改····
我发现,我通过串口 给他发送 0x53,他会不停的发 hello world;
发54呢,好么,mt 和 hello world 一起发···
真心求助啊···
我实验的一段函数
- c=usb_cdc_getc();
- switch(c){
- case 0x53:
- c = 0;
- usb_cdc_putc("hello world!!",20);
-
- break;
- case 0x54:
- c = 0;
- usb_cdc_putc("I'm Mt!!",20);
-
- break;
-
-
- }
复制代码================================
mcu----》PC
调用的是这个
- static uint16_t VCP_DataTx (uint8_t* Buf,uint32_t Len)
- {
- int i;
- for(i = 0;i<Len;i++){
- APP_Rx_Buffer[APP_Rx_ptr_in] = *Buf++;
- APP_Rx_ptr_in++;
- /* To avoid buffer overflow */
- if(APP_Rx_ptr_in >= APP_RX_DATA_SIZE)
- {
- APP_Rx_ptr_in = 0;
- }
- }
- return USBD_OK;
- }
复制代码=============================================
PC------->mcu 是这个
- static uint16_t VCP_DataRx (uint8_t* Buf, uint32_t Len){
- uint32_t i;
- for (i = 0; i < Len; i++){
- APP_Tx_Buffer[APP_tx_ptr_head] = *(Buf + i);
- APP_tx_ptr_head++;
- if(APP_tx_ptr_head == APP_TX_BUF_SIZE){
- APP_tx_ptr_head = 0;
- }
- if(APP_tx_ptr_head == APP_tx_ptr_tail){
- return USBD_FAIL;
- }
- }
- return USBD_OK;
- }
复制代码一周热门 更多>