完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void LCD_DisplayCGRAM0(u8 address, u8 *ptrTable)
{ u8 u; /* Set CGRAM Address */ LCD_SendByte(COMMAND_TYPE, (u8)0x40); u = 32; /* Nb byte in the table */ while (u) { LCD_SendByte(DATA_TYPE, ptrTable[32 - u]); u--; } /* Setup Display Address */ LCD_SendByte(COMMAND_TYPE, address); LCD_SendByte(DATA_TYPE, (u8)0x00); LCD_SendByte(DATA_TYPE, (u8)0x00); } 这个函数中最后两句目的是什么作用? |
|
相关推荐
1个回答
|
|
STM8-MC_KIT的MC_stm8s_lcd.c文件中的LCD_DisplayCGRAM0函数是一个用于在STM8微控制器的LCD屏幕上显示自定义字符的函数。这个函数的主要作用是将用户定义的字符图案存储在LCD的CGRAM(Character Generator RAM)中,并将这些自定义字符显示在屏幕上。
函数的参数和步骤如下: 1. `u8 address`:这是要显示自定义字符的LCD地址。通常,这个地址是字符在LCD屏幕上的行和列的组合。 2. `u8 *ptrTable`:这是一个指向包含自定义字符图案数据的数组的指针。这个数组包含了8行数据,每行数据有4个字节,共32个字节。 函数的步骤如下: 1. 设置CGRAM地址:通过发送0x40命令(COMMAND_TYPE)到LCD,将LCD的写入位置设置为CGRAM的起始地址。 2. 初始化一个计数器变量`u`,值为32,表示数组中包含的字节数。 3. 使用一个while循环,将ptrTable数组中的自定义字符图案数据逐个字节发送到LCD的CGRAM中。循环条件是`u`不为0。在循环中,首先发送ptrTable数组中的最后一个字节(即ptrTable[32 - u]),然后递减计数器`u`。 4. 当while循环结束时,所有的自定义字符图案数据已经发送到LCD的CGRAM中。 5. 设置显示地址:通过发送`address`命令(COMMAND_TYPE)到LCD,将LCD的显示位置设置为指定的地址。 6. 最后,函数通过调用`LCD_SendByte(DATA_TYPE, ptrTable[0])`将自定义字符的第一个字节发送到LCD的显示缓冲区,从而在屏幕上显示自定义字符。 总之,LCD_DisplayCGRAM0函数的作用是将用户定义的字符图案存储在LCD的CGRAM中,并在指定的地址上显示这些自定义字符。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1621 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1546 浏览 1 评论
980 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
686 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1599 浏览 2 评论
1867浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
650浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
518浏览 3评论
536浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
506浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 06:00 , Processed in 0.789844 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号