jjzjj

esp32 Arduino(九)u8g2图形库 IIC驱动OLED

一、简介:LED驱动芯片:SSD1306开发平台:vscode+platformIO开发板:ESP32Divkitv1目前Arduino平台上使用最广泛的OLED库:U8G2github地址:https://github.com/olikraus/u8g2/设置和参考手册:https://github.com/olikraus/u8g2/wikiU8g2:单色显示器库,版本2U8g2是用于嵌入式设备的单色图形库。U8g2支持单色OLED和LCD,包括以下控制器:SSD1305,SSD1306,SSD1309,SSD1322,SSD1325,SSD1327,SSD1329,SSD1606,SSD

关于OLED花屏的解决方案之一

一两年前买了一个OLED模块,当时跑了个例程能正常显示就放着不管,前几天拿出来玩玩怎么搞都是花屏,如下图。一开始以为是OLED初始化的问题,在网上搜了好几个版本的初始化代码都不行。然后以为是iic时序的问题,因为代码中的iic协议与我当时学习的时候有点差别,当时学习iic协议的时候,在时钟线拉高的时候,我记得是需要有一定的时间稳定,再将数据线拉低,原先使用的代码都没有体现这个,可能是因为跟MCU的运行速度有关。后面就将一开始学习的iic协议代码移植过来,仍然还是会出现花屏或者是乱码,不能正常显示。第三个问题就是应答响应,在官方的SSD1306中,进行iic协议通信的时候,写入命令后都需要等待从

基于STM32F103C8T6四路AD采集数据显示在oled屏上非DMA传输方式(附百度网盘下载链接)

本文采用四路AD采集光照强度、烟雾浓度、一氧化碳、空气质量等四个物理量,并采用中位值平均滤波(防脉冲干扰平均滤波法)算法对偶然出现的脉冲性干扰,消除由其引起的采样值偏差。ADC简介STM32F103C8T6有两个ADC,12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐的方式存储在16位数据寄存器中。主要用到的ADC参数和函数voidADC1_Init(void){GPIO_InitTypeDefGPIO_InitStructure;ADC_InitTypeDef

STM32_OLED多级菜单

STM32_OLED多级菜单程序实现多级菜单显示实则是多个界面的跳转,这个版本更加适合初学者。我使用了两个按键,一个用来选择下一项,另一个用来确定选项。所以我们暂时叫他next键和enter键。先定义一个结构体,结构体里面有四个变量,分别代表当前索引号,next键,enter键和当前执行函数。结构体如下:typedefstruct{u8current;//当前状态索引号u8next;//向下一个u8enter;//确定void(*current_operation)(void);//当前状态应该执行的操作}Menu_table;这里是核心思想,就是按键按下决定当前的索引号,继续定义一个数组:M

STM32单片机(四)第二节:OLED显示屏

❤️专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。☀️专栏适用人群:适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋。🌙专栏目标:实现从零基础入门51单片机和STM32单片机,力求在玩好单片机的同时,能够了解一些计算机的基本概念,了解电路及其元器件的基本理论等。⭐️专栏主要内容:主要学习STM32单片机的功能、各个模块、单片机的外设、驱动等,最终玩好单片机和单片机的外设,全程手敲代码,实现我们所要实现的功能。🌴专栏说明:如果文章知识点有错误的地方

Golang WMI查询XP

我正在使用mattn的go-ole包连接到WMI,我使用在堆栈中找到的一些示例使它工作,并且一切正常,直到我尝试使其在WinXP中工作。Microsoft文档说thatWbemScripting.SWbemLocator仅适用于Vista,因此我一直在尝试Microsoft展示的用于VBScript的winmgmts方法,但我没有得到任何结果。这是我的。这适用于Win7:wmiscriptObj,err:=oleutil.CreateObject("WbemScripting.SWbemLocator")这在XP或7中都不起作用:wmiscriptObj,err:=oleutil.Cr

Golang WMI查询XP

我正在使用mattn的go-ole包连接到WMI,我使用在堆栈中找到的一些示例使它工作,并且一切正常,直到我尝试使其在WinXP中工作。Microsoft文档说thatWbemScripting.SWbemLocator仅适用于Vista,因此我一直在尝试Microsoft展示的用于VBScript的winmgmts方法,但我没有得到任何结果。这是我的。这适用于Win7:wmiscriptObj,err:=oleutil.CreateObject("WbemScripting.SWbemLocator")这在XP或7中都不起作用:wmiscriptObj,err:=oleutil.Cr

Microsoft OLE DB Provider for SQL Server 错误 ‘80004005‘ 超时已过期

SQL 管理工具新建维护计划和修改维护计划时,碰到MicrosoftOLEDBProviderforSQLServer错误'80004005'超时已过期,如下图网上搜索很多方法,都不能有效解决,后面通过自己的分析,觉得还是连接出了问题,打开SQLServerManagementStudio时,刚开始是采用服务器名称用IP地址,SQLserver身份验证,后面更换成服务器名称用计算机名登录,再次操作维护计划,就不会报错。这样问题就明确了,就是SQL 关于TCPIP的配置问题,果断打开SQL 服务配置工具,启用TCP/IP连接,如下图: 配置完成后,再使用IP地址登录,不在报错,果然就是这里的设置

Microsoft OLE DB Provider for ODBC Drivers 错误 ‘80004005‘[Microsoft][ODBC 驱动程序管理器] - 解决方案

MicrosoftOLEDBProviderforODBCDrivers 错误'80004005'[Microsoft][ODBC驱动程序管理器]在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配解决办法:64位操作系统不支持MicrosoftOLEDBProviderforJet驱动程序,也不支持更早的MicrosoftAccessDriver(*.mdb)方式连接。所以,程序里面的链接字符串不能正常工作。需要修改下IIS的工作环境,改成32位的,在IIS的管理界面中。把应用程序池中的默认应用程序池常规选项中的32位方式启用就可以了: 如果对您有帮助的话点个赞呗~

OLED显示图像和波形

因为在网上没有找到完整的OLED显示波形的代码,所以自己写了一个,但是在网上居然都没找到详细的OLED数据手册,不过完整的驱动OLED显示数字字母代码很多。于是我在别人写好的代码下面加了显示波形的函数,但是显示波形和显示字母数字并不算兼容,因为原点设置的不一样。这里也只展示了部分代码,OLED初始化的代码很多,将下面两个函数添加到.c文件,再调用即可。voidfunction_1(void) { unsignedchari; unsignedcharj; unsignedinty; unsignedchara[8][8]; unsignedchartemp=0x01; unsign