STC庫函數(shù)使用參考_第1頁
STC庫函數(shù)使用參考_第2頁
STC庫函數(shù)使用參考_第3頁
STC庫函數(shù)使用參考_第4頁
STC庫函數(shù)使用參考_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上STC庫函數(shù)使用參考版本:V10日期:2013-5-28編寫:STC公司基本說明:本函數(shù)庫適用于STC/IAP15F/L2K61S2系列MCU,具體的MCU的資源,請參考用戶手冊中對應的章節(jié)。使用以下的庫函數(shù),都必須包含“config.h”文件,里面包含了“STC15Fxxxx.H”頭文件。在自己的工程中,加入庫函數(shù)文件,并且在使用庫函數(shù)的C文件中,包含對應的頭文件。這個文檔僅僅解釋各個庫函數(shù)里的參數(shù)定義和取值,具體的應用例子,請參考例程。相關功能的具體描述,請參考用戶手冊。函數(shù)目錄IO口初始化函數(shù):GPIO_Inilize - 2定時器初始化函數(shù):Timer_Ini

2、lize - 3ADC初始化函數(shù):ADC_Inilize - 4ADC電源控制函數(shù):ADC_PowerControl - 6ADC查詢轉換函數(shù):Get_ADC10bitResult - 6通用軟件延時函數(shù):delay_ms - 7串口初始化函數(shù):USART_Configuration - 7串口1寫緩沖函數(shù):TX1_write2buff - 9串口2寫緩沖函數(shù):TX2_write2buff - 10串口1寫數(shù)據(jù)塊函數(shù):PrintString1 - 10串口2寫數(shù)據(jù)塊函數(shù):PrintString2 - 10模擬串口字節(jié)發(fā)送函數(shù):TxSend - 10模擬串口寫數(shù)據(jù)塊函數(shù):PrintString

3、- 11EEPROM多字節(jié)讀函數(shù):EEPROM_read_n - 11EEPROM多字節(jié)寫函數(shù):EEPROM_write_n - 11EEPROM扇區(qū)擦除函數(shù):EEPROM_SectorErase - 12PCA初始化函數(shù):PCA_Init - 12PWM更新占空比函數(shù):UpdatePwm - 15外中斷初始化函數(shù):Ext_Inilize - 15IO口初始化函數(shù):GPIO_Inilize函數(shù)名GPIO_Inilize函數(shù)原形u8GPIO_Inilize(u8 GPIO, GPIO_InitTypeDef *GPIOx)所在文件GPIO.c功能描述對IO口初始化輸入?yún)?shù)1GPIO:選擇以下之一

4、:GPIO_P0,GPIO_P1,GPIO_P2,GPIO_P3,GPIO_P4,GPIO_P5輸入?yún)?shù)2GPIOx:配置IO口的指針,指定配置的引腳和輸入、輸出方式,見下表描述。返回U8,返回0表示配置成,返回非0表示配置錯誤。GPIO_InitTypeDef的定義見于文件“GPIO.H”。typedef structu8Mode;u8Pin;/要設置的端口 GPIO_InitTypeDef;Mode:配置IO的模式,取值見下表:Mode取值功能描述GPIO_PullUp準雙向口,內部弱上拉,可以輸出,也可以當輸入,當輸入時,要先寫1。GPIO_HighZ高阻輸入,只能做輸入。GPIO_OU

5、T_OD開漏輸出,輸出0時拉低,輸出1時高阻,可以做輸入/輸出。GPIO_OUT_PP推挽輸出,職能做輸出,根據(jù)具體電路,可能要串電阻以限制電流。Pin:要配置的某一個回多個IO,取值見下表:Pin取值功能描述GPIO_Pin_0配置Px.0。GPIO_Pin_1配置Px.1。GPIO_Pin_2配置Px.2。GPIO_Pin_3配置Px.3。GPIO_Pin_4配置Px.4。GPIO_Pin_5配置Px.5。GPIO_Pin_6配置Px.6。GPIO_Pin_7配置Px.7。GPIO_Pin_All配置整個8位口。以上參數(shù)可以使用或運算,比如:GPIO_InitStructure.Pin =

