SPI通信以及用SPI实现OLED屏

本文详细介绍了如何使用SPI通信协议来控制OLED显示屏,包括管脚初始化、SPI数据交换函数、OLED发送命令和数据的函数,并提供了清屏、初始化和显示图片、字符的示例代码,适用于嵌入式硬件和单片机开发。
摘要由CSDN通过智能技术生成

SPI发送数据:

OLED时序:

oled画图方法:

#include "oled.h"
#include "pic.h"
#include "gif1.h"
#include "font.h"

/*
函数名:OLED_PortInit
函数功能:OLED管脚初始化
返回值:void
形参:void
函数说明:
OLED_CS     ---  PB7   --- 通用推挽输出
OLED_RES       ---  PB6   --- 通用推挽输出
OLED_MOSI   ---  PB15  --- 通用推挽输出
OLED_SCL    ---  PB13  --- 通用推挽输出
OLED_DC     ---  PB12  --- 通用推挽输出
*/
void OLED_PortInit(void)
{
    
    //1、打开时钟(GPIOB、GPIOA)
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
    
    //2、IO初始化
    GPIO_InitTypeDef GPIO_InitStruct={0};
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;//配置为通用推挽输出
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 |GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_15;//配置管脚
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;//IO速度为50Mhz
    GPIO_Init(GPIOB,&GPIO_InitStruct);
    
    //3、上电初始IO电平设置
    OLED_RES_H;//复位管脚
    OLED_CS_H;//片选管脚
    
}


/*
函数名:Spi_TransferData
函数功能:OLED SPI数据交换函数
返回值:void
形参:u8 data    需要发送8bit数据
函数说明:
D7 - D0位: 一次发送8bit数据,且高位先出
下降沿发送数据,上升沿SH1106接收数据
*/

void Spi_TransferD

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值