问个菜鸟问题

chrisclover   2009-12-15 15:54 楼主
驱动开发中如何定义寄存器啊?
VINT32 xx;
类似这样定义?

回复评论 (11)

通常要看你需要定义的寄存器是一个什么位宽的8为的定义成一个unsigned char*的变量,把寄存器的地址给它就可以了,16位、32位。。。以此类推。
点赞  2009-12-15 22:40
定义寄存器先知道所在的地址,然后用#define
点赞  2009-12-16 09:06
LS的,应该是这养定义寄存器吧:
#define DMR 0x040
那么寄存器地址是硬件固定的还是还是可以设置的啊?我该如何读写该寄存器呢?
点赞  2009-12-17 10:49
举个例子,要定义寄存器IOPIN0 :
#define IOPIN0         (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x00))

具体要看这个寄存器是多少位寻址的。
点赞  2009-12-17 13:38
#define rTICINT                (*(volatile unsigned char *)0xB1700047)
点赞  2009-12-19 09:44
学习。支持
点赞  2009-12-21 14:20
typedef volatile unsigned char reg8
#define reg1 (reg8 *)(baseaddress+offset)
#define regset(reg,value)  *(reg)=(unsigned char)value;
#define regread(reg,value)  value=*(reg);
点赞  2009-12-25 16:20
我也是个菜鸟不过我这里有些很好的视频大家可以看看
十问嵌入式

  编程语言选择  http://www.uplooking.com/video/play/5803/
  操作系统的选择  http://www.uplooking.com/video/play/5802/
  汇编语言的作用  http://www.uplooking.com/video/play/5801/
  ARM与单片机  http://www.uplooking.com/video/play/5800/
  ARM概述 开发板  http://www.uplooking.com/video/play/5799/
  ARM概述  http://www.uplooking.com/video/play/5798/
  嵌入式学习  http://www.uplooking.com/video/play/5797/
  嵌入式实例iphone  http://www.uplooking.com/video/play/5796/
  什么是嵌入式  http://www.uplooking.com/video/play/5795/
  嵌入式漫谈2  http://www.uplooking.com/video/play/5794/
  嵌入式漫谈1 http://www.uplooking.com/video/play/5793/
  嵌入式前景http://www.uplooking.com/video/play/5624/


嵌入式最佳入门教程

Linux系统移植 仿真器 ICE等1 http://www.uplooking.com/video/play/6071/
Linux系统移植 仿真器 ICE等2 http://www.uplooking.com/video/play/6070/
AC97声卡裸板驱动开发1 http://www.uplooking.com/video/play/6069/
AC97声卡裸板驱动开发2  http://www.uplooking.com/video/play/6068/
计算机原理 处理器及汇编演示1 http://www.uplooking.com/video/play/6067/
计算机原理 处理器及汇编演示2 http://www.uplooking.com/video/play/6066/
计算机原理 处理器及汇编演示3http://www.uplooking.com/video/play/5245/
嵌入式处理器结构总线种类及嵌入式开发板1 http://www.uplooking.com/video/play/6065/
嵌入式处理器结构总线种类及嵌入式开发板2 http://www.uplooking.com/video/play/6064/
汇编语言 C语言演示 交叉编译 及内存管理1 http://www.uplooking.com/video/play/6063/
汇编语言 C语言演示 交叉编译 及内存管理2 http://www.uplooking.com/video/play/6062/
汇编语言 C语言演示 交叉编译 及内存管理3 http://www.uplooking.com/video/play/6061/
走近嵌入式 嵌入式产品开发过程 http://www.uplooking.com/video/play/6060/
嵌入式处理器种类 http://www.uplooking.com/video/play/6059/
嵌入式开发学习基础 http://www.uplooking.com/video/play/6058/
嵌入式开发概念及嵌入式行业职业划分1 http://www.uplooking.com/video/play/6057/
嵌入式开发概念及嵌入式行业职业划分2 http://www.uplooking.com/video/play/6056/
嵌入式开发概念及嵌入式行业职业划分3 http://www.uplooking.com/video/play/6055/
嵌入式处理器DataSheet及开发板结构1 http://www.uplooking.com/video/play/6054/
嵌入式处理器DataSheet及开发板结构2 http://www.uplooking.com/video/play/6053/
点赞  2010-1-18 15:02
up学习
点赞  2010-1-18 21:23
volatile 是关键~~~
点赞  2010-1-19 10:51
unsigned long 是32位的,而寄存器也是32位的,其实就是用个unsigned long 数据类型长度的内存空间对应32为宽的寄存器的位,好像是这样的
点赞  2010-1-19 11:13
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复