STC8单片机OLED通过SPI硬件中断方式驱动(下)

本文介绍了如何将OLED_WR_Byte函数改造为硬件驱动,通过SPI_Busy标志管理命令和数据传输,并创建了OLED_WR_Cmd和OLED_WR_Data两个独立函数。展示了在实际项目中优化代码,提升硬件控制效率的过程。
摘要由CSDN通过智能技术生成

到这里基本就写完了,我们来看看修改例程中的代码,先看看中景园给的

void OLED_WR_Byte(uint8_t dat, uint8_t cmd)
{
	register uint8_t i = 0;
	OLED_DC = cmd;
	
		for(;i<8;i++)
		{
			OLED_SCL_Clr();
			if(dat&0x80)
			{
			 OLED_SDA_Set();
			}
			else
			{
			 OLED_SDA_Clr();
			}
		  OLED_SCL_Set();
			dat<<=1;
		}
	
	OLED_CS_Set();
	OLED_DC_Set();
}

改为硬件驱动

#ifdef hardware
void OLED_WR_Data(uint8_t dat)
{
	SPI_Busy = 0;
	OLED_DC_Set(); //拉高DC管脚,写数据
	OLED_Writ_Bus(dat);
}

void OLED_WR_Cmd(uint8_t cmd)
{
	SPI_Busy = 0;
	OLED_DC_Clr(); //拉低DC管脚,写命令
	OLED_Writ_Bus(cmd);
}
#endif

这里其实就是区别了命令和数据管脚,写了两个函数,然后加了一个ifdef 到这里就基本完善了,例程给的优化有点差,然后再后面会出一期优化的

0.96寸蓝色OLED模块 7P SPI+I2C接口软硬件设计资料(包括技术手册+硬件参考设计+C51STM8 PICSTM32单片机软件工程源码+取字模软件) arduino_SPI_例程.rar arduino_SPI_例程.rar.zip 中景园电子0.96OLED显示屏_arduino_IIC_例程 中景园电子0.96OLED显示屏_arduino_IIC_例程.rar 中景园电子0.96OLED显示屏_C51系列_IIC_例程 中景园电子0.96OLED显示屏_C51系列_IIC_例程.rar 中景园电子0.96OLED显示屏_C51系列_IIC_例程推荐使用 中景园电子0.96OLED显示屏_C51系列_IIC_例程推荐使用.zip 中景园电子0.96OLED显示屏_C51系列_IIC应答_例程 中景园电子0.96OLED显示屏_C51系列_IIC应答_例程.rar 中景园电子0.96OLED显示屏_C51系列_IIC无应答_例程 中景园电子0.96OLED显示屏_C51系列_IIC无应答_例程.rar 中景园电子0.96OLED显示屏_C51系列_SPI_例程.rar 中景园电子0.96OLED显示屏_MSP430系列_SPI_例程.rar 中景园电子0.96OLED显示屏_PIC系列_SPI_例程.rar 中景园电子0.96OLED显示屏_STM32F103C8_IIC_V1.0.rar 中景园电子0.96OLED显示屏_STM32F103RC_IIC_V1.0.zip 中景园电子0.96OLED显示屏_STM32F103ZET6_IIC_V1.0.zip 中景园电子0.96OLED显示屏_STM32ZET系列_SPI_例程.zip 中景园电子0.96OLED显示屏_STM32_F103C8系列_SPI_例程 中景园电子0.96OLED显示屏_STM32_F103C8系列_SPI_例程.rar 中景园电子0.96OLED显示屏_STM32_F103RCT6系列_SPI_例程.zip 中景园电子0.96OLED显示屏_STM8S103K3T6_SPI_例程.zip 中景园电子0.96OLED显示屏_STM8系列_IIC_例程.zip 中景园电子0.96OLED显示屏_STM8系列_SPI_例程.rar SPI接口arduino连接方式.rar 中景园电子0.96OLED显示屏原理图 中景园电子0.96OLED显示屏数据手册 中景园电子0.96OLED显示屏测试程序 中景园电子0.96寸OLED使用文档新手必看V2.0.pdf 关于七针0.96寸OLED使用IIC接口的说明.rar 取字模软件
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅哥的小迷弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值