6、 GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_7;定時器初始化函數(shù):Timer_Inilize函數(shù)名Timer_Inilize函數(shù)原形u8Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx)所在文件Timer.c功能描述對定時器初始化輸入?yún)?shù)1TIM:選擇以下之一:Timer 0,Timer 1,Timer 2。輸入?yún)?shù)2TIMx:配置定時器的指針,指定配置的功能,見下表描述。返回U8,返回0表示配置成,返回非0表示配置錯誤。TIM_InitTypeDef的定義見于文件“timer.H”。typedef structu8TIM_Mo

7、de;/工作模式u8TIM_Polity;/優(yōu)先級設置u8TIM_Interrupt;/中斷允許u8TIM_ClkSource;/時鐘源u8TIM_ClkOut;/可編程時鐘輸出u16TIM_Value;/裝載初值u8TIM_Run; /是否運行 TIM_InitTypeDef;TIM_Mode:定時器的工作模式:TIM_Mode取值功能描述TIM_16BitAutoReload配置成16位自動重裝模式。TIM_16Bit配置成16位(手工重裝)模式。TIM_8BitAutoReload配置成8位自動重裝模式。TIM_16BitAutoReloadNoMask配置成16位自動重裝模式,中斷自動

8、打開,并且不能屏蔽(禁止)。TIM_Polity:中斷的優(yōu)先級:TIM_Polity 取值功能描述PolityHigh中斷設置為高優(yōu)先級。PolityLow 中斷設置為低優(yōu)先級(默認)。TIM_Interrupt:中斷允許或禁止:TIM_Interrupt 取值功能描述ENABLE允許中斷。DISABLE禁止中斷(默認)。TIM_ClkSource:定時器的時鐘源選擇:TIM_ClkSource 取值功能描述TIM_CLOCK_1T定時器的時鐘使用 系統(tǒng)時鐘1T模式。TIM_CLOCK_12T 定時器的時鐘使用 系統(tǒng)時鐘12T模式。TIM_CLOCK_Ext定時器的時鐘使用外部輸入。TIM_C

9、lkOut:定時器溢出時取反對應IO輸出高速時鐘:TIM_ClkOut 取值功能描述ENABLE允許定時器溢出時取反對應IO輸出高速時鐘。DISABLE禁止定時器溢出時取反對應IO輸出高速時鐘。TIM_Value:一個16位的初值。TIM_Run:初始化后是否運行定時器:TIM_Run取值功能描述ENABLE初始化后運行定時器。DISABLE初始化后停止定時器。ADC初始化函數(shù):ADC_Inilize函數(shù)名ADC_Inilize函數(shù)原形voidADC_Inilize(ADC_InitTypeDef *ADCx)所在文件Adc.c功能描述對ADC初始化輸入?yún)?shù)1ADCxx:配置ADC的指針,見下

10、面描述。返回無ADC_InitTypeDef的定義見于文件“ADC.H”。typedef structu8ADC_Px;/設置要做ADC的IO,ADC_P10 ADC_P17,ADC_P1_Allu8ADC_Speed;/ADC速度ADC_90T,ADC_180T,ADC_360T,ADC_540Tu8ADC_Power;/ADC功率允許/關閉ENABLE,DISABLEu8ADC_AdjResult;/ADC結果調整,ADC_RES_H2L8,ADC_RES_H8L2u8ADC_Polity;/優(yōu)先級設置PolityHigh,PolityLowu8ADC_Interrupt;/中斷允許ENA

