LAOXU 发表于 2024-12-30 19:27:38

_奶咖君_ 发表于 2024-12-30 08:51
那也就是说除了 不用OS以外还是会出问题啊
任何cpu 都有一定的编程规范, 比如固定地址寻址的特殊功能寄存器, 你在多个入口(如中断, OS) 程序 中, 去读写, 都会出问题.

m0/m3 也不例外.

LAOXU 发表于 2024-12-30 19:37:01

xuzeabc 发表于 2024-12-29 09:05
Keil C51中的函数指针和编译器有关系,它把函数参数和局部变量放到了寄存器中,没有放入堆栈。而且无相互 ...

不是寄存器, 无论 os 还是中断, 切换进入时都会先保护寄存器, 而是放在ram中的局部变量(非重入函数), 好处是程序精练, 缺点是回收分配必须依造调用树,
51把局部变量放在 堆栈中(重入函数), 不是做不到, 而是代价太高, 程序不够精练, 占 code多, 执行速度慢等缺点.
页: 1 2 [3]
查看完整版本: 8H8K上能否使用函数指针