中级会员
 
- 积分
- 331
- 金钱
- 331
- 注册时间
- 2016-10-12
- 在线时间
- 53 小时
|
我们在写库函数的时候,一般都会建一个结构体,如串口:USART_InitTypeDef USART_InitStructure
这个结构体里面有6个成员,算是少的,有些结构体如DMA,有15个成员
那么,我们在写程序的时候,是不是每一个都必须写呢?其实不必,特别是成员比较多的情况
在定义结构体变量的时候,我们这样定义:
USART_InitTypeDef USART_InitStructure={0};
这样的目的,是确保结构体中的成员都为0;
那么,比如串口,常用的设定是:8位、1个停止位、无校验、无硬件数据流控制,这些值在特定的位上都是0,那么,初始化函数可写为:
USART_InitTypeDef USART_InitStructure={0};
USART_InitStructure.USART_BaudRate = 115200; //设定波特率
USART_InitStructure.USART_Mode = USART_Mode_Tx; //只发模式
USART_Init(USART1, &USART_InitStructure); //初始化串口1
是不是非常简洁,上述例子省去了4行,如果是DMA的初始化,可以省去8行,可以大大提高写代码的速度,另外,程序也变得简洁,易读性提高。
|
|