当前位置: 首页 > news >正文

西宁知名网站设计公司华为荣耀手机最新款

西宁知名网站设计公司,华为荣耀手机最新款,it外包服务网,怎样辨别网站目录 编码介绍 ASCII码 汉字编码 取模软件 江协科技OLED库适用器件 SSD1306简介 模块引脚更改 0.91寸OLED适配 模块驱动必备知识 驱动代码 OLED_Font.h OLED.h OLED.c 编码介绍 ASCII码 ASCII码是一套数字到字符的映射标准#xff0c;它规定了用什么数字表示…目录 编码介绍 ASCII码 汉字编码  取模软件 江协科技OLED库适用器件 SSD1306简介 模块引脚更改 0.91寸OLED适配 模块驱动必备知识 驱动代码  OLED_Font.h OLED.h OLED.c 编码介绍 ASCII码 ASCII码是一套数字到字符的映射标准它规定了用什么数字表示什么字符 例如char a ‘#’;    等效于char a 0x23; char a ‘0’; 等效于char a 0x30; char s[] “hi”;等效于 char s[] {0x68, 0x69, 0x00};  汉字编码  汉字编码是一套数字到汉字的映射标准它规定了用什么数字表示什么汉字 汉字编码有多种方案常用的有GB2312/GBK/GB18030和Unicode/UTF-8 GB2312国内汉字编码 GB2312编码下char s[] “好”;    等效于 char s[] {0xBA, 0xC3, 0x00}; char s[] “你好”;    等效于 char s[] {0xC4, 0xE3, 0xBA, 0xC3, 0x00}; UTF-8是Unicode万国码的传输格式支持所有国家的文字 UTF-8编码下 char s[] “好”;    等效于 char s[] {0xE5, 0xA5, 0xBD, 0x00}; char s[] “你好”;    等效于 char s[] {0xE4, 0xBD, 0xA0, 0xE5, 0xA5, 0xBD, 0x00}; 移植文件时一定选择合适的汉字编码文件如果没有可以使用编码转换软件进行转换文件的编码 编码查询https://www.qqxiuzi.cn/bianma/zifuji.php 取模软件 1.配置选项 2.选择模式 2.1字符模式 1.汉语 2.字符 2.2图片模式 将调好像素的图片导入 江协科技OLED库适用器件 0.96寸OLED显示屏驱动芯片SSD1306 / SSD1315    1.3寸OLED显示屏驱动芯片SH1106     4针脚I2C接口     7针脚SPI接口     128*64像素    像素颜色不限 单片机主频高的可以在通信函数内加一些延时 SSD1306简介 SSD1306是一款OLED/PLED点阵显示屏的控制器可以嵌入在屏幕中用于执行接收数据、显示存储、扫描刷新等任务 驱动接口128个SEG引脚和64个COM引脚对应128*64像素点阵显示屏 内置显示存储器GDDRAM128*64 bit 128*8 Byte SRAM 供电VDD1.65~3.3VIC 逻辑VCC7~15V面板驱动 通信接口8位6800/8080并行接口3/4线SPI接口I2C接口  由于SSD1306供电相关的升压电路OLED模块可以只接3.3V。能不能接5V需要看电路图是否有5V到3V的降压电路 模块引脚更改 更改I2C或者SPI的通信引脚即可 0.91寸OLED适配 模块驱动必备知识 直接调库不看这里也行 SSD1306框图及引脚定义 #表示低电平有效 通信接口选择及通信线定义 4针脚I2C接口模块原理图  提示SSD1306右下角的VBAT引脚就是内部升压电路的输入所以这里VBAT和VDD一起接到供电引脚 7针脚SPI接口模块原理图  字节传输-6800并口 字节传输-8080并口 字节传输-4线SPI 字节传输-3线SPI 字节传输-I2C 执行逻辑框图 命令表 通过写命令时序传输的字节作为发送给SSD1306的一个命令 SSD1306查询命令表的定义执行相应的操作 命令可以由一个字节或者连续的多个字节组成 命令可分为基础命令、滚屏命令、寻址命令、硬件配置命令、时间及驱动命令5大类 初始化过程内部提供VCC  驱动代码  SSD1306中文手册0.96寸OLED显示屏驱动手册SSD1306 - 提货人 - 博客园https://www.cnblogs.com/--Destroyer--/p/12322558.html OLED模块专题的代码等资料见资料下载 注意I2C、SPI串行通信不能读GDDRAM但可以通过先修改软件的缓存区再通过协议GDDRAM通过读写缓存区间接读取GDDRAM。内存较小的单片机不能使用缓存区应该直接写入GDDRAM。 江协科技stm32系列视频的OLED代码【免费】江协科技STM32系列视频OLED模块调试代码资源-CSDN文库 这里列出来江协科技stm32视频的OLED的4针脚I2C代码这个代码供调试使用 OLED_Font.h #ifndef __OLED_FONT_H #define __OLED_FONT_H/*OLED字模库宽8像素高16像素*/ const uint8_t OLED_F8x16[][16] {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 00x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//! 10x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 20x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,//# 30x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,//$ 40xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//% 50x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,// 60x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 70x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,//( 80x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,//) 90x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,//* 100x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,// 110x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,//, 120x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,//- 130x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//. 140x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,/// 150x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//0 160x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//1 170x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//2 180x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//3 190x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//4 200x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//5 210x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//6 220x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//7 230x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//8 240x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//9 250x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//: 260x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,//; 270x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,// 280x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,// 290x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,// 300x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,//? 310xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,// 320x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,//A 330x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,//B 340xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,//C 350x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,//D 360x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,//E 370x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,//F 380xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,//G 390x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,//H 400x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//I 410x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,//J 420x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,//K 430x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,//L 440x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,//M 450x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,//N 460xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,//O 470x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,//P 480xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,//Q 490x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,//R 500x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,//S 510x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//T 520x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//U 530x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,//V 540xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,//W 550x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,//X 560x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//Y 570x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,//Z 580x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,//[ 590x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,//\ 600x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,//] 610x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//^ 620x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//_ 630x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 640x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,//a 650x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,//b 660x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c 670x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,//d 680x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e 690x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//f 700x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,//g 710x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//h 720x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//i 730x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,//j 740x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,//k 750x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//l 760x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m 770x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//n 780x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//o 790x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,//p 800x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,//q 810x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,//r 820x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,//s 830x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,//t 840x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,//u 850x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,//v 860x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,//w 870x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,//x 880x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,//y 890x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,//z 900x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,//{ 910x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,//| 920x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,//} 930x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~ 94 };#endifOLED.h #ifndef __OLED_H #define __OLED_Hvoid OLED_Init(void); void OLED_Clear(void); void OLED_ShowChar(uint8_t Line, uint8_t Column, char Char); void OLED_ShowString(uint8_t Line, uint8_t Column, char *String); void OLED_ShowNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length); void OLED_ShowSignedNum(uint8_t Line, uint8_t Column, int32_t Number, uint8_t Length); void OLED_ShowHexNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length); void OLED_ShowBinNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length);#endifOLED.c #include stm32f10x.h #include OLED_Font.h/*引脚配置*/ #define OLED_W_SCL(x) GPIO_WriteBit(GPIOB, GPIO_Pin_8, (BitAction)(x)) #define OLED_W_SDA(x) GPIO_WriteBit(GPIOB, GPIO_Pin_9, (BitAction)(x))/*引脚初始化*/ void OLED_I2C_Init(void) {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode GPIO_Mode_Out_OD;GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Pin GPIO_Pin_8;GPIO_Init(GPIOB, GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin GPIO_Pin_9;GPIO_Init(GPIOB, GPIO_InitStructure);OLED_W_SCL(1);OLED_W_SDA(1); }/*** brief I2C开始* param 无* retval 无*/ void OLED_I2C_Start(void) {OLED_W_SDA(1);OLED_W_SCL(1);OLED_W_SDA(0);OLED_W_SCL(0); }/*** brief I2C停止* param 无* retval 无*/ void OLED_I2C_Stop(void) {OLED_W_SDA(0);OLED_W_SCL(1);OLED_W_SDA(1); }/*** brief I2C发送一个字节* param Byte 要发送的一个字节* retval 无*/ void OLED_I2C_SendByte(uint8_t Byte) {uint8_t i;for (i 0; i 8; i){OLED_W_SDA(Byte (0x80 i));OLED_W_SCL(1);OLED_W_SCL(0);}OLED_W_SCL(1); //额外的一个时钟不处理应答信号OLED_W_SCL(0); }/*** brief OLED写命令* param Command 要写入的命令* retval 无*/ void OLED_WriteCommand(uint8_t Command) {OLED_I2C_Start();OLED_I2C_SendByte(0x78); //从机地址OLED_I2C_SendByte(0x00); //写命令OLED_I2C_SendByte(Command); OLED_I2C_Stop(); }/*** brief OLED写数据* param Data 要写入的数据* retval 无*/ void OLED_WriteData(uint8_t Data) {OLED_I2C_Start();OLED_I2C_SendByte(0x78); //从机地址OLED_I2C_SendByte(0x40); //写数据OLED_I2C_SendByte(Data);OLED_I2C_Stop(); }/*** brief OLED设置光标位置* param Y 以左上角为原点向下方向的坐标范围0~7* param X 以左上角为原点向右方向的坐标范围0~127* retval 无*/ void OLED_SetCursor(uint8_t Y, uint8_t X) {OLED_WriteCommand(0xB0 | Y); //设置Y位置OLED_WriteCommand(0x10 | ((X 0xF0) 4)); //设置X位置高4位OLED_WriteCommand(0x00 | (X 0x0F)); //设置X位置低4位 }/*** brief OLED清屏* param 无* retval 无*/ void OLED_Clear(void) { uint8_t i, j;for (j 0; j 8; j){OLED_SetCursor(j, 0);for(i 0; i 128; i){OLED_WriteData(0x00);}} }/*** brief OLED显示一个字符* param Line 行位置范围1~4* param Column 列位置范围1~16* param Char 要显示的一个字符范围ASCII可见字符* retval 无*/ void OLED_ShowChar(uint8_t Line, uint8_t Column, char Char) { uint8_t i;OLED_SetCursor((Line - 1) * 2, (Column - 1) * 8); //设置光标位置在上半部分for (i 0; i 8; i){OLED_WriteData(OLED_F8x16[Char - ][i]); //显示上半部分内容}OLED_SetCursor((Line - 1) * 2 1, (Column - 1) * 8); //设置光标位置在下半部分for (i 0; i 8; i){OLED_WriteData(OLED_F8x16[Char - ][i 8]); //显示下半部分内容} }/*** brief OLED显示字符串* param Line 起始行位置范围1~4* param Column 起始列位置范围1~16* param String 要显示的字符串范围ASCII可见字符* retval 无*/ void OLED_ShowString(uint8_t Line, uint8_t Column, char *String) {uint8_t i;for (i 0; String[i] ! \0; i){OLED_ShowChar(Line, Column i, String[i]);} }/*** brief OLED次方函数* retval 返回值等于X的Y次方*/ uint32_t OLED_Pow(uint32_t X, uint32_t Y) {uint32_t Result 1;while (Y--){Result * X;}return Result; }/*** brief OLED显示数字十进制正数* param Line 起始行位置范围1~4* param Column 起始列位置范围1~16* param Number 要显示的数字范围0~4294967295* param Length 要显示数字的长度范围1~10* retval 无*/ void OLED_ShowNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length) {uint8_t i;for (i 0; i Length; i) {OLED_ShowChar(Line, Column i, Number / OLED_Pow(10, Length - i - 1) % 10 0);} }/*** brief OLED显示数字十进制带符号数* param Line 起始行位置范围1~4* param Column 起始列位置范围1~16* param Number 要显示的数字范围-2147483648~2147483647* param Length 要显示数字的长度范围1~10* retval 无*/ void OLED_ShowSignedNum(uint8_t Line, uint8_t Column, int32_t Number, uint8_t Length) {uint8_t i;uint32_t Number1;if (Number 0){OLED_ShowChar(Line, Column, );Number1 Number;}else{OLED_ShowChar(Line, Column, -);Number1 -Number;}for (i 0; i Length; i) {OLED_ShowChar(Line, Column i 1, Number1 / OLED_Pow(10, Length - i - 1) % 10 0);} }/*** brief OLED显示数字十六进制正数* param Line 起始行位置范围1~4* param Column 起始列位置范围1~16* param Number 要显示的数字范围0~0xFFFFFFFF* param Length 要显示数字的长度范围1~8* retval 无*/ void OLED_ShowHexNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length) {uint8_t i, SingleNumber;for (i 0; i Length; i) {SingleNumber Number / OLED_Pow(16, Length - i - 1) % 16;if (SingleNumber 10){OLED_ShowChar(Line, Column i, SingleNumber 0);}else{OLED_ShowChar(Line, Column i, SingleNumber - 10 A);}} }/*** brief OLED显示数字二进制正数* param Line 起始行位置范围1~4* param Column 起始列位置范围1~16* param Number 要显示的数字范围0~1111 1111 1111 1111* param Length 要显示数字的长度范围1~16* retval 无*/ void OLED_ShowBinNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length) {uint8_t i;for (i 0; i Length; i) {OLED_ShowChar(Line, Column i, Number / OLED_Pow(2, Length - i - 1) % 2 0);} }/*** brief OLED初始化* param 无* retval 无*/ void OLED_Init(void) {uint32_t i, j;for (i 0; i 1000; i) //上电延时{for (j 0; j 1000; j);}OLED_I2C_Init(); //端口初始化OLED_WriteCommand(0xAE); //关闭显示OLED_WriteCommand(0xD5); //设置显示时钟分频比/振荡器频率OLED_WriteCommand(0x80);OLED_WriteCommand(0xA8); //设置多路复用率OLED_WriteCommand(0x3F);OLED_WriteCommand(0xD3); //设置显示偏移OLED_WriteCommand(0x00);OLED_WriteCommand(0x40); //设置显示开始行OLED_WriteCommand(0xA1); //设置左右方向0xA1正常 0xA0左右反置OLED_WriteCommand(0xC8); //设置上下方向0xC8正常 0xC0上下反置OLED_WriteCommand(0xDA); //设置COM引脚硬件配置OLED_WriteCommand(0x12);OLED_WriteCommand(0x81); //设置对比度控制OLED_WriteCommand(0xCF);OLED_WriteCommand(0xD9); //设置预充电周期OLED_WriteCommand(0xF1);OLED_WriteCommand(0xDB); //设置VCOMH取消选择级别OLED_WriteCommand(0x30);OLED_WriteCommand(0xA4); //设置整个显示打开/关闭OLED_WriteCommand(0xA6); //设置正常/倒转显示OLED_WriteCommand(0x8D); //设置充电泵OLED_WriteCommand(0x14);OLED_WriteCommand(0xAF); //开启显示OLED_Clear(); //OLED清屏 }
http://www.ho-use.cn/article/10823174.html

