stm32常用编写C语言基础知识,条件编译,结构体等

位操作

宏定义#define

带参数的宏定义

条件编译

下面是头文件中常见的编译语句,其中_LED_H可以认为是一个编译段的名字。

下面代码表示满足某个条件,进行包含头文件的编译,SYSTEM_SUPPORT_OS可能是条件,当非0时,可以进行下面的编译

c 复制代码
#if SYSTEM_SUPPORT_OS
#include "includes.h"					//ucos 使用	  
#endif

extern 声明


typedef 类型别名

这个和#define格式有些相似,但自己定义的名字位置刚好相反。



在源码中常见的结构体定义方式

这里使用了类型别名结构体的知识

常见的使用方法,下面首先定义一个IO口的结构体变量,然后对其中每个变量进行赋值

指针

指针常见的错误使用

对常量地址进行赋值操作

直接操作地址,可以理解为对常量地址指针内放入值

通过预编译的方式把寄存器某个地址放入的值先定义为一个名字,再对这个名字赋值

堆栈的不同


相关推荐
爱编码的小八嘎几秒前
C语言完美演绎6-4
c语言
小昭在路上……34 分钟前
AHB和APB总线概念
单片机·嵌入式硬件
励志的小陈1 小时前
复杂度算法题——旋转数组(三种思路)
c语言·数据结构·算法
学嵌入式的小杨同学1 小时前
STM32 进阶封神之路(三十):IIC 通信深度实战 —— 软件模拟 IIC + 光照传感器(BH1750)全解析(底层时序 + 代码落地)
stm32·单片机·嵌入式硬件·mcu·硬件架构·硬件工程·智能硬件
Rooting++1 小时前
C 位域的作用
c语言
always_TT1 小时前
C语言中的“副作用”是什么?
c语言·开发语言
jacklood2 小时前
使用STM32的迪文屏控制使用参考方式
前端·javascript·stm32
Zarek枫煜2 小时前
zig与C3的算法 -- 桶排序
c语言·嵌入式硬件·算法
liulilittle2 小时前
SQLite3增删改查(C
c语言·开发语言·数据库·c++·sqlite
我是一个对称矩阵3 小时前
Ubuntu安装WIFI适配器驱动
stm32·单片机·ubuntu