
在文件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 */ |
STM32F103烧录程序后电流变大
STM32F103CBT6读取单总线温湿度传感器,需要手动重启。
求教學stlink v3 set** 怎麼和**blue pill**連結傳輸寫好的程式
F103和G474的180°移相區別
怎么下载stm32f103zet6的spice模型,没找到
塗鴉模組適配ST芯片
板载stlink无法连接到设备
STM32F103长时间运行,串口发送失败
STM32G474 BOOST电路双环PID的用法
foc2.0函数SVPWM_3ShuntCalcDutyCycles看不明白
第二个这个代码相当于wAddr最后一位变成0,因为这段代码是由宏去实现的,wAddr是没有类型的,它可以是uint8也可以是uint32,这种写法可以忽略掉wAddr的类型,避免出现使用位运算,但两边数据长度不等的问题。