相关文章:

  • 北京建设职工大学网站wordpress自定义页面宽度
  • 网站整体建设方案设计百度网站认证
  • 宣城网站seo诊断宁波网站建设官网
  • 平面设计跟网站建设产品推广方案范例
  • 网站可以更更换空间吗网页美工培训班
  • 圣诞网站源码上海有什么seo公司
  • 贸易公司如何做英文网站零售户订烟电商网站
  • 长沙网站制作哪里好免费咨询合同范本
  • 建个人网站赚钱多吗长沙新媒体运营公司
  • 如何衡量一个网站的价值网站策划书是什么
  • 宜宾网站建设费用制作简单的网页代码
  • 看电视剧免费的网站关于网站设计的价格
  • 网站开发按工时收费wordpress网站搬迁
  • 腾讯视频网站建设维护wordpress婚庆主题公园
  • 青岛网站制作方案j2ee 网站开发
  • 张家港网站建设门店金融app开发
  • 100m做电影网站广州网站建设有哪些公司
  • 利用ps制作网站的设计乐陵市seo关键词优化
  • 做任务赚q红包的网站外包程序员的出路
  • 网站建设的前期投入wordpress 图片相册
  • 网站怎么做才有百度权重免费承接网站建设
  • 江华县网站开发科技布沙发好还是布艺沙发好
  • 成都市住房和城乡建设局官方网站公司怎么建立自己的网站
  • 网站开发方式有用python做网站怎么赚钱
  • 电子商务网站建设与管理a浏阳做网站的公司价格
  • 网站推广策划思维导图网站建设需要提供的资料
  • 在家做十字绣兼职网站百度企业号
  • 网站设计是怎么设计的适合写个人博客的平台
  • html简单网站成品免费wordpress 百度云视频
  • iis通过地址访问不了网站wordpress博客无法显示