|
使用STM32F072C8T6芯片驱动OLED,从F103标准库移植到HAL库,发现一个很奇葩的问题。 如果用HAL库内的 HAL_SPI_TransmitReceive 函数,SCK可以正常发出8bit的波形。 但自己写的驱动函数,SCK都会发出16bit的波形。 正常的8bit波形:
异常的16bit波形:
经过对HAL库单步调试发现,原来是DR寄存器的访问地址方式,决定了SCK的位数!!!!! 与F1系列不同的是,F0的SCK的位数并不受CR2的DS位约束 DR如果看作是16bit地址写入,SCK发出16bit长度。就算是DS标志工作在8BIT模式! DR看作是8bit地址写入,SCK发出8bit长度。
而是根据DR寄存的写寄存器地址长度决定的!
|
F429串口无法和ISP模式的F730串口通讯
用STM32CubeMX配置USB CDC方式通讯(含USB host与USB device工程)
SPI通讯、时钟极性以及时钟相位的基础知识
通过STM32CUbeMX建立USB HID的双向通讯实验成功
STM32-CubeMX-实现CAN通讯
cubemx STM32 CAN通讯,多包数据收发送的处理!
双STM32 主从通讯 主硬件IIc 从采用中断
STM32 串口通讯之 DMA
STM32之SPI通讯应用
LWIP ping不通,但是UDP数据通讯正常
微信公众号
手机版