STM32 LCD HAL库 HAL_LCD_Write函数使用说明

HAL_LCD_Write(LCD_HandleTypeDef *hlcd, uint32_t RAMRegisterIndex, uint32_t RAMRegisterMask, uint32_t Data);

函数参数解析:
LCD_HandleTypeDef *hlcd 初始化的LCD句柄指针
uint32_t RAMRegisterIndex RAM寄存器,COM口寄存器
uint32_t RAMRegisterMask 屏蔽位
uint32_t Data 要写入的数据
RAMRegisterIndex COM0-COM7总共16个
COM0 对应 LCD_RAM_REGISTER0 LCD_RAM_REGISTER1
COM1 对应 LCD_RAM_REGISTER2 LCD_RAM_REGISTER3
COM2 对应 LCD_RAM_REGISTER4 LCD_RAM_REGISTER5
COM3 对应 LCD_RAM_REGISTER6 LCD_RAM_REGISTER7
COM4 对应 LCD_RAM_REGISTER8 LCD_RAM_REGISTER9
COM5 对应 LCD_RAM_REGISTER10 LCD_RAM_REGISTER11
COM6 对应 LCD_RAM_REGISTER12 LCD_RAM_REGISTER13
COM7 对应 LCD_RAM_REGISTER14 LCD_RAM_REGISTER15

#define LCD_RAM_REGISTER0               ((uint32_t)0x00000000) /*!< LCD RAM Register 0  */
#define LCD_RAM_REGISTER1               ((uint32_t)0x00000001) /*!< LCD RAM Register 1  */
#define LCD_RAM_REGISTER2               ((uint32_t)0x00000002) /*!< LCD RAM Register 2  */
#define LCD_RAM_REGISTER3               ((uint32_t)0x00000003) /*!< LCD RAM Register 3  */
#define LCD_RAM_REGISTER4               ((uint32_t)0x00000004) /*!< LCD RAM Register 4  */
#define LCD_RAM_REGISTER5               ((uint32_t)0x00000005) /*!< LCD RAM Register 5  */
#define LCD_RAM_REGISTER6               ((uint32_t)0x00000006) /*!< LCD RAM Register 6  */
#define LCD_RAM_REGISTER7               ((uint32_t)0x00000007) /*!< LCD RAM Register 7  */
#define LCD_RAM_REGISTER8               ((uint32_t)0x00000008) /*!< LCD RAM Register 8  */
#define LCD_RAM_REGISTER9               ((uint32_t)0x00000009) /*!< LCD RAM Register 9  */
#define LCD_RAM_REGISTER10              ((uint32_t)0x0000000A) /*!< LCD RAM Register 10 */
#define LCD_RAM_REGISTER11              ((uint32_t)0x0000000B) /*!< LCD RAM Register 11 */
#define LCD_RAM_REGISTER12              ((uint32_t)0x0000000C) /*!< LCD RAM Register 12 */
#define LCD_RAM_REGISTER13              ((uint32_t)0x0000000D) /*!< LCD RAM Register 13 */
#define LCD_RAM_REGISTER14              ((uint32_t)0x0000000E) /*!< LCD RAM Register 14 */
#define LCD_RAM_REGISTER15              ((uint32_t)0x0000000F) /*!< LCD RAM Register 15 */

RAMRegisterMask 和 Data 都是32位,每一位代表一个SEG,屏蔽对应的位,对应位的Data就会失效,还有就是,在操作时,数据要按照要操作的SEG位去赋值,需要点亮的就在该位写1,需要关闭的就写0,屏蔽位为0或者1都可以,这个不会影响我们显示,但是不能省略,32位数据,一定是一一对应的。
对应关系如下图:
COM口寄存器

猜你喜欢

转载自blog.csdn.net/qq_33861317/article/details/88524826