在文件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 */ |
STM32F103ZET6 CS信号无法拉高
在FreeRTOS中串口重定向使用HAL库函数中断出现异常
STM32F103C8T6 有没有过UL认证?
小白求助,结束while循环后会跳转至循环前继续执行的问题?
官方列表中STM32F1系列单片机支持FOC的双电机控制的SDK是哪个版本。
小白求助
请问这个函数里面AMG要读取温度值转RGB怎么写
stm32f10x_tim.h文件编译错误?
关于STM32F103 USB IAP在bootloader跳转到app区时遇到的问题
STM32F107搭配DP83825 使用lwip通信
第二个这个代码相当于wAddr最后一位变成0,因为这段代码是由宏去实现的,wAddr是没有类型的,它可以是uint8也可以是uint32,这种写法可以忽略掉wAddr的类型,避免出现使用位运算,但两边数据长度不等的问题。