ercircle 发表于 2024-11-30 16:48:52

IAR这个原始头文件语法真别扭,使用结构体访问位操作会导致代码不兼容,修改下兼容传统风格。
P0_bit.P00 = 0;    X
P00 = 0;            √

ercircle 发表于 2024-11-30 20:29:02

三大编译器中断声明的差异,使用宏进行归一化处理。

ercircle 发表于 2024-11-30 21:20:52

IAR中断声明差异点:
IAR声明的是地址,SDCC&C51是中断号


修改:

ercircle 发表于 2024-12-1 22:53:45

IAR与另外两个编译器的差异点:code区的变量必须声明为const

soma 发表于 2024-12-2 09:01:22

ercircle 发表于 2024-12-1 22:53
IAR与另外两个编译器的差异点:code区的变量必须声明为const

code区可以保存变量还真不知道啊。一直以为code区的都是常量。

ercircle 发表于 2024-12-2 11:38:52

soma 发表于 2024-12-2 09:01
code区可以保存变量还真不知道啊。一直以为code区的都是常量。



测了下,keil下虽然不需要声明const,但是也不能修改code区变量的内容,合理~

ercircle 发表于 2024-12-2 15:15:11

本帖最后由 ercircle 于 2024-12-2 15:48 编辑

知识点++
SDCC移植USB例程后不能正常枚举(是字节序的问题)


SFR声明时也可以区分地址大小端,妙蛙~

延申阅读:
关于大端序和小端序的问题
SDCC的端序和Keil不一样

小帝 发表于 2024-12-3 01:32:25

加油,我也想要弄个来学习一下{:4_175:}

lzts 发表于 2024-12-6 09:11:46

楼主威武,造福 51世界

ercircle 发表于 2024-12-6 23:52:20

lzts 发表于 2024-12-6 09:11
楼主威武,造福 51世界

夸张了,略尽绵薄之力,也是自己夯实基础
页: 1 2 3 4 5 6 7 [8] 9 10 11 12
查看完整版本: 学习官方Ai8051U实验箱 | 最强记录贴,Ai8051U-8Bit,Keil-C51, SDCC-51, IAR/C++