11、BLE,DISABLE ADC_InitTypeDef;ADC_Px:設置要做ADC的IO:ADC_Px取值功能描述ADC_P10設置P1.0為ADC輸入口。ADC_P11設置P1.1為ADC輸入口。ADC_P12設置P1.2為ADC輸入口。ADC_P13設置P1.3為ADC輸入口。ADC_P14設置P1.4為ADC輸入口。ADC_P15設置P1.5為ADC輸入口。ADC_P16設置P1.6為ADC輸入口。ADC_P17設置P1.7為ADC輸入口。ADC_P1_All配置整個8位P1口為ADC輸入。以上參數(shù)可以使用或運算,比如:ADC_InitStructure.ADC_Px = ADC_P1

12、0 | ADC_P11 | ADC_P12;ADC_Speed:設置ADC的速度:ADC_Speed取值功能描述ADC_90T設置ADC時鐘為90個主時鐘周期。ADC_180T設置ADC時鐘為180個主時鐘周期。ADC_360T設置ADC時鐘為360個主時鐘周期。ADC_540T設置ADC時鐘為540個主時鐘周期。ADC_Power:ADC電源控制:ADC_Power 取值功能描述ENABLE初始化后打開ADC電源。DISABLE初始化后關閉ADC電源。ADC_AdjResult:ADC結果調整:ADC_AdjResult 取值功能描述ADC_RES_H2L8ADC結果寄存器高字節(jié)為結果的高2

13、位,低字節(jié)為低8位。ADC_RES_H8L2ADC結果寄存器高字節(jié)為結果的高8位,低字節(jié)為低2位。ADC_Polity:中斷的優(yōu)先級:ADC_Polity 取值功能描述PolityHigh中斷設置為高優(yōu)先級。PolityLow 中斷設置為低優(yōu)先級(默認)。ADC_Interrupt:中斷允許或禁止:ADC_Interrupt 取值功能描述ENABLE允許中斷。DISABLE禁止中斷(默認)。ADC電源控制函數(shù):ADC_PowerControl函數(shù)名ADC_PowerControl函數(shù)原形voidADC_PowerControl(u8 pwr)所在文件Adc.c功能描述開/關ADC電源。輸入?yún)?shù)

14、1pwr:取值ENABLE打開ADC電源,取值DISABLE關閉ADC電源。返回無ADC查詢轉換函數(shù):Get_ADC10bitResult函數(shù)名Get_ADC10bitResult函數(shù)原形u16Get_ADC10bitResult(u8 channel)所在文件Adc.c功能描述查詢方式進行一次ADC轉換。輸入?yún)?shù)1channel:要進行轉換的ADC通道,取值07其中一個,對應P1.0P1.7。返回10位ADC值。通用軟件延時函數(shù):delay_ms函數(shù)名delay_ms函數(shù)原形void delay_ms(unsigned char ms)所在文件Delay.c功能描述延時程序。包含config

15、.h,延時時間會根據(jù)主頻自動適應。輸入?yún)?shù)1ms:延時的ms數(shù),1255。返回無串口初始化函數(shù):USART_Configuration函數(shù)名USART_Configuration函數(shù)原形u8 USART_Configuration(u8 UARTx, COMx_InitDefine *COMx)所在文件Usart.c功能描述對串口初始化輸入?yún)?shù)1UARTx:要初始化的串口,取值以下之一:USART1,USART2。輸入?yún)?shù)2COMx:配置串口的參數(shù)指針。返回U8,返回0表示配置成,返回非0表示配置錯誤。COMx_InitDefine的定義見于文件“USART.H”。typedef struct

16、 u8UART_Mode;u8UART_BRT_Use;u32UART_BaudRate;u8Morecommunicate;u8UART_RxEnable;u8BaudRateDouble;u8UART_Interrupt;u8UART_Polity;u8UART_P_SW;u8UART_RXD_TXD_Short; COMx_InitDefine;UART_Mode:設置USART的工作模式:UART_Mode取值功能描述UART_ShiftRight串口工作于同步輸出方式,僅僅用于USART1。UART_8bit_BRTx串口工作于8位數(shù)據(jù),可變波特率。UART_9bit串口工作于9位數(shù)

