我理解,对于嵌入式系统的C,例如用于PIC MCU的C,我们可以使用的标准C集合存在限制,这取决于我们使用的编译器,因为有很多用于不同微控制器的编译器家庭。在这种情况下,在C中还完成了我们通常不会做的事情,例如添加许多汇编指令直接访问寄存器,将函数或变量的位置约束到内存e.t.c中的特定位置。
在哪里可以找到嵌入式C特有的内容列表?它可以是书籍或网站链接。我知道嵌入式系统的程序风格不同,例如对于PIC MCU,我们不能使用递归编程。
答案 0 :(得分:1)
当您在C中为MCU开发时,通常需要从平台约束开始。现在大多数编译器都是C99投诉(ISO/IEC 9899:1999)。
拿一本像C A reference manual by Harbison and Steele这样的好书并将其用作参考。
正如您所说,对于较小的MCU(在架构和内存大小方面),有一些更好的做法。
volatile
非常有用(即至关重要)。然后你的编译器/链接器中有扩展名。阅读手册并了解它们为什么存在以及它们有什么用处。
总的来说,看看你的编译器生成的汇编程序,理解它为什么以这种方式工作并尝试一些小的变化来查看不同的输出(从char
到unsigned char
等等)。