社区
单片机/工控
帖子详情
关于头文件中寄存器的宏定义,请教!
youki1234
2009-11-11 11:10:18
在看2410的头文件,发现其中有些寄存器用*(volatile unsigned char *) 来定义,而有一些用*(volatile unsigned *) 来定义,这是为什么呢?这两个有什么区别呢?
...全文
315
11
打赏
收藏
关于头文件中寄存器的宏定义,请教!
在看2410的头文件,发现其中有些寄存器用*(volatile unsigned char *) 来定义,而有一些用*(volatile unsigned *) 来定义,这是为什么呢?这两个有什么区别呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Kelibin
2009-11-13
打赏
举报
回复
*(volatile unsigned char *) 寄存器是8位访问的
*(volatile unsigned *)得看是什么CPU,有可能16位访问,也有可能32位访问。至于有效位有几位并不影响你数据类型的定义,8位的话取低8位就行了
youki1234
2009-11-12
打赏
举报
回复
up
GARY
2009-11-11
打赏
举报
回复
[Quote=引用 1 楼 paul_chao 的回复:]
8 bits / 32 bits access.
Paul, Chao @ Techware
[/Quote]
前辈。很想认识你一下。可否留个网络上的联系方式?比如QQ。
HeyMe
2009-11-11
打赏
举报
回复
举个nand flasg的例子:
#define rNFCONF (*(volatile unsigned *)0x4e000000) //NAND Flash configuration
rNFCONF是32bit访问的
#define rNFCMD (*(volatile char*)0x4e000004) //NADD Flash command
rNFCMD是8bit访问的
可以对照数据手册看看。
lyx_wq
2009-11-11
打赏
举报
回复
正确!!
博说医械研发
2009-11-11
打赏
举报
回复
*(volatile unsigned char *) 寄存器是8位访问的
*(volatile unsigned *)寄存器是32位访问的
对应的你可以看datasheet上的寄存器说明,比如NAND FLASH的一些寄存器。
paul_chao
2009-11-11
打赏
举报
回复
8 bits / 32 bits access.
Paul, Chao @ Techware
猫界大佬
2009-11-11
打赏
举报
回复
*(volatile unsigned char *) 寄存器是8位访问的
*(volatile unsigned *)寄存器是32位访问
galle
2009-11-11
打赏
举报
回复
学习了!
youki1234
2009-11-11
打赏
举报
回复
我开始也是这么认为的,但最近发现好像有点不对~~大家看看2410手册的GPIO口,例如GPFDAT,它的有效位为8位,如下图所示:
那大家说它应该是用*(volatile unsigned char *) 还是*(volatile unsigned *)呢?
宇帆
2009-11-11
打赏
举报
回复
[Quote=引用 2 楼 veabol 的回复:]
*(volatile unsigned char *) 寄存器是8位访问的
*(volatile unsigned *)寄存器是32位访问的
[/Quote]正确
单片机c语言
中
tr=0的意思,单片机C语言#define RS_CLR RS=0 什么意思?
程序全文是这样的,想
请教
一下,前面
宏定义
了,在程序
中
直接写RS_CLR,是不是就等于是写了RS=0了,如果是这样的话,那在程序
中
直接写RS=0不是更省事吗,何必这样麻烦呢#include //包含
头文件
,一般情况不需要改动,
头文件
包含特殊功能
寄存器
的定#includesbit RS = P2^2; //定义端口sbit RW = P2^1;sbit EN = P2^0;#define RS_C...
【STM32单片机-编程入门】LED闪烁(
寄存器
操作、标准库函数方式)
工程下载: STM32单编程-LED闪烁.zip - 蓝奏云文件大小:291.1 K|https://www.lanzouw.com/iU8vVw5uh4d(适用STM32F103系列单片机) 实验平台:正点原子STM32F103ZET6核心板(程序已通过验证) 1、main主函数 #include "sys.h" #include "delay.h" #include "led.h" int main(void) { delay_init(); //延时函数初始化 LED_
终极面试题
第一部分:基本概念及其它问答题 31、关键字static的作用是什么? 32、“引用”与指针的区别是什么? 33、.h
头文件
中
的ifndef/define/endif 的作用? 44、#include<file.h> 与 #include "file.h"的区别? 45、描述实时系统的基本特性 46、全局变量和局部变量在内存
中
是否有区别?如果有,是什么区别? 47、什么是平衡二叉树? ...
oracle 12952错误,单片机调试常见问题解决
原标题:单片机调试常见问题解决.error: #18:6.error: #18: expected a ")"如果是出现在c文件
中
, 多半是因为少了一个")",或者错误行有编译器不识别的字符如果出现在
头文件
中
,错误行又是一个函数声明,多半是因为在函数声明
中
有编译器不认识的字符error: #20error: #20: identifier "TIM2_IRQChannel" is undefine...
笔记4399
第一部分:基本概念及其它问答题 1、关键字static的作用是什么? 这个简单的问题很少有人能回答完全。在C语言
中
,关键字static有三个明显的作用: 1). 在函数体,一个被声明为静态的变量在这一函数被调用过程
中
维持其值不变。 2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3). 在模块内,一个被声明为静...
单片机/工控
27,375
社区成员
28,770
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章