|
|
楼主 |
发表于 2026-8-14 11:05:52
|
显示全部楼层
第五集学习
本节主要重温了一下c语言,C语言的运算符和进制数,我用按位或指令编了个程序点亮LED灯。
算数:
加+,减-,乘*,除/,取余%,赋值=
判断:
大于>,大于等于>=,小于<,小于等于<=,等于等于==,不等于!=
逻辑:
逻辑与&&,逻辑或||,逻辑非!
位运算:
按位左移<<,按位右移>>,按位与&,按位或|,按位异或^,按位取反~
写代码注意:
1. 必须用 **Keil C251**,不是 C51,不是 MDK‑ARM(AC5/AC6)。
2. Target 配置:
- CPU Mode:`Source(251 native)` 251 原生模式
- 4 Byte Interrupt Frame Size
- Memory Model:**优先 XSmall**(变量放 edata 高速内部 RAM),不要用 Small(data 只有 128 字节极易爆),不推荐 Large(跑 xdata 速度慢)
- Code Rom Size:代码 > 64K 选 **Huge 模式**,输出 HEX 格式必须选 **HEX‑386**(24 位地址,普通 hex 无法下载大于 64K 程序)。
3. C 语言标准:C251 只支持**C89,有限 C99**,不完整支持 C99;`for(int i;…)` 内部定义变量默认报错,需要开启 C99 选项;**没有 C11**。
4. 头文件:用 STC 官方`STC32G12K128.H`,不要复用 STC8/STC15 老头文件,手动添加头文件路径。
|
|