打印
[STM32L0]

LCD驱动求救

[复制链接]
1821|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
HAL_StatusTypeDef HAL_LCD_Write(LCD_HandleTypeDef *hlcd, uint32_t RAMRegisterIndex, uint32_t RAMRegisterMask, uint32_t Data)
{
  uint32_t tickstart = 0x00U;

  if((hlcd->State == HAL_LCD_STATE_READY) || (hlcd->State == HAL_LCD_STATE_BUSY))
  {
    /* Check the parameters */
    assert_param(IS_LCD_RAM_REGISTER(RAMRegisterIndex));

    if(hlcd->State == HAL_LCD_STATE_READY)
    {
      /* Process Locked */
      __HAL_LOCK(hlcd);
      hlcd->State = HAL_LCD_STATE_BUSY;

      /* Get timeout */
      tickstart = HAL_GetTick();

      /*!< Wait Until the LCD is ready */
  while(__HAL_LCD_GET_FLAG(hlcd, LCD_FLAG_UDR) != RESET)
      {
        if((HAL_GetTick() - tickstart) > LCD_TIMEOUT_VALUE)
        {
          hlcd->ErrorCode = HAL_LCD_ERROR_UDR;      
          /* Process Unlocked */
          __HAL_UNLOCK(hlcd);
          return HAL_TIMEOUT;
        }
      }
    }
/* Copy the new Data bytes to LCD RAM register */
    MODIFY_REG(hlcd->Instance->RAM[RAMRegisterIndex], ~(RAMRegisterMask), Data);

    return HAL_OK;
  }
  else
  {
    return HAL_ERROR;
  }
}
在使用这个函数时,RAMRegisterMask,这个参数该怎么代值啊,和Data参数的联系是什么  ?、、?、




QQ截图20170720154755.png (137.9 KB )

LCD段码表

LCD段码表
沙发
651471519|  楼主 | 2017-7-20 18:00 | 只看该作者
经过一下午的折腾,已经明白了,其中的奥妙  程序也编好了 谢谢大家

使用特权

评论回复
板凳
mmuuss586| | 2017-7-20 18:17 | 只看该作者

解决了就好

使用特权

评论回复
地板
HAORANAN123| | 2017-7-20 19:03 | 只看该作者
仔细研究还是可以明白了

使用特权

评论回复
5
放羊小子| | 2018-9-17 18:08 | 只看该作者
怎么明白的,说说啊

使用特权

评论回复
6
hayppy| | 2018-11-5 19:16 | 只看该作者
651471519 发表于 2017-7-20 18:00
经过一下午的折腾,已经明白了,其中的奥妙  程序也编好了 谢谢大家

楼主,分享一下经验吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

13

帖子

0

粉丝