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

咸阳建设网站广州网站推广平台

咸阳建设网站,广州网站推广平台,深圳网站建设去哪里,网络创始人 网站建设【STM32 HAL库】OLED显示模块 前言理论OLED基本参数OLED基本驱动原理OLED坐标轴 应用CubeMx配置底层函数代码高层封装函数printf显示函数 前言 本文为笔者学习 OLED 的总结,基于keysking的视频内容,如有错误,欢迎指正 理论 OLED基本参数 …

【STM32 HAL库】OLED显示模块

  • 前言
  • 理论
    • OLED基本参数
    • OLED基本驱动原理
    • OLED坐标轴
  • 应用
    • CubeMx配置
    • 底层函数代码
    • 高层封装函数
      • printf显示函数

前言

本文为笔者学习 OLED 的总结,基于keysking的视频内容,如有错误,欢迎指正

理论

OLED基本参数

分辨率
在这里插入图片描述
常见的oled显示模块的分辨率为128*64,即横向128个像素点,纵向64个像素点

OLED基本驱动原理

在这里插入图片描述

OLED坐标轴

在这里插入图片描述

应用

CubeMx配置

在这里插入图片描述

底层函数代码

OLED驱动的底层函数代码通常由厂商提供,只需理解并调用相应函数即可
在这里我贴一下我使用的OLED_SSD1306驱动
,由keysking提供

高层封装函数

printf显示函数

/*** @brief 类似printf函数,在 OLED 指定行和列处打印格式化的字符串** @param line OLED 显示的行数(从 0行 开始),每行高度为 16 像素* @param column OLED 显示的列号(从 0列 开始),每列宽度为 8 像素* @param format 格式化字符串,必须加双引号,类似 `printf` 的入参格式。* @param ... 可变参数,用于替换 `format` 字符串中的占位符。** @note 该函数使用 `vsprintf` 进行字符串格式化,`buffer` 大小为 128 字节。`OLED_PrintString` 函数将最终的字符串显示在 OLED 上,使用 16x16 的字体和常规显示模式。*/
void OLED_printf(uint8_t line, uint8_t column, const char *format, ...)
{uint8_t x = column * 8; // 将列号转换为像素坐标uint8_t y = line * 16;  // 将行号转换为像素坐标char buffer[128];       // 用于存储格式化后的字符串va_list args;           // 定义可变参数列表// 初始化可变参数列表va_start(args, format);// 使用 vsprintf 将格式化后的内容写入 buffervsprintf(buffer, format, args);// 结束可变参数处理va_end(args);// 将格式化后的字符串显示在 OLED 上OLED_PrintString(x, y, buffer, &font16x16, OLED_COLOR_NORMAL);
}

接下来补充说明一下可变参数

... 为可变参数,... 本身并不是一种特定的类型,而是表示参数列表的可变性。允许在运行时接收任意数量和类型的参数,具体类型由传入的参数决定。
... 可接收任意数量和类型的参数,但参数与参数直接需用 , 分隔。
定义 argsva_list 类型(可变参数列表),用于存储任意数量和类型的可变参数。
va_start(args,format); 将可变参数列表 args 的开始索引指向 format 参数的下一位(下一位就是 ... 可变参数的原因与函数调用约定和栈布局有关,不用深究。
va_start(args, format); 初始化 args,将列表开始索引指向 format 参数的下一位,(表示这后续的参数都是 args
vsprintf(buffer, format, args); 先扫描 format 字符串并读取其占位符—>再读取 args 中的可变参数并填入占位符—>最后将格式化后的结果写入 buffer 字符串。
va_end(args); 用于结束可变参数处理,释放资源。为保证代码的可移植性和规范性,处理完可变参数后应调用。

http://www.dinnco.com/news/6158.html

相关文章:

  • 哈尔滨网站建设制作哪家便宜seo推广系统
  • 网站屏蔽省份信息流广告代理商排名
  • 如何在虚拟机里面做网站中国网络营销公司排名
  • 安装下载app移动端优化
  • 网站信息维护方案刷神马关键字排名软件
  • 佛山网站搭建公司百一度一下你就知道
  • 做网站容易还是app友情链接适用网站
  • 红河县网站建设关键词投放
  • 做网站登入见面2021国内最好用免费建站系统
  • 黄岛网站建设多少钱佛山网站建设正规公司
  • 眼镜网站怎么做竞价网站排名优化方法
  • 网站弹窗是怎么做的爱网站查询
  • 南京专业网站制作多少钱网络营销试卷及答案
  • 佛山网站建设专业公司店铺推广软文300字
  • 设计师网单怎么做单页网站seo如何优化
  • 唐山哪里有做网站的统计站老站长推荐草莓
  • 网剧推广一次5元seo外链推广
  • 建设网站的合同室内设计培训班学费一般多少
  • 哪个免费建站好软文写作的基本要求
  • vps网站设置北京网站优化效果
  • 沐风 wordpress 主题北京seo
  • 推广营销策划网站优化的方法有哪些
  • 公众平台网站价格东莞网络营销渠道
  • 工程建设与设计期刊网站今日新闻热点10条
  • 辖网站建设seo网站推广的主要目的
  • 大学网站模板下载代运营公司是怎么运营的
  • 做响应式网站的流程如何创建一个app
  • 建设一个网站需要的条件中文搜索引擎大全
  • 建设网站一定要备案吗seo图片优化
  • 做网站域名选择百度怎么发免费广告