jjzjj

U8g2库的STM32硬件SPI(DMA)移植教程(HAL、OLED显示、四线SPI、DMA)

U8g2库的STM32硬件SPI(DMA)移植教程U8g2库的STM32硬件SPI移植教程(HAL、OLED显示、四线SPI)前言U8g2简介U8g2是什么U8g2支持的显示控制器U8g2的优势CubexMX的配置RCC配置外部高速晶振(精度更高)——HSE:SYS配置:Debug设置成SerialWire(否则可能导致芯片自锁):时钟树配置:SPI1配置半双工(全双工):作为OLED的通讯方式:(注意这里的配置)DMA配置:工程配置:U8g2移植准备U8g2库文件精简U8g2库文件去掉csrc文件夹中无用的驱动文件精简u8g2_d_setup.c(注意不是u8x8_setup.c)精简u8g

0.96寸 4针OLED屏模块功能实现(STM32)

认识模块        0.96寸4针OLED屏模块是一种显示屏模块,它包括一个0.96英寸的OLED显示屏和4个引脚。这种OLED屏幕模块通常用于嵌入式系统和小型电子设备中,可以显示文本、图像和其他类型的信息。由于其小尺寸和低功耗,它们也常用于智能手表、健康追踪器和其他便携式设备中。此类模块通常使用SPI或I2C接口进行通信,并且支持多种分辨率和颜色模式。    该模块有4个引脚,分别为VCC、GND、SCL和SDA。VCC是电源引脚,用于提供模块的电源,一般是3.3V或5V电源。GND是地引脚,用于提供模块的接地。需要接到负极电源上。SCL是时钟引脚,用于传输数据时的时钟信号。通常需要连接

单片机设计:基于stm32蓝牙音响(mp3模块+喇叭+点阵屏+OLED+蓝牙+手机app)

