[应用相关] STM32F103 USB示例代码

[复制链接]
523|6
 楼主| laocuo1142 发表于 2022-7-9 09:00 | 显示全部楼层 |阅读模式
在文件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 */

评论

knk
先右移一位,再左移一位,就是把最低位变成0。  发表于 2022-7-13 23:23
gaoyang9992006 发表于 2022-7-13 17:02 | 显示全部楼层
应该是
huquanz711 发表于 2022-7-13 18:49 来自手机 | 显示全部楼层
应该是吧
littlelida 发表于 2022-7-17 13:36 | 显示全部楼层
有可能吧,多试试
两只袜子 发表于 2022-7-22 15:52 来自手机 | 显示全部楼层
可以问问官方
redone 发表于 2022-7-24 09:06 | 显示全部楼层
有点意思~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1296

主题

6239

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部