婆娑梵净山 2024-01-27 23:08 采纳率: 89.5%
浏览 3
已结题

stm32 TTLCD实验疑问

这两个函数有什么用,我在 正点原子【STM32-F407探索者】第十八章 TFTLCD 显示实验 这篇文章和其他博客的文章中看到,但是我始终不明白既然都已经有写寄存器值函数 :void LCD_WR_REG(u16 regval),为什么换要写写寄存器内容函数:
void LCD_WriteReg(u16 LCD_Reg, u16 LCD_RegValue)
读寄存器内容函数: u16 LCD_ReadReg(u16 LCD_Reg)
这两个呢?区别在哪里


void LCD_WriteReg(vu16 LCD_Reg, vu16 LCD_RegValue)

{ LCD->LCD_REG = LCD_Reg; //写入要写的寄存器序号

LCD->LCD_RAM = LCD_RegValue; //写入数据

}

//读寄存器

//LCD_Reg:寄存器地址

//返回值:读到的数据

u16 LCD_ReadReg(vu16 LCD_Reg)

{ LCD_WR_REG(LCD_Reg); //写入要读的寄存器序号

delay_us(5);

return LCD_RD_DATA(); //返回读到的值

}
  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-01-29 00:26
    关注

    【以下回答由 GPT 生成】

    对于这个问题,首先可以分析一下这两个函数的定义和作用。

    1. LCD_WriteReg(vu16 LCD_Reg, vu16 LCD_RegValue)函数:该函数用于向液晶控制器的寄存器中写入指定的数值。其中,LCD_Reg表示要写入的寄存器地址,LCD_RegValue表示要写入的数值。

    2. LCD_ReadReg(vu16 LCD_Reg)函数:该函数用于读取液晶控制器寄存器的数值。其中,LCD_Reg表示要读取的寄存器地址。

    通过对比这两个函数和LCD_WR_REG函数的功能可以发现,它们的作用虽然有一定的相似之处,但是具体的实现方式和使用场景可能有所不同。

    LCD_WR_REG函数是一个写寄存器值的函数,它接收一个参数regval作为要写入的寄存器值,并将该值写入到液晶控制器的寄存器中。这只是一个简单的写入寄存器值的操作,没有返回值。它的功能比较单一,适合于一些简单的场景。

    LCD_WriteReg函数和LCD_ReadReg函数则提供了更加灵活和通用的接口,可以用于对寄存器的读写操作。通过这两个函数,可以传入不同的寄存器地址和数值,实现对不同寄存器的读写。这在某些需要读取寄存器值或者对多个寄存器进行操作的场景下非常有用。

    总结起来,这两个函数提供了一种更加灵活和通用的操作方式,能够满足更多场景下的需求。而LCD_WR_REG函数只是其中的一种简化的操作,适用于一些简单的场景。

    如果你想具体了解这两个函数的实现细节,可以在代码中找到它们的定义并查看其具体的实现方式。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月20日
  • 已采纳回答 2月12日
  • 创建了问题 1月27日

悬赏问题

  • ¥15 asp写PC网站开通了微信支付,扫码付款不能跳转
  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 关于#c语言#的问题:我在vscode和codeblocks中编写c语言时出现打不开源文件该怎么办
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥500 服务器搭建cisco AnyConnect vpn
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