OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4603|回复: 8

FSMC写寄存器序号是什么意思?

[复制链接]

16

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
189
金钱
189
注册时间
2015-12-23
在线时间
20 小时
发表于 2015-12-24 15:18:56 | 显示全部楼层 |阅读模式
5金钱
   我看过程序开头那里,定义了很多条加入寄存器序号,请问这是什么意思?

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-12-24 15:18:57 | 显示全部楼层
goldbirderman 发表于 2015-12-26 08:35
还有那个开启显示和关机那些指令都没有的?

看LCD的数据手册。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-12-24 22:00:54 | 显示全部楼层
具体代码??
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

16

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
189
金钱
189
注册时间
2015-12-23
在线时间
20 小时
 楼主| 发表于 2015-12-25 08:33:07 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
 那个写寄存器序号应该是指令的意思吧?那为什么要定义这么多个写数据和读数据以及指令,为什么不干脆只给一个就OK了,是不是一个是颜色写入,和坐标写入以及扫描写入?
回复

使用道具 举报

0

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2015-11-27
在线时间
11 小时
发表于 2015-12-25 09:01:46 | 显示全部楼层
回复【3楼】goldbirderman:
---------------------------------
你得写出具体的代码啊。。是LCD那么?
回复

使用道具 举报

16

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
189
金钱
189
注册时间
2015-12-23
在线时间
20 小时
 楼主| 发表于 2015-12-25 11:08:16 | 显示全部楼层
回复【4楼】发动机:
---------------------------------
void LCD_WR_REG(u16 regval)
{   
LCD->LCD_REG=regval;//写入要写的寄存器序号  
}
//写LCD数据
//data:要写入的值
void LCD_WR_DATA(u16 data)
{  
LCD->LCD_RAM=data;  
}
//读LCD数据
//返回值:读到的值
u16 LCD_RD_DATA(void)
{
vu16 ram; //防止被优化
ram=LCD->LCD_RAM;
return ram;  
}    
//写寄存器
//LCD_Reg:寄存器地址
//LCD_RegValue:要写入的数据
void LCD_WriteReg(u16 LCD_Reg,u16 LCD_RegValue)
{
LCD->LCD_REG = LCD_Reg; //写入要写的寄存器序号  
LCD->LCD_RAM = LCD_RegValue;//写入数据       
}    
//读寄存器
//LCD_Reg:寄存器地址
//返回值:读到的数据
u16 LCD_ReadReg(u16 LCD_Reg)
{    
LCD_WR_REG(LCD_Reg); //写入要读的寄存器序号
delay_us(5);   
return LCD_RD_DATA(); //返回读到的值
}   
//开始写GRAM
void LCD_WriteRAM_Prepare(void)
{
  LCD->LCD_REG=lcddev.wramcmd;   
}  
//LCD写GRAM
//RGB_Code:颜色值
void LCD_WriteRAM(u16 RGB_Code)
{     
LCD->LCD_RAM = RGB_Code;//写十六位GRAM
}
回复

使用道具 举报

16

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
189
金钱
189
注册时间
2015-12-23
在线时间
20 小时
 楼主| 发表于 2015-12-26 08:35:18 | 显示全部楼层

还有那个开启显示和关机那些指令都没有的?
回复

使用道具 举报

16

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
189
金钱
189
注册时间
2015-12-23
在线时间
20 小时
 楼主| 发表于 2015-12-28 11:30:04 | 显示全部楼层

不用了,已经完成了。
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2020-2-15
在线时间
1 小时
发表于 2020-3-14 21:31:55 | 显示全部楼层
本帖最后由 fcy809 于 2020-3-15 10:10 编辑

我也不懂,请大神们赐教.比如:
void LCD_REG(u16 regval)
{
  LCD->LCD_REG = regval//写入要写的寄存器序号
}初始化里是LCD_WriteReg(0x0000,0x0001),也就是regval=0x0000,这个寄存器序号是什么意思?起什么作用?

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-26 15:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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