目录
目录
前言
上篇文章可以显示基本字符,满足基本使用,但是显示简单的符号,如(℃,汉字等)不能显示,于是今天再次更新,可以显示简单符号和汉字的使用。
本片文章在上篇文章基础上进行更新,只更新和这篇有关的代码,其他的代码看我上篇文章,有全部代码。
文章思路:1,代码
2,取模软件使用
3,使用代码
一、代码
1.OLED.C
/**
* @brief OLED显示一个汉字
* @param Line 行位置,范围:1~4
* @param Column 列位置,范围:1~16
* @retval 无
*/
void OLED_ShowChinese(uint8_t Line, uint8_t Column, uint8_t num)
{
uint8_t i;
/*注意,因为汉字占用两个两个字节(字符显示占用一个左右字节),所以位置顺序要加2 */
OLED_SetCursor((Line - 1) * 2, (Column - 1) *8); //设置光标位置在上半部分
for (i = 0; i < 16; i++)
{
OLED_WriteData(Font_Chinese[2*num][i]); //显示上半部分内容
}
OLED_SetCursor((Line - 1) * 2 + 1, (Column - 1) * 8); //设置光标位置在下半部分
for (i = 0; i < 16; i++)
{
OLED_WriteData(Font_Chinese[2*num+1][i]); //显示下半部分内容
}
}
2.OLED.h
//在中间添加这一行
void OLED_ShowChinese(uint8_t Line, uint8_t Column, uint8_t num);
3. 字模库const uint8_t Font_Chinese[][16]={}
取模代码放到这里
/*OLED汉字模库,宽16像素,高16像素*/
/* 这库是你需要哪个汉字或字符就加那个 */
const uint8_t Font_Chinese[][16]=
{
{0x06,0x09,0x09,0xE6,0xF8,0x0C,0x04,0x02,0x02,0x02,0x02,0x02,0x04,0x1E,0x00,0x00},
{0x00,0x00,0x00,0x07,0x1F,0x30,0x20,0x40,0x40,0x40,0x40,0x40,0x20,0x10,0x00,0x00},/*"℃",0*/
/* (16 X 16 , 宋体 )*/ //℃符号,顺序为0,调用的时候填写顺序符号就行
};
二、取模软件的使用
1.取模软件获取
链接:https://pan.baidu.com/s/11JWTXQ0DB1SCU5Hgs8KS7g?pwd=1234
提取码:1234
2.使用
点击选项,只需要在“自定义格式”中,改为“C51,格式”,其他不变。
步骤说明:1,设置字宽(16),字高(16)
2.在此输入你想显示的内容,最好每次获取一个
3.点击生成
4.复制代码
三、使用代码
1.将复制的代码放到 “const uint8_t Font_Chinese[][16]={}”函数内。
2.调用函数
while (1)
{
OLED_ShowChinese(2,1,1);
OLED_ShowChinese(2,3,2);
OLED_ShowChinese(2,5,3);
OLED_ShowString(2, 7, "~");
}
3.效果
总结
吾尝终日而思矣,不如须臾之所学也
吾尝跂而望矣,不如登高之博见也