UP 模拟器 OLED+KEY混合

This commit is contained in:
JiXieShi
2024-06-23 13:03:24 +08:00
parent 0ddeb26c35
commit 8bf40f0d9c
6 changed files with 218 additions and 39 deletions

View File

@@ -82,23 +82,7 @@ struct OLED_Dev {
// 2, 0xA4, 0xA6, // 整个显示打开
// 1, 0xAF // 打开显示
//};
const uint8_t initCmd[] = {
0xAE, // 关闭显示
0xD5, 0x80, // 设置显示时钟分频比/振荡器频率
0xA8, 0x3F, // 设置多路复用比率
0xD3, 0x00, // 设置显示偏移
0x40, 0x00, // 设置显示起始行
0x8D, 0x14, // 电荷泵设置
0x20, 0x00, // 设置内存寻址模式
0xA0, // 设置段重映射
0xC0, // 设置COM输出扫描方向
0xDA, 0x12, // 设置COM引脚硬件配置
0x81, 0xCF, // 设置对比度控制
0xD9, 0xF1, // 设置预充电周期
0xDB, 0x20, // 设置VCOMH取消电平
0xA4, 0xA6, // 整个显示打开
0xAF // 打开显示
};
/**
* @brief OLED初始化
@@ -229,6 +213,32 @@ void OLED_ShowChar(OLED_T *dev, uint8_t x, uint8_t y, uint8_t chr, uint8_t size1
*/
void OLED_ShowString(OLED_T *dev, uint8_t x, uint8_t y, uint8_t *chr, uint8_t size1);
/**
* @brief 在OLED屏幕上显示数字
* @param dev: [输入] OLED设备指针
* @param x: [输入] 数字显示的起始横坐标
* @param y: [输入] 数字显示的起始纵坐标
* @param num: [输入] 要显示的数字
* @param len: [输入] 数字长度
* @param size1: [输入] 字体大小
* @return void
* @example OLED_ShowNum(&oled_dev, 0, 0, 12345, 5, 12);
**/
void OLED_ShowNum(OLED_T *dev, uint8_t x, uint8_t y, uint32_t num, uint8_t len, uint8_t size1);
/**
* @brief 在OLED屏幕上显示图片
* @param dev: [输入] OLED设备指针
* @param x0: [输入] 图片左上角横坐标
* @param y0: [输入] 图片左上角纵坐标
* @param x1: [输入] 图片右下角横坐标
* @param y1: [输入] 图片右下角纵坐标
* @param bmp: [输入] 图片数据数组指针
* @return void
* @example OLED_ShowPic(&oled_dev, 0, 0, 127, 63, bmp_data);
**/
void OLED_ShowPic(OLED_T *dev, uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t *bmp);
/**
* @brief 设置显示起始坐标
* @param dev: [输入] OLED设备指针