STM32的USB怎样利用库以最简单的方法修改下载后能在电脑上识别出来???急!!!STM32F103ZET6。。。。 50
#elifdefined(USE_STM3210E_EVAL)#defineUSB_DISCONNECTGPIOG#defineUSB_DISCONNECT_PINGPI...
#elif defined (USE_STM3210E_EVAL)
#define USB_DISCONNECT GPIOG
#define USB_DISCONNECT_PIN GPIO_Pin_11
#define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOG
#define ADC1_DR_Address ((uint32_t)0x4001244C)
我的是控制端接的是PG11 数据端是 PA11 和PA12 展开
#define USB_DISCONNECT GPIOG
#define USB_DISCONNECT_PIN GPIO_Pin_11
#define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOG
#define ADC1_DR_Address ((uint32_t)0x4001244C)
我的是控制端接的是PG11 数据端是 PA11 和PA12 展开
3个回答
展开全部
USB驱动程序很难写?串口线个头太大?PL2303花钱太多?试试看USBCDC吧
它可以让你把USB当成串口操作,不管对上位机(PC程序)还是下位机(单片机)来说都是一样的。
硬件是STM32的USB,但连接在电脑上之后,会被识别为串口。其稳定性较市场上的USB转串口线要好得多,可以用于产品中。
使用方法:
1.先根据你的硬件,修改/project/user/HAL/USBCDC/hw_config.c,此文件对USB进行初始化
2.API调用说明:
先初始化STM32,再调用USBCDC_init();
调用USBCDC_ready()如果返回真(非零),表示连接已建立,可以通讯
此时调用USBCDC_senddata和USBCDC_recvdata,即可收发数据。
USBCDC_disconnect()可以关断连接,令USB模块休眠,降低功耗
如果要重新打开连接,调用USBCDC_connect();这个函数会激活USB模块
3.PC端驱动程序安装,可以使用附带程序,也可以让系统自动上网查找。目前仅测试过windows xp/vista/7,linux未测试过。
这个驱动程序实际上是使用了系统自带的usbser.sys,安装的只是一个inf设置文件。
4.上位机(PC)程序中,对串口直接操作即可,无需考虑USB协议之类的问题
5.例子的代码在/project/user/main.c中,这个例子模拟了串口Tx和Rx短路在一起的情况,也就是说,电脑会立刻收到自己刚刚发出的数据。
6.异常处理:
使用JLink之类的调试器时,USBCDC可能出现异常,退出调试模式并复位STM32后,问题会解决。
如果无法找到串口,或者程序无法识别,或者是通信异常,请关闭应用程序,然后拔掉USB,再插好。
最好是先插USB,再打开程序。停用时,先关闭串口,再拔掉USB(这点非常重要),否则下次可能找不到串口。这个可能是Windows驱动导致的bug
它可以让你把USB当成串口操作,不管对上位机(PC程序)还是下位机(单片机)来说都是一样的。
硬件是STM32的USB,但连接在电脑上之后,会被识别为串口。其稳定性较市场上的USB转串口线要好得多,可以用于产品中。
使用方法:
1.先根据你的硬件,修改/project/user/HAL/USBCDC/hw_config.c,此文件对USB进行初始化
2.API调用说明:
先初始化STM32,再调用USBCDC_init();
调用USBCDC_ready()如果返回真(非零),表示连接已建立,可以通讯
此时调用USBCDC_senddata和USBCDC_recvdata,即可收发数据。
USBCDC_disconnect()可以关断连接,令USB模块休眠,降低功耗
如果要重新打开连接,调用USBCDC_connect();这个函数会激活USB模块
3.PC端驱动程序安装,可以使用附带程序,也可以让系统自动上网查找。目前仅测试过windows xp/vista/7,linux未测试过。
这个驱动程序实际上是使用了系统自带的usbser.sys,安装的只是一个inf设置文件。
4.上位机(PC)程序中,对串口直接操作即可,无需考虑USB协议之类的问题
5.例子的代码在/project/user/main.c中,这个例子模拟了串口Tx和Rx短路在一起的情况,也就是说,电脑会立刻收到自己刚刚发出的数据。
6.异常处理:
使用JLink之类的调试器时,USBCDC可能出现异常,退出调试模式并复位STM32后,问题会解决。
如果无法找到串口,或者程序无法识别,或者是通信异常,请关闭应用程序,然后拔掉USB,再插好。
最好是先插USB,再打开程序。停用时,先关闭串口,再拔掉USB(这点非常重要),否则下次可能找不到串口。这个可能是Windows驱动导致的bug
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询