搜索
bottom↓
回复: 9
打印 上一主题 下一主题

*(__IO uint16_t *) (Bank1_LCD_C)= index;什么意思?

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2011-8-21 13:24:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//写寄存器数据函数
//输入:dbw 数据位数,1为16位,0为8位。
void LCD_WR_CMD(unsigned int index,unsigned int val)
{       
        *(__IO uint16_t *) (Bank1_LCD_C)= index;       
        *(__IO uint16_t *) (Bank1_LCD_D)= val;
}

         *(__IO uint16_t *) (Bank1_LCD_C)= index;       
        *(__IO uint16_t *) (Bank1_LCD_D)= val;

这两句是什么意思呢?

出0入0汤圆

2
发表于 2011-11-10 11:49:20 | 只看该作者
求解

出0入0汤圆

3
发表于 2011-11-10 11:57:42 | 只看该作者
(__IO uint16_t *) (Bank1_LCD_C)  指针

*(__IO uint16_t *) (Bank1_LCD_C)= index;
index的值赋给指针指向的地址

出0入0汤圆

4
发表于 2011-11-10 12:30:12 | 只看该作者
*(__IO uint16_t *) (Bank1_LCD_C)= index;

Bank1_LCD_C 一个32位的数字,这句话里应该理解成地址,32位的地址总线
(__IO uint16_t *) (Bank1_LCD_C) 一个指针,数据宽度是16位,就是指向这个地址的
*(__IO uint16_t *) (Bank1_LCD_C) 这个地址的数据

而在硬件上表现出来的就是告诉MCU

在Bank1_LCD_C处有一个16位的数据*(__IO uint16_t *) (Bank1_LCD_C),这个数据为index

出0入0汤圆

5
发表于 2011-11-11 15:38:36 | 只看该作者
没见过!
据不负责任的推测:

*(__IO uint16_t *) (Bank1_LCD_C)= index;

Bank1_LCD_C是变量,
(__IO uint16_t *) 将变量类型强制转换为括号里的类型

出0入0汤圆

6
发表于 2011-11-29 09:31:35 | 只看该作者
(_IO uint16_t *) 就是强制类型转换,同时整句话的意思就是将32位的地址Bank1_LCD_C的低16位的值赋值为index。
顺便问下 楼主是西科大哪个学院的?我还是西科大的。

出0入0汤圆

7
发表于 2011-11-29 09:33:08 | 只看该作者
刚才那句说的有点问题:应该是同时整句话的意思就是将32位的地址Bank1_LCD_C的低16位的对应的值 赋值为index。不是修改地址哈

出0入0汤圆

8
发表于 2011-12-4 12:05:34 | 只看该作者
宏名是两个地址,MCU会把翻译成对LCD的访问。

这两个地址都是16位的,先写命令再写数据。

出0入0汤圆

9
发表于 2012-1-6 11:23:10 | 只看该作者
回复【6楼】ARMUCOS 潜行新手
-----------------------------------------------------------------------

5楼你说的有问题吧 原文如下
#define Bank1_LCD_D    ((uint32_t)0x60020000)     //Data ADDR
#define Bank1_LCD_C    ((uint32_t)0x60000000)            //Reg ADDR
//写寄存器地址的函数
void LCD_WR_REG(unsigned int index)
{
        *(__IO uint16_t *) (Bank1_LCD_C)= index;

}
你说把 低16位的对应的值 赋值为index 那么上面还分0x60020000 0x60000000干嘛 反正低16位 都是零

出0入0汤圆

10
发表于 2012-1-6 11:55:36 | 只看该作者
简单的说,就是地址Bank1_LCD_C写入index的值,Bank1_LCD_D写入val的值
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-7 11:49

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表