|
使用STM32F072C8T6芯片驱动OLED,从F103标准库移植到HAL库,发现一个很奇葩的问题。$ `* K$ Q& h3 W0 b2 X3 w1 W 如果用HAL库内的 HAL_SPI_TransmitReceive 函数,SCK可以正常发出8bit的波形。9 ^5 G, w) W8 W. k8 P% t) G3 d6 l" U- l 但自己写的驱动函数,SCK都会发出16bit的波形。; O" n3 e0 y+ K, h; ~ 正常的8bit波形:
异常的16bit波形:
) V& a* e+ t6 a+ q4 t 经过对HAL库单步调试发现,原来是DR寄存器的访问地址方式,决定了SCK的位数!!!!! 与F1系列不同的是,F0的SCK的位数并不受CR2的DS位约束* d* E" j' Z4 G5 ] DR如果看作是16bit地址写入,SCK发出16bit长度。就算是DS标志工作在8BIT模式!+ U: `7 O% a0 T( I DR看作是8bit地址写入,SCK发出8bit长度。
, {# h6 u, G) u * q h0 o% M: W/ f3 Y8 X+ [ 而是根据DR寄存的写寄存器地址长度决定的!. |' A- n n+ {
|
STM32L562DK探索板——串口通讯测试成功
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
NUCLEO-H723ZG开发板试用 ——串口点灯测试
MultiButton移植到STM32F103战舰开发板
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
S2LP 的 sniff 模式如何同时满足通讯和低功耗要求
双证齐发!移远通信通过ISO 26262功能安全流程认证及产品认证
意法半导体 STHV200超声波 IC单片简化设计
了解NFC技术优势与应用场景
微信公众号
手机版