单片机设计:基于stm32蓝牙音响(mp3模块+喇叭+点阵屏+OLED+蓝牙+手机app)一、主要功能:1.手机app播放内存卡的音乐、同时点阵屏随音乐进行跳动2.0LED、手机app显示当前音量以及当前状态3.手机app远程调节音量阈值,可以切换上一首、下一首,音乐播放结束后自动下一首     当然也可以添加其他功能~1.实物2.源码以及手机app3.原理图4.售后线上服务(代码讲解)二、实物图:三、部分源码: while(1) {         key=RX;//手机按键值   MP3(key);   if(flag_song==1)//按键的值不等于1 1即为暂停(点阵屏)   {  

OpenHarmony轻量系统开发【7】驱动之I2C显示OLED屏幕

摘要:本文简单介绍如何操作I2C去显示OLED屏幕,并且实现动画播放、中文英文显示、绘图等功能适合群体:适用于润和Hi3861开发板,L0轻量系统驱动开发文中所有代码仓库:https://gitee.com/qidiyun/hihope-3861-smart-home-kit 本文参考许思维老师的文章,许思维老师主页是:https://harmonyos.51cto.com/user/posts/6631823 感谢许思维老师~7.1实验效果HisparkWiFi开发套件又提供一个oled屏幕,但是鸿蒙源码中没有这个屏幕的驱动,我们需要自己去移植。以下是移植效果:接口:I2C使用引脚:HI_I

在OLED上显示各种各样的数据(文字、字母、图片)

今天来说一说OLED,也同时记录一下成果。在学习OLED之前需要知道IIC协议,不了解的可以看(IIC协议相关_dxdlnu的博客-CSDN博客)什么是OLED? OLED_百度百科(baidu.com) 一.OLED写入指令和数据因为OLED是有写入指令/数据的操作的,至于为什么有在后面编写程序的时候就能知道。先看一下如何写入指令和数据?CO和D/C说明如下:根据协议图,封装一个写入指令的函数: 封装一个写入数据的函数:**********87行有误应该是0x40写入数据二.OLED显示一个点的思路及代码实现首先思考,一个OLED屏有那么大,我们如何在一个自己想要的地方显示一个点呢?这就先要

OLED工作原理及结构

1.主流显示面板技术:LCD,OLED,MicroLED2.主流显示屏的发展趋势3.OLED堆叠结构:相比LCD,OLED没了背光和下偏光片4.OLED发光原理:外界电场驱动-->载流子的注入(电子和空穴分别由阴极和阳极注入到有机电子传输层和空穴层)-->载流子传输(在各自的传输层传输,向发光层靠近)-->产生激子(在有机发光层,电子和空穴复合生成激子)-->辐射发光(激子辐射跃迁回到基态并发光,光从透明阳极和衬底发出)5.OLED像素电路工作原理:相比LCD,OLED除了开关管T1之外,还多了控制管T2寻址信号Gate,加载到SW_TFT(T1)的栅极,控制它的导通/开关管T1;数据信号So

基于IIC通信的显示器OLED编程详解(一篇搞懂)

前言:上一篇博客介绍了IIC通信,这篇我们就来玩玩oled模块。当然选用的是IIC接口,因为市面上还有一种是SPI接口的。对于oled长啥样,采用了什么材料,工艺怎么怎么样等等这里就不作任何介绍,搞得眼花缭乱的,对我们用它做开发也没任何帮助,同时节省读者阅读时间。为什么会有这种想法,就是因为发现一些博客在无关紧要的东西方面写了大半篇幅,而在实现原理方面草草了之,再放点代码,贴个效果实现图就算完事了,虚的一批。所以想自己写点东西,话不多说,下面直接开干,上技术活。强调:相关IIC通信代码请参考我的上篇博客1、写模式——写命令与写数据当我们拿到一个硬件产品准备做开发时,毫无疑问首先要做的就是参考产

STM32F103系列_OLED屏幕(SSD1306、SSD1315驱动)SPI驱动【DMA】(高刷)

STM32F103系列_OLED屏幕(SSD1306、SSD1315驱动)SPI驱动【DMA】(高刷)一、SSD1306和SSD1315二、电路原理图(SPI接法)三、STM32_SPI四、STM32_DMA五、代码OLED.cOLED.hOLED_Library.hDelay.h六、调用方法例:main.c七、该库函数的优缺点优点缺点一、SSD1306和SSD1315分辨率都是128*64,电压都在3.3V最佳,这两者可互相替代,但价格上SSD1315会比SSD1306便宜,毕竟用的人少。二、电路原理图(SPI接法)为了提高屏幕的刷新速度(帧率),SPI接法远远优于IIC接法。电路图如下:其

简易oled多级菜单实现

前言最近在学习如何实现oled多级菜单时,查看了大多数博主发的文章,大概似懂的文章内容可让我好一阵思考,于是我觉得应该有一篇更加简单易懂的文章能轻易上手;我们实现项目时一定先要准备以下知识点:1.结构体2.结构体数组3.函数指针(如果还有没有这方面的C语言知识,可以阅读相关博客学习,因为只有我们了解了这些知识后,才不会望而却步!)一、定义一个结构体定义一个结构体,结构体里面应当有你想要怎样操作界面的变量等,一般包括:1.当前索引号,2.下一个,3.确定,4.当前执行函数的函数指针;我这里使用两个按键,一个表切换下一个,一个表确定。//定义一个结构体包含你想操作内容typedefstruct{

STM32驱动超声波+OLED显示,并上传数据到云端(ONENET)

本文将介绍如何使用STM32F103C8T6单片机和HC-SR04超声波测距模块来实现测距功能,并通过0.96寸OLED屏幕显示测距结果。首先,我们需要了解一下HC-SR04超声波测距模块的工作原理。该模块通过发送超声波脉冲并接收回波信号的时间来计算物体与模块之间的距离。具体实现过程如下:发送一个10微秒的高电平脉冲至Trig引脚,该脉冲将触发模块发送一组8个40kHz的超声波脉冲。当超声波脉冲发射后,模块将Echo引脚输出高电平,并持续时间与超声波传播路径的长度成正比。使用STM32F103C8T6单片机的定时器(Timer)来测量Echo引脚输出高电平的时间,即为超声波传播路径的时间t。计