STM32 求大神知道啊、、、、

#defineBank1_LCD_D((uint32_t)0x60020000)#defineBank1_LCD_C((uint32_t)0x60000000)voidL... #define Bank1_LCD_D ((uint32_t)0x60020000)

#define Bank1_LCD_C ((uint32_t)0x60000000)

void LCD_WR_CMD(unsigned int index,unsigned int val){

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

LCD_WR_CMD(0x00E3, 0x3008);

程序大体是将0X3008赋给地址为0x00E3的寄存器但我不明白的事LCD_WR_CMD这个函数到底是怎么实现这个赋值操作的。。。。
展开
 我来答
dqluyanshu
2012-08-22 · TA获得超过541个赞
知道小有建树答主
回答量:496
采纳率:100%
帮助的人:332万
展开全部
有什么不明白的啊 ,Bank1_LCD_C是地址,*(__IO uint16_t *) (Bank1_LCD_C)是地址的内容,后面把index放到地址的内容里了
还有这个程序将0X3008赋给地址为0x00E3的寄存器,是相对于从设备而言,对于STM32只是输出两个数而已
Bank1_LCD_D比Bank1_LCD_C多了一个置1位,是用来控制从设备的,是告诉从设备要写0X3008到刚才输入的数据0x00E3中

不明白再问
明白说谢谢
现在这小孩子越来越没礼貌
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式