Ric*_*ard 5 c embedded usb cdc stm32
我为STM32CubeF4构建了用于USB CDC示例的代码.我在usbd_cdc_if.c中添加了缺少的CDC_Receive_FS()接收代码.我将它加载到我的STM32F4 Discovery中,它可以工作.在Tera Term上键入的字符将返回并显示在Tera Term上.
我希望有人能够给我一些关于USB CDC固件如何工作的知识,具体来说,这是由USB -D和+ D引脚电压电平转换时产生的中断驱动的,或者是否有一个在某处启动的无限while循环,它只是轮询等待一些数据出现?提示我的问题的是,我看到可以通过在main.c中的无限循环内切换GPIO引脚的状态来使该板上的LED闪烁.但是,在main.c中,这个while循环中没有任何东西用于USB.那么这个USB CDC固件如何从/向Tera Term获取和发送角色.
小智 6
我会花2分钟回答你而不是教你.接收是通过中断完成的.非常非常简单,硬件看到D +/D-上的电压变化,并根据初始化函数标记中断.中断调用HAL_PCD_IRQHandler,它调用usbd_conf.c文件中的USBD_LL_DataInStage.最终调用usbd_cdc.c文件中的函数USBD_CDC_DataIn.有你的出发点,但并不简单.要做你想做的事,你可能必须停止输出到UART并在主循环中处理它.
| 归档时间: |
|
| 查看次数: |
5620 次 |
| 最近记录: |