深夜发帖,接着上次的新建工程,这次我们来了解下,要学习stm32需要知道的一些基础知识,这些对学习stm32有着重要的作用,对提升自己的能力会事半功倍哦。C 语言基础知识:C 语言知识博大精深 ,学习 STM32 这种高级别 MCU,下部分知识我们得熟练掌握:趁着夜色,我要开始加速了,大概分了以下几条: 结构体 stm32中使用了大量的结构体,这些对于初学stm32的有些同学很畏惧,比如下面一个有关于串口的结构体 typedef struct { uint32_tUSART_BaudRate; uint16_tUSART_WordLength; uint16_tUSART_StopBits; uint16_tUSART_Parity; uint16_tUSART_Mode; uint16_tUSART_HardwareFlowControl; }USART_InitTypeDef; 理解了结构体在这个例子中间的作用,在以后的开发过程中,你可以考虑将这些变量定义在结构体中,提高你的代码的可读性。 02:位操作: 很多寄存器的操作都需要位操作,例如下面的例子:GPIOx->BSRR = (((uint32_t)0x01) <<uines);这个操作就是将 BSRR 寄存器的第 uines 位设置为 1,提高代码的可读性。 03:define define 是 C 语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便。常见的格式:#define 标识符 字符串“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。 04 :extern 声名 main.c 定义的全局变量 fx, u8 fx; main() { fx=1; printf("d%",fx);//fx=1 longed (); printf("d%",fx);//fx=2 } 但是我们希望在uart.c的 longed(void)函数中使用变量fx,这个时候我们就需要在uart.c里面去申明变量 fx 是外部定义的了,因为如果不申明,变量fx的作用域是到不了 uart.c 文件中。 extern u8 fx;//申明变量 id 是在外部定义的,申明可以在很多个文件中进行 void longed (void) { fx=2; } 在 uart.c 中申明变量 id 在外部定义,然后在 uart.c 中就可以使用变量 fx 了。 好了,该休息了,谢谢各位,希望对大家有所帮助,各位加油!
|