打印
[STM32F1]

STM32F103 USB示例代码

[复制链接]
832|57
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gshhkkk|  楼主 | 2022-7-26 18:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在文件stm32f1xx_hal_pcd.h中,红色部分没有实现的代码,未定义,版本是v1.8.4官方是不是漏写了?

#define PCD_GET_EP_TX_ADDRESS(USBx, bEpNum) ((uint16_t)*PCD_EP_TX_ADDRESS((USBx), (bEpNum)))
#define PCD_GET_EP_RX_ADDRESS(USBx, bEpNum) ((uint16_t)*PCD_EP_RX_ADDRESS((USBx), (bEpNum)))
另外以下代码标红色的地方为什么要这么写?
#define PCD_SET_EP_TX_ADDRESS(USBx, bEpNum, wAddr) \
  do { \
    __IO uint16_t *_wRegVal; \
    uint32_t _wRegBase = (uint32_t)USBx; \
    \
    _wRegBase += (uint32_t)(USBx)->BTABLE; \
    _wRegVal = (__IO uint16_t *)(_wRegBase + 0x400U + (((uint32_t)(bEpNum) * 8U) * PMA_ACCESS)); \
    *_wRegVal = ((wAddr) >> 1) << 1; \
  } while(0) /* PCD_SET_EP_TX_ADDRESS */

使用特权

评论回复
沙发
lzbf| | 2023-3-7 20:57 | 只看该作者
如何修改STM32的USB例程为自己所用  

使用特权

评论回复
板凳
tabmone| | 2023-3-9 13:12 | 只看该作者
这个内部配置 问题,不应该是漏写了。

使用特权

评论回复
地板
朝生| | 2023-3-9 13:41 | 只看该作者
应该是头文件没有导入吧。

使用特权

评论回复
5
Undshing| | 2023-3-9 18:16 | 只看该作者
是不是头文件引入的问题啊?

使用特权

评论回复
6
alvpeg| | 2023-3-10 10:11 | 只看该作者
推荐使用stm32cubemx开发usb,简单很多。

使用特权

评论回复
7
saservice| | 2023-3-10 15:38 | 只看该作者
使用stm32进行usb应用开发,有教程吗?

使用特权

评论回复
8
AloneKaven| | 2023-3-10 22:32 | 只看该作者
头文件是不有问题?

使用特权

评论回复
9
houjiakai| | 2023-3-11 20:09 | 只看该作者
stm32usb和串口dma哪个快  

使用特权

评论回复
10
olivem55arlowe| | 2023-3-11 21:36 | 只看该作者
能使用STM32的USB非控制端点发送多个数据包吗?

使用特权

评论回复
11
maudlu| | 2023-3-18 12:24 | 只看该作者
usb时钟怎么配置,这个代码对吗?

使用特权

评论回复
12
wenfen| | 2023-3-27 21:24 | 只看该作者
头文件是不有问题?

使用特权

评论回复
13
lizye| | 2023-3-30 22:03 | 只看该作者
如何修改STM32的USB例程为自己所用  

使用特权

评论回复
14
qbwww| | 2023-3-31 12:39 | 只看该作者
在文件stm32f1xx_hal_pcd.h中,红色部分没有实现的代码,未定义,版本是v1.8.4官方是不是漏写了?

#define PCD_GET_EP_TX_ADDRESS(USBx, bEpNum) ((uint16_t)*PCD_EP_TX_ADDRESS((USBx), (bEpNum)))
#define PCD_GET_EP_RX_ADDRESS(USBx, bEpNum) ((uint16_t)*PCD_EP_RX_ADDRESS((USBx), (bEpNum)))
另外以下代码标红色的地方为什么要这么写?
#define PCD_SET_EP_TX_ADDRESS(USBx, bEpNum, wAddr) \
  do { \
    __IO uint16_t *_wRegVal; \
    uint32_t _wRegBase = (uint32_t)USBx; \
    \
    _wRegBase += (uint32_t)(USBx)->BTABLE; \
    _wRegVal = (__IO uint16_t *)(_wRegBase + 0x400U + (((uint32_t)(bEpNum) * 8U) * PMA_ACCESS)); \
    *_wRegVal = ((wAddr) >> 1) << 1; \
  } while(0) /* PCD_SET_EP_TX_ADDRESS */

使用特权

评论回复
15
wangpe| | 2023-3-31 20:56 | 只看该作者
头文件是不有问题?

使用特权

评论回复
16
songqian17| | 2023-3-31 20:59 | 只看该作者
stm32usb和串口dma哪个快  

使用特权

评论回复
17
happy_10| | 2023-3-31 21:04 | 只看该作者
能使用STM32的USB非控制端点发送多个数据包吗?

使用特权

评论回复
18
Henryko| | 2023-4-2 16:28 | 只看该作者
usb应用开发,有教程吗?

使用特权

评论回复
19
SantaBunny| | 2023-4-3 21:24 | 只看该作者
可以用stm32cubemx开发usb,简单很多

使用特权

评论回复
20
中国龙芯CDX| | 2023-4-4 15:21 | 只看该作者
头文件没有导入?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

40

帖子

0

粉丝