三、外设的初始化
外设初始化函数,功能是设置工作模式、使能外设等,常见的比如USART_Init(),ADC_Init(),I2C_Init()等。
调用初始化函数xxx_Init之前,要给它传递参数--初始化的对象和设置改对象的值。
初始化的对象当然是外设的寄存器xxx_TypeDef(xxx代表的是外设)类型的结构体,在传递参数时通常是用指向这样结构体的指针进行传送,比如“USART_TypeDef* USARTx”。
设置对象的参数值则保存在另外一个结构体变量中,结构体类型的命名通常是xxx_InitTypeDef,例如“USART_InitTypeDef USART_InitStructure”。在给xxx_Init传递参数时,同样传递的是这个变量的指针。
初始化函数xxx_Init(),根据参数值来设置控制寄存器xxx_CR。
使用ST库对外设进行初始化,一般有以下步骤:
1)定义一个xxx_InitTypeDef类型的初始化结构体
2)根据使用要求,向这些初始化结构体的成员写入特定的控制参数
3)填充完结构体后,把指向这个结构体的地址作为输入参数,调用响应的外设库函数xxx_Init(),从而实现向寄存器写入控制参数,配置好外设。
|