17、據(jù),固定波特率。UART_9bit_BRTx串口工作于9位數(shù)據(jù),可變波特率。UART_BRT_Use:使用的波特率發(fā)生器:UART_BRT_Use 取值功能描述BRT_Timer1使用Timer1做波特率發(fā)生器,僅僅用于USART1。BRT_Timer2使用Timer2做波特率發(fā)生器。UART_BaudRate:使用的波特率,比如:COMx_InitStructure.UART_BaudRate = ul; /UL表示是unsigned long。Morecommunicate:多機通訊允許:Morecommunicate 取值功能描述ENABLE允許多機通訊。DISABLE禁止多機通訊(默認

18、)。UART_RxEnable:接收允許:UART_RxEnable 取值功能描述ENABLE允許接收。DISABLE禁止接收。BaudRateDouble:波特率加倍(僅僅用于USART1):BaudRateDouble 取值功能描述ENABLE允許波特率加倍。DISABLE禁止波特率加倍。UART_Interrupt:中斷允許或禁止:UART_Interrupt 取值功能描述ENABLE允許中斷。DISABLE禁止中斷(默認)。UART_Polity:中斷的優(yōu)先級:UART_Polity 取值功能描述PolityHigh中斷設置為高優(yōu)先級。PolityLow 中斷設置為低優(yōu)先級(默認)。U

19、ART_P_SW:切換IO:對于串口1的取值:UART_P_SW取值功能描述UART1_SW_P30_P31把串口1切換到P3.0、P3.1。UART1_SW_P36_P37把串口1切換到P3.6、P3.7。UART1_SW_P16_P17把串口1切換到P1.6、P1.7。(必須使用內部時鐘)。UART_P_SW:切換IO:對于串口2的取值:UART_P_SW取值功能描述UART2_SW_P10_P11把串口2切換到P1.0、P1.1。UART2_SW_P46_P47把串口2切換到P4.6、P4.7。UART_RXD_TXD_Short:內部TXD與RXD同相緩沖輸出做中繼:對于串口1的取值:

20、UART_RXD_TXD_Short取值功能描述ENABLE允許內部TXD與RXD同相緩沖輸出做中繼。DISABLE禁止內部TXD與RXD同相緩沖輸出做中繼。串口1寫緩沖函數(shù):TX1_write2buff函數(shù)名TX1_write2buff函數(shù)原形void TX1_write2buff(u8 dat)所在文件Usart.c功能描述寫入串口1發(fā)送緩沖,指針+1輸入?yún)?shù)1dat:要發(fā)送的一字節(jié)數(shù)據(jù)。返回無。串口2寫緩沖函數(shù):TX2_write2buff函數(shù)名TX2_write2buff函數(shù)原形void TX2_write2buff(u8 dat)所在文件Usart.c功能描述寫入串口2發(fā)送緩沖,指針

21、+1輸入?yún)?shù)1dat:要發(fā)送的一字節(jié)數(shù)據(jù)。返回無。串口1寫數(shù)據(jù)塊函數(shù):PrintString1函數(shù)名PrintString1函數(shù)原形void PrintString1(u8 *puts)所在文件Usart.c功能描述把一個字符串寫入串口1發(fā)送緩沖,遇到0結束。輸入?yún)?shù)1puts:要發(fā)送的字符串指針。返回無。串口2寫數(shù)據(jù)塊函數(shù):PrintString2函數(shù)名PrintString2函數(shù)原形void PrintString2(u8 *puts)所在文件Usart.c功能描述把一個字符串寫入串口2發(fā)送緩沖,遇到0結束。輸入?yún)?shù)1puts:要發(fā)送的字符串指針。返回無。模擬串口字節(jié)發(fā)送函數(shù):TxSend

