打印
[STM32L4]

stm32l476液晶驱动的问题

[复制链接]
2312|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
HAL_LCD_Write(LCD_HandleTypeDef *hlcd, uint32_t RAMRegisterIndex, uint32_t RAMRegisterMask, uint32_t Data)
在库函数中找到上述程序,请问RAMRegisterMask是指我红色标注, Data是指我绿色标注的吗?

TIM截图20180315194935.png (34.19 KB )

TIM截图20180315194935.png
沙发
tuezhibang|  楼主 | 2018-3-15 20:25 | 只看该作者
HAL_StatusTypeDef HAL_LCD_Write(LCD_HandleTypeDef *hlcd, uint32_t RAMRegisterIndex, uint32_t RAMRegisterMask, uint32_t Data)
{
  uint32_t tickstart = 0x00;

  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;
  }
}

使用特权

评论回复
板凳
幸福小强| | 2018-3-15 21:16 | 只看该作者
看原函数的注释,以及这个表的头。

使用特权

评论回复
地板
tuezhibang|  楼主 | 2018-3-15 21:36 | 只看该作者
幸福小强 发表于 2018-3-15 21:16
看原函数的注释,以及这个表的头。

/**
  * @brief  Write a word in the specific LCD RAM.
  * @param  hlcd: LCD handle
  * @param  RAMRegisterIndex: specifies the LCD RAM Register.
  *   This parameter can be one of the following values:
  *     @arg LCD_RAM_REGISTER0: LCD RAM Register 0
  *     @arg LCD_RAM_REGISTER1: LCD RAM Register 1
  *     @arg LCD_RAM_REGISTER2: LCD RAM Register 2
  *     @arg LCD_RAM_REGISTER3: LCD RAM Register 3
  *     @arg LCD_RAM_REGISTER4: LCD RAM Register 4
  *     @arg LCD_RAM_REGISTER5: LCD RAM Register 5
  *     @arg LCD_RAM_REGISTER6: LCD RAM Register 6
  *     @arg LCD_RAM_REGISTER7: LCD RAM Register 7
  *     @arg LCD_RAM_REGISTER8: LCD RAM Register 8
  *     @arg LCD_RAM_REGISTER9: LCD RAM Register 9
  *     @arg LCD_RAM_REGISTER10: LCD RAM Register 10
  *     @arg LCD_RAM_REGISTER11: LCD RAM Register 11
  *     @arg LCD_RAM_REGISTER12: LCD RAM Register 12
  *     @arg LCD_RAM_REGISTER13: LCD RAM Register 13
  *     @arg LCD_RAM_REGISTER14: LCD RAM Register 14
  *     @arg LCD_RAM_REGISTER15: LCD RAM Register 15
  * @param  RAMRegisterMask: specifies the LCD RAM Register Data Mask.
  * @param  Data: specifies LCD Data Value to be written.
  * @retval None
  */

使用特权

评论回复
5
tuezhibang|  楼主 | 2018-3-15 21:39 | 只看该作者
他的注释感觉不是很具体

TIM截图20180315213845.png (40.54 KB )

TIM截图20180315213845.png

使用特权

评论回复
6
幸福小强| | 2018-3-15 22:16 | 只看该作者
确实,STM32,比较难学。

使用特权

评论回复
7
捉虫天师| | 2018-3-15 22:57 | 只看该作者
不知道能否找到个例子,看看例子里那个调用的时候是用的什么参数。

使用特权

评论回复
8
tuezhibang|  楼主 | 2018-3-15 23:00 | 只看该作者
捉虫天师 发表于 2018-3-15 22:57
不知道能否找到个例子,看看例子里那个调用的时候是用的什么参数。

嗯,感谢回复,只是我在官网该芯片的各类文档中并未找到例程

使用特权

评论回复
9
sanxingnote7| | 2018-3-16 11:46 | 只看该作者
这个是跟硬件关联的吧

使用特权

评论回复
10
backlugin| | 2018-3-16 11:47 | 只看该作者
tuezhibang 发表于 2018-3-15 21:39
他的注释感觉不是很具体

你驱动什么液晶?

使用特权

评论回复
11
sanxingnote7| | 2018-3-16 11:49 | 只看该作者
软件设计的接口驱动芯片一样吗?

使用特权

评论回复
12
backlugin| | 2018-3-16 11:49 | 只看该作者
tuezhibang 发表于 2018-3-15 21:39
他的注释感觉不是很具体

还不如自己编写程序呢。

使用特权

评论回复
13
tuezhibang|  楼主 | 2018-3-19 09:58 | 只看该作者
backlugin 发表于 2018-3-16 11:47
你驱动什么液晶?

段码屏

使用特权

评论回复
14
tuezhibang|  楼主 | 2018-3-19 09:58 | 只看该作者
sanxingnote7 发表于 2018-3-16 11:49
软件设计的接口驱动芯片一样吗?

是使用stm32内置的lcd驱动器

使用特权

评论回复
15
tuezhibang|  楼主 | 2018-3-19 09:58 | 只看该作者
sanxingnote7 发表于 2018-3-16 11:49
软件设计的接口驱动芯片一样吗?

是使用stm32内置的lcd驱动器

使用特权

评论回复
16
tuezhibang|  楼主 | 2018-3-19 09:59 | 只看该作者
backlugin 发表于 2018-3-16 11:49
还不如自己编写程序呢。

哈哈哈,是这个理。

使用特权

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

本版积分规则

44

主题

359

帖子

3

粉丝