17、STM32驱动OLED显示:SPI与DMA技术详解

STM32驱动OLED显示:SPI与DMA技术详解

1. 基于SPI的OLED驱动基础

1.1 关键函数解析

1.1.1 oled_command()与oled_command2()

oled_command() 函数通过操作GPIO PB10引脚,使其拉低,向OLED控制器表明后续通过SPI1传输的数据为命令字节。而 oled_command2() 与之类似,只是发送的是两个命令字节而非一个。

1.1.2 oled_data()

oled_data() 函数与 oled_command() 功能相似,但它将GPIO PB10引脚拉高,让OLED控制器把SPI数据当作像素数据处理。以下是该函数的代码:

0051: void
0052: oled_data(uint8_t byte) {
0053:   gpio_set(GPIOB,GPIO10);
0054:   spi_enable(SPI1);
0055:   spi_xfer(SPI1,byte);
0056:   spi_disable(SPI1);
0057: }
1.1.3 oled_reset()

oled_reset() 函数用于初始化OLED控制器。具体操作是先将PB11引脚拉低,调用 vTaskDelay(1) 进行约1ms的延时(实际只需至少3μs

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值