
在文件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 */ |
6.28周六签到打卡
foc2.0函数SVPWM_3ShuntCalcDutyCycles看不明白
请问有stm32f103驱动无刷电机的学习资料吗,找了很久都没有找到
STM32F103RET6 FLASH擦除失败问题
stm32编码器模式计数问题
关于ASM330LHH TR调试中的问题
STM32会存在单个IO口坏掉的情况吗?
STM32的DCode bus是连接到bus matrix的吗?参考手册描述和图片是不符吗?
stm32ide怎么正确的导出项目
STM32F105RBT6 2025年 ROSH REACH 报告
第二个这个代码相当于wAddr最后一位变成0,因为这段代码是由宏去实现的,wAddr是没有类型的,它可以是uint8也可以是uint32,这种写法可以忽略掉wAddr的类型,避免出现使用位运算,但两边数据长度不等的问题。