社区
单片机/工控
帖子详情
keil absacc.h头文件volatile的问题
qq_1615656416
2019-02-08 06:19:48
不是因为这个原因absacc.h才加volatile的吧,这明明是对第二个单元赋值4次。编译器会优化成一次?如果这样,编译器怕不是有毒?寄存器读取是比RAM要快的,我觉得是51通用寄存器不多才这样?毕竟加了这个关键字就必须从内存取值了,而不是寄存器。
...全文
399
1
打赏
收藏
keil absacc.h头文件volatile的问题
不是因为这个原因absacc.h才加volatile的吧,这明明是对第二个单元赋值4次。编译器会优化成一次?如果这样,编译器怕不是有毒?寄存器读取是比RAM要快的,我觉得是51通用寄存器不多才这样?毕竟加了这个关键字就必须从内存取值了,而不是寄存器。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dceacho
2019-02-14
打赏
举报
回复
单就那4条指令来说,不考虑volatile情况,直接执行最后条,和按顺序执行最终
结果都一个样
,
keil
C51绝对地址访问(转)[归类].pdf
绝对宏是通过包含
头文件
`
abs
acc
.h`来实现的,该
头文件
提供了多种宏定义,使得开发者可以直接使用这些宏来访问特定的内存区域。以下是几种常用的宏: - `CBYTE`:指向代码存储器的无符号字符型指针。 - `DBYTE`:...
Keil
C高级编程.pdf
1. **绝对宏**:通过包含`<
abs
acc
.h>`
头文件
,开发者可以使用预先定义的宏来访问特定地址。例如,`CBYTE[0x0002]`用于访问程序存储器的0002h地址,而`XWORD [0x0002]`则指向外部RAM的0004h地址。需要注意的是,绝对...
Keil
C51 总线外设操作
问题
的深入分析
`或通过包含`<
abs
acc
.h>`
头文件
并定义为`#define MAXl97 XBYTE[0x8000]`,可以确保每次读取都不会被优化掉,同时保持编译器的高级优化设置。 3. **硬件修改**:在硬件层面,如果外设数据直接连接到数据总线,而不...
KEIL
C51代码优化详细分析
或者,通过包含系统
头文件
`<
abs
acc
.h>`,并定义为直接地址: ```c #define MAX197 XBYTE[0x8000] ``` 这样,高级优化可以保持不变,同时避免了编译器对读取操作的优化。 3. **硬件层面的改进**:如果硬件允许,可以...
keil
c语言的
头文件
,51单片机
keil
C中
头文件
abs
acc
.h作用
原标题:51单片机
keil
C中
头文件
abs
acc
.h作用当 51单片机通过8255和锁存器74LS273来扩展IO时,经常用到
头文件
abs
acc
.h。 在程序中,用“#include”即可使用其中定义的宏来访问绝对地址,包括:CBYTE、XBYTE、PWORD...
单片机/工控
27,509
社区成员
28,797
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章