- 打卡等级:初来乍到
- 打卡总天数:8
- 最近打卡:2025-03-18 20:40:21
中级会员
- 积分
- 345
|
发表于 2023-9-18 16:09:02
|
显示全部楼层
《何教授 STC32位8051单片机原理及应用-STC32G12K128》2023/9/5
“C语言没有那么难学,从计算机架构上讲32位MCU还是有很多扩展的,对将来学arm底层相通”
类型限定符: const 声明在运行时未修改的对象 (程序中不能被更改) volatile 声明一个对象,该对象的值可能会被出现在其中的代码之外的某个对象修改
const unsigned short xdata a[10] = {}0,1,2,3,4,5,6,7,8,9}; 片内阔扩展数据区
const unsigned short code a[10] = {0,1,2,3,4,5,6,7,78,9}; 程序存储区
const的一个有趣的用法是定义一个不可更改的指针。。。。。。。
第二个类型限定符 volatile 易失性类型限定符用于限制编译器对对象值的假设 按需执行,都要执行,不要优化
XSmall --》edata
第一句
第三句 32位寄存器 大端模式
寄存器与存储器直接加
没有volatile看不到i,直接寄存器操作
存储类别 存储类用于定义变量和函数生效范围和生存周期 auto register static extern
乘法运算过程
static int y=0; 从当前运行结果 y
Y的生存周期从主函数开始到最后,持续更新,为什么上次结果会保存?
从wr6里取出来,不是初始化的y值,静态变量的价值!
变量可以使用_at_关键字定位在绝对存储器的位置 (第二次讲了!!!!!)
指针:
通用指针 特定存储器指针(高效)
指针宽度!
|
|