22、函數(shù)名TxSend函數(shù)原形voidTxSend(u8 dat)所在文件Soft_uart.c功能描述模擬串口發(fā)送,可以定義任意一個IO做串口發(fā)送,固定為9600,8,n,1,修改config里的時鐘頻率時,程序會自動適應這個頻率,始終保持9600的波特率,一般用于測試用途。當發(fā)送時,為了避免受中斷的影響,會關掉總中斷。輸入?yún)?shù)1dat:要發(fā)送的字節(jié)。返回無。模擬串口寫數(shù)據(jù)塊函數(shù):PrintString函數(shù)名PrintString函數(shù)原形void PrintString(u8 *puts)所在文件Soft_uart.c功能描述模擬串口發(fā)送一個字符串,遇到0結束。用于測試用途。調用了TxSend函

23、數(shù)輸入?yún)?shù)1puts:要發(fā)送的字符串指針。返回無。EEPROM多字節(jié)讀函數(shù):EEPROM_read_n函數(shù)名EEPROM_read_n函數(shù)原形void EEPROM_read_n(u16 EE_address,u8 *DataAddress,u16 number)所在文件EEPROM.c功能描述從EEPROM讀出多個字節(jié)。輸入?yún)?shù)1EE_address:要讀出的EEPROM的16位首地址。輸入?yún)?shù)2DataAddress:讀出數(shù)據(jù)存放的指針。輸入?yún)?shù)3Number:要讀出的字節(jié)數(shù),取值165535(根據(jù)實際情況確定最大值)。返回無。EEPROM多字節(jié)寫函數(shù):EEPROM_write_n函數(shù)名E

24、EPROM_write_n函數(shù)原形void EEPROM_write_n(u16 EE_address,u8 *DataAddress,u16 number)所在文件EEPROM.c功能描述把多個字節(jié)寫入EEPROM。輸入?yún)?shù)1EE_address:要寫入的EEPROM的16位首地址。輸入?yún)?shù)2DataAddress:源數(shù)據(jù)存放的指針。輸入?yún)?shù)3Number:要寫入的字節(jié)數(shù),取值165535(根據(jù)實際情況確定最大值)。返回無。EEPROM扇區(qū)擦除函數(shù)函數(shù):EEPROM_SectorErase函數(shù)名EEPROM_SectorErase函數(shù)原形void EEPROM_SectorErase(u16

25、 EE_address)所在文件EEPROM.c功能描述擦除EEPROM一個扇區(qū)。輸入?yún)?shù)1EE_address:要擦除的扇區(qū)內的任意一個16位地址。返回無。PCA初始化函數(shù):PCA_Init函數(shù)名PCA_Init函數(shù)原形voidPCA_Init(u8 PCA_id, PCA_InitTypeDef *PCAx)所在文件PCA.c功能描述初始化PCA。輸入?yún)?shù)1PCA_id:要初始化的PCA通道,取以下其一:PCA0,PCA1,PCA2,PCA_Counter。輸入?yún)?shù)2PCAx:初始化參數(shù)的結構指針。詳情看下面的描述。返回無。PCA_id:選擇要初始化的PCA通道:PCA_id取值功能描述P

26、CA0初始化PCA 0通道。PCA1初始化PCA 1通道。PCA2初始化PCA 2通道。PCA_Counter初始化PCA公用計數(shù)器,這個最好放在最后初始化。PCA_InitTypeDef的定義見于文件“PCA.H”。typedef structu8PCA_IoUse;u8PCA_Clock;u8PCA_Mode;u8PCA_PWM_Wide;u8PCA_Interrupt_Mode;u8PCA_Polity;u16PCA_Value; PCA_InitTypeDef;PCA_IoUse:選擇PCA使用的IO:初始化PCA_Counter時的取值,初始化PCA0 PCA2時忽略:PCA_IoU

