基于SPI接口的OLED数据显示
一、SPI
SPI 是一种串行同步通讯协议,由一个主设备和一个或多个从设备组成, 主设备启动一个与从设备的同步通讯,从而完成数据的互换。该总线大量用在 与 EEPROM、ADC、FRAM 和显示驱动器之类的慢速外设器件通信。stm32 的 SPI 可以工作在全双工,单向发送,单向接收模式,可以使用 DMA 方式操作。
二、实验准备
(1)keil5;
(2)PC,STM32开辟板(这里使用野火stm32mini)、0.96存OLED显示屏、烧录装置(下载器)
参考厂家的用户手册完成引脚毗连
下载步伐
链接:http://www.lcdwiki.com/zh/0.96inch_SPI_OLED_Module
进行测试
二、基于SPI修改步伐实现数据显示
①中文数据显示
文本内容为中文在点阵中为16*16,故都为16进制,我们通过软件进行生成
PCtoLCD2002的提取链接
链接:https://pan.baidu.com/s/128aAVV6URSEWKERxsS8zGg
提取码:dn7x
使用该软件生成十六进制字模
(在选项中选择字符模式、调解字体巨细为16及16进制)
②代码部门
- const typFNT_GB16 cfont16[] = {"张",0x01,0x00,0xF9,0x08,0x09,0x08,0x09,0x10,0x09,0x20,0x79,0x40,0x41,0x00,0x47,0xFE,0x41,0x40,0x79,0x20,0x09,0x20,0x09,0x10,0x09,0x08,0x09,0x44,0x51,0x82,0x21,0x00,/*"张",0*/"子",0x00,0x00,0x7F,0xF8,0x00,0x10,0x00,0x20,0x00,0x40,0x01,0x80,0x01,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00,/*"子",1*/"铭",0x10,0x40,0x10,0x40,0x3C,0xFC,0x21,0x04,0x42,0x88,0xBC,0x50,0x10,0x20,0x10,0x40,0xFC,0x80,0x11,0xFC,0x12,0x84,0x10,0x84,0x14,0x84,0x18,0x84,0x10,0xFC,0x00,0x84,/*"铭",2*/};
复制代码 代码显示部门
- void TEST_MainPage(void){ GUI_ShowString(28,0,"MR ZHANG",16,1); GUI_ShowCHinese(28,20,16,"张子铭",1); GUI_ShowString(4,48,"631807060619",16,1); delay_ms(1500); delay_ms(1500);}
复制代码 main函数
- int main(void){ delay_init(); //延时函数初始化 NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 OLED_Init(); //初始化OLED OLED_Clear(0); //清屏(全黑) while(1) { TEST_MainPage(); //主界面显示测试 }}
复制代码 ,效果演示
三、参考资料
0.96inch SPI OLED Module
来源:https://blog.csdn.net/TBMmagic/article/details/111998240
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |