标准外设库遵从以下命名规则 PPP表示任一外设缩写,例如:ADC。源程序文件和头文件命名都以“stm32f10x_”作为开头,例如:stm32f10x_conf.h。常量仅被应用于一个文件的,定义于该文件中;被应用于多个文件的,在对应头文件中定义。所有常量都由英文字母大写书写。寄存器作为常量处理。他们的命名都由英文字母大写书写。在大多数情况下,他们采用与缩写规范一致。外设函数的命名以该外设的缩写加下划线为开头。每个单词的第一个字母都由英文字母大写书写,例如:SPI_SendData。在函数名中,只允许存在一个下划线,用以分隔外设缩写和函数名的其它部分。对于函数命名,总的来说有以下规则:
l 名为PPP_Init的函数,其功能是根据PPP_InitTypeDef中指定的参数,初始化外设PPP,例如TIM_Init.
l 名为PPP_DeInit的函数,其功能为复位外设PPP的所有寄存器至缺省值,例如TIM_DeInit.
l 名为PPP_Init的函数,其功能为通过设置PPP_InitTypeDef 结构中的各种参数来定义外设的功能,例如:USART_Init .
l 名为PPP_Cmd的函数,其功能为使能或者失能外设PPP,例如: SPI_Cmd.
l 名为PPP_ITConfig的函数,其功能为使能或者失能来自外设PPP某中断源,例如: RCC_ITConfig.
l 名为PPP_DMAConfig的函数,其功能为使能或者失能外设PPP的DMA接口,例如:TIM1_DMAConfig.
l 用以配置外设功能的函数,总是以字符串“Config”结尾,例如GPIO_PinRemapConfig.
l 名为PPP_GetFlagStatus的函数,其功能为检查外设PPP某标志位被设置与否,例如:I2C_GetFlagStatus.
l 名为PPP_ClearFlag的函数,其功能为清除外设PPP标志位,例如:I2C_ClearFlag.
l 名为PPP_GetITStatus的函数,其功能为判断来自外设PPP的中断发生与否,例如:I2C_GetITStatus.
l 名为PPP_ClearITPendingBit的函数,其功能为清除外设PPP中断待处理标志位,例如: I2C_ClearITPendingBit.
这样的命名方式非常便于程序的编写和阅读,以标准外设库中的示例函数为例,下面摘录了STM32F10x_StdPeriph_Examples\ADC\3ADCs_DMA\mian.c中的一段程序。
1 DMA_InitType Def DMA_InitStructure; 2 3 /* DMA1 channel1 configuration ----------------------------------------------*/ 4 5 DMA_DeInit(DMA1_Channel1); 6 7 DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address; 8 9 DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&ADC1ConvertedValue; 10 11 DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; 12 13 DMA_InitStructure.DMA_BufferSize = 1; 14 15 DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; 16 17 DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; 18 19 DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; 20 21 DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; 22 23 DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; 24 25 DMA_InitStructure.DMA_Priority = DMA_Priority_High; 26 27 DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; 28 29 DMA_Init(DMA1_Channel1, &DMA_InitStructure); 30 31 /* Enable DMA1 channel1 */ 32 33 DMA_Cmd(DMA1_Channel1, ENABLE);
评论
查看更多