27、se取值功能描述PCA_P12_P11_P10_P37把PCA切換到P1.2、P1.1、P1.0、P3.7。PCA_P34_P35_P36_P37把PCA切換到P3.4、P3.5、P3.6、P3.7。PCA_P24_P25_P26_P27把PCA切換到P2.4、P2.5、P2.6、P2.7。PCA_Clock:選擇PCA使用的時鐘:初始化PCA_Counter時的取值,初始化PCA0 PCA2時忽略:PCA_Clock 取值功能描述PCA_Clock_1TPCA使用系統(tǒng)1T做時鐘。PCA_Clock_2TPCA使用系統(tǒng)2T做時鐘。PCA_Clock_4TPCA使用系統(tǒng)4T做時鐘。PCA_Clo

28、ck_6TPCA使用系統(tǒng)6T做時鐘。PCA_Clock_8TPCA使用系統(tǒng)8T做時鐘。PCA_Clock_12TPCA使用系統(tǒng)12T做時鐘。PCA_Clock_Timer0_OFPCA使用Timer0溢出率做時鐘。Time0要另外初始化,速度快時不要開Timer0中斷。PCA_Clock_ECIPCA使用外部ECI引腳做時鐘。PCA_Polity:中斷的優(yōu)先級:初始化PCA_Counter時的取值,初始化PCA0 PCA2時忽略:PCA_Polity取值功能描述PolityHighPCA中斷設置為高優(yōu)先級。PolityLow PCA中斷設置為低優(yōu)先級(默認)。PCA_Interrupt_Mod

29、e:中斷允許或禁止:初始化PCA_Counter時的取值,初始化PCA0 PCA2時忽略:PCA_Interrupt_Mode 取值功能描述ENABLE允許公用PCA定時器中斷。DISABLE禁止公用PCA定時器中斷(默認)。PCA_Interrupt_Mode:中斷允許或禁止:初始化PCA0 PCA2時的取值,初始化PCA_Counter時忽略:PCA_Interrupt_Mode 取值功能描述ENABLE允許PCA通道中斷。DISABLE禁止PCA通道中斷(默認)。PCA_Rise_ActivePCA通道上升沿中斷。PCA_Fall_ActivePCA通道下降沿中斷。注意:上面的參數(shù)可以做

30、如下組合:PCA_InitStructure.PCA_Interrupt_Mode = PCA_Fall_Active | ENABLE; /下降沿中斷,允許中斷。PCA_InitStructure.PCA_Interrupt_Mode = PCA_Rise_Active | ENABLE; /上升沿中斷,允許中斷。PCA_InitStructure.PCA_Interrupt_Mode = PCA_Rise_Active | PCA_Fall_Active | ENABLE; /上升沿、下降沿中斷,允許中斷。如果后面使用了 | DISABLE,則中斷被禁止。PCA_Clock:選擇PCA使用

31、的時鐘:初始化PCA_Counter時的取值,初始化PCA0 PCA2時忽略:PCA_Clock 取值功能描述PCA_Clock_1TPCA使用系統(tǒng)1T做時鐘。PCA_Clock_2TPCA使用系統(tǒng)2T做時鐘。PCA_Clock_4TPCA使用系統(tǒng)4T做時鐘。PCA_Clock_6TPCA使用系統(tǒng)6T做時鐘。PCA_Mode:設置PCA通道的工作模式:初始化PCA0 PCA2時的取值,初始化PCA_Counter時忽略:PCA_Mode 取值功能描述PCA_Mode_PWMPCA通道工作于PWM輸出模式。PCA_Mode_CapturePCA通道工作于輸入捕捉模式。PCA_Mode_SoftTimerPCA通道工作于16位軟件定時器模式。PCA_Mode_HighPulseOutputPCA通道工作于16位軟件定時器模式,并且高速輸出脈沖。PCA_PWM_Wide:設置PCA通道工作于PWM模式時的PWM寬度:初始化PCA0 PCA2工作于PWM模式時的取值,初始化PCA_Counter時或PCA通道其它模式時忽

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論