请问一下当STM32地址总线是按字节寻址的(8位)这里定义LCD_REG是16位的,按地址总线寻址方式是加2这句话是什么意思呢

请问一下当STM32地址总线是按字节寻址的(8位)这里定义LCD_REG是16位的,按地址总线寻址方式是加2这句话是什么意思呢

img

十六位寻址的意思是指每个访问地址都是2个字节,比如0地址得到两个字节,下一个地址应该是2地址访问的2个字节!而不能访问地址1。不知道能明白了不?

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 建议你看下这篇博客👉 :【STM32学习】(18)STM32实现LCD12864显示 - 并行实现8位总线
  • 除此之外, 这篇博客: STM32 LCD12864使用教程中的 2、引脚配置 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    在这里插入图片描述
    只需要配置这几个I/O口就可以了,其他时钟配置就不在这里介绍。

  • 以下回答来自chatgpt:

    根据参考资料中的代码片段,"按地址总线寻址方式是加2"这句话的意思是,当STM32的地址总线按字节寻址时,每次访问16位的LCD_REG寄存器时,地址总线会按照字节寻址的方式增加2个字节。

    具体的解决方案如下:

    1. 首先,根据参考资料中的代码片段,可以看到LCD_REG被定义为16位,所以每次访问LCD_REG寄存器时,需要使用字节操作指令。假设LCD_REG的起始地址为0x1000,则第一个字节对应的地址为0x1000,第二个字节对应的地址为0x1001。

    2. 在STM32的地址总线按字节寻址时,每次访问16位的寄存器时,地址总线会按照字节寻址的方式增加2个字节。所以,寻址方式为加2表示每次访问下一个16位寄存器时,地址的值会增加2个字节。例如,访问第一个字节结束后,下一次访问的地址将是0x1000 + 2 = 0x1002。

    3. 根据以上解释,"按地址总线寻址方式是加2"的意思是,每次访问LCD_REG寄存器时,地址总线的值会按照字节寻址的方式增加2个字节。

    综上所述,"按地址总线寻址方式是加2"这句话的意思是,当STM32的地址总线按字节寻址时,每次访问16位的LCD_REG寄存器时,地址总线的值会按照字节寻址的方式增加2个字节。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^