標準外設庫遵從以下命名規則 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);
評論
查看更多