STM32之C语言基础复习

本文介绍了STM32开发中C语言的基础概念,包括宏定义、条件编译、extern声明、类型别名、结构体、指针和位操作的应用。重点讲解了宏定义的实现及注意事项,以及如何通过typedef简化类型定义,并在ST源码中应用结构体类型别名。此外,还探讨了指针使用中常见的问题,如未分配内存和越界使用,以及如何对寄存器的特定位进行赋值。
摘要由CSDN通过智能技术生成

目录

一、宏定义

二、条件编译

三、extern声明

四、类型别名(typedef)

1、类型别名应用

五、结构体

1、应用举例(ST源码,使用类型别名)

六、指针

1、指针使用的二大最常见问题

七、位操作 

 1、如何给寄存器某个位赋值


一、宏定义

宏定义可以:提高效率、可读性、易改性、核心是替换

1、不带参数的宏定义

#define 标识符 字符串

标识符:宏定义的名字 (建议大写)
字符串:常数、表达式、格式串等

宏定义是一个临时的符号,是不占用内存的,属于预处理程序中代码
例如:#define PI 3.14159

2、带参数的宏定义

#define LED1(X) do{ x?\
    A:\
    B;\
}while(0)

建议使用do{.....}while(0)来构造宏定义,这样不会受到大括号、分号、运算符优先级等的影响

二、条件编译

让编译器只对满足条件的代码进行编译,不满足条件的不参与编译

 举例:头文件的条件编译结构

#ifndef _LED_H
#define _LED_H
#include "./SYSTEM/sys/sys.h"
code
#endif

三、extern声明

放在函数/变量前,表示此函数/变量在其他文件定义,以便本文件引用

extern uint16_t g_usart_rx_sta;
extern void delay_us(uint32_t nus);

g_usart_rx_sta:一个全局变量
delay_us:      一个函数

extern的作用是:告诉编译器,在这个文件中,我要调用这个变量/函数,你需要去其他的文件中找到这个变量/函数

四、类型别名(typedef&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值