欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5475|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

STC15F系列庫函數(shù)及使用參考資料下載

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:201882 發(fā)表于 2017-5-17 17:46 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
包含stc15f系列庫函數(shù)、使用參考和使用例程


完整資料下載:
STC15系列庫函數(shù)與例程測試版V1.0.rar (470.33 KB, 下載次數(shù): 75)




基本說明:
本函數(shù)庫適用于STC/IAP15F/L2K61S2系列MCU,具體的MCU的資源,請參考用戶手冊中對應(yīng)的章節(jié)。

使用以下的庫函數(shù),都必須包含“config.h”文件,里面包含了“STC15Fxxxx.H”頭文件。
在自己的工程中,加入庫函數(shù)文件,并且在使用庫函數(shù)的C文件中,包含對應(yīng)的頭文件。
這個文檔僅僅解釋各個庫函數(shù)里的參數(shù)定義和取值,具體的應(yīng)用例子,請參考例程。
相關(guān)功能的具體描述,請參考用戶手冊。

函數(shù)目錄
IO口初始化函數(shù):GPIO_Inilize ----------------------------------------------------------------------------------------2
定時器初始化函數(shù):Timer_Inilize ------------------------------------------------------------------------------------3
ADC初始化函數(shù):ADC_Inilize  ------------------------------------------------------------------------------------------4
ADC電源控制函數(shù):ADC_PowerControl -----------------------------------------------------------------------------6
ADC查詢轉(zhuǎn)換函數(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 -------------------------------------------------------------------------------11
EEPROM多字節(jié)讀函數(shù):EEPROM_read_n -----------------------------------------------------------------------11
EEPROM多字節(jié)寫函數(shù):EEPROM_write_n ----------------------------------------------------------------------11
EEPROM扇區(qū)擦除函數(shù):EEPROM_SectorErase ---------------------------------------------------------------- 12
PCA初始化函數(shù):PCA_Init -------------------------------------------------------------------------------------------12
PWM更新占空比函數(shù):UpdatePwm -----------------------------------------------------------------------------15
外中斷初始化函數(shù):Ext_Inilize -------------------------------------------------------------------------------------15


IO口初始化函數(shù):GPIO_Inilize
  函數(shù)名
  
  GPIO_Inilize
  
  函數(shù)原形
  
  u8     GPIO_Inilize(u8  GPIO, GPIO_InitTypeDef *GPIOx)
  
  所在文件
  
  GPIO.c
  
  功能描述
  
  對IO口初始化
  
  輸入?yún)?shù)1
  
  GPIO:選擇以下之一:GPIO_P0,GPIO_P1,GPIO_P2,GPIO_P3,GPIO_P4,GPIO_P5
  
  輸入?yún)?shù)2
  
  GPIOx:配置IO口的指針,指定配置的引腳和輸入、輸出方式,見下表描述。
  
  返回
  
  U8,返回0表示配置成,返回非0表示配置錯誤。
  

GPIO_InitTypeDef的定義見于文件“GPIO.H”。
typedef struct
{
         u8     Mode;
         u8     Pin;            //要設(shè)置的端口      
} GPIO_InitTypeDef;
Mode:      配置IO的模式,取值見下表:
  Mode取值
  
  
功能描述
  
  GPIO_PullUp
  
  準雙向口,內(nèi)部弱上拉,可以輸出,也可以當輸入,當輸入時,要先寫1。
  
  GPIO_HighZ
  
  高阻輸入,只能做輸入。
  
  GPIO_OUT_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  =  GPIO_Pin_0| GPIO_Pin_1 | GPIO_Pin_7;

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

TIM_InitTypeDef的定義見于文件“timer.H”。
typedef struct
{
         u8     TIM_Mode;               //工作模式
         u8     TIM_Polity;                //優(yōu)先級設(shè)置
         u8     TIM_Interrupt;         //中斷允許
         u8     TIM_ClkSource;        //時鐘源           
         u8     TIM_ClkOut;             //可編程時鐘輸出
         u16  TIM_Value;                //裝載初值
         u8     TIM_Run;                       //是否運行
} TIM_InitTypeDef;
TIM_Mode:定時器的工作模式:
  TIM_Mode取值
  
  
功能描述
  
  TIM_16BitAutoReload
  
  配置成16位自動重裝模式。
  
  TIM_16Bit
  
  配置成16位(手工重裝)模式。
  
  TIM_8BitAutoReload
  
  配置成8位自動重裝模式。
  
  TIM_16BitAutoReloadNoMask
  
  配置成16位自動重裝模式,中斷自動打開,并且不能屏蔽(禁止)。
  

TIM_Polity:中斷的優(yōu)先級:
  TIM_Polity 取值
  
  
功能描述
  
  PolityHigh
  
  中斷設(shè)置為高優(yōu)先級。
  
  PolityLow
  
  中斷設(shè)置為低優(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_ClkOut:定時器溢出時取反對應(yīng)IO輸出高速時鐘:
  TIM_ClkOut 取值
  
  
功能描述
  
  ENABLE
  
  允許定時器溢出時取反對應(yīng)IO輸出高速時鐘。
  
  DISABLE
  
  禁止定時器溢出時取反對應(yīng)IO輸出高速時鐘。
  

TIM_Value:一個16位的初值。

TIM_Run:初始化后是否運行定時器:
  TIM_Run取值
  
  
功能描述
  
  ENABLE
  
  初始化后運行定時器。
  
  DISABLE
  
  初始化后停止定時器。
  




ADC初始化函數(shù):ADC_Inilize
  函數(shù)名
  
  ADC_Inilize
  
  函數(shù)原形
  
  void  ADC_Inilize(ADC_InitTypeDef  *ADCx)
  
  所在文件
  
  Adc.c
  
  功能描述
  
  對ADC初始化
  
  輸入?yún)?shù)1
  
  ADCxx:配置ADC的指針,見下面描述。
  
  返回
  
  無
  

ADC_InitTypeDef的定義見于文件“ADC.H”。
typedef struct
{
         u8     ADC_Px;                     //設(shè)置要做ADC的IO,   ADC_P10 ~ ADC_P17,ADC_P1_All
         u8     ADC_Speed;              //ADC速度                         ADC_90T,ADC_180T,ADC_360T,ADC_540T
         u8     ADC_Power;             //ADC功率允許/關(guān)閉    ENABLE,DISABLE
         u8     ADC_AdjResult;       //ADC結(jié)果調(diào)整,     ADC_RES_H2L8,ADC_RES_H8L2
         u8     ADC_Polity;               //優(yōu)先級設(shè)置 PolityHigh,PolityLow
         u8     ADC_Interrupt;        //中斷允許               ENABLE,DISABLE
} ADC_InitTypeDef;

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

ADC_Speed:設(shè)置ADC的速度:
  ADC_Speed取值
  
  
功能描述
  
  ADC_90T
  
  設(shè)置ADC時鐘為90個主時鐘周期。
  
  ADC_180T
  
  設(shè)置ADC時鐘為180個主時鐘周期。
  
  ADC_360T
  
  設(shè)置ADC時鐘為360個主時鐘周期。
  
  ADC_540T
  
  設(shè)置ADC時鐘為540個主時鐘周期。
  

ADC_Power:ADC電源控制:
  ADC_Power 取值
  
  
功能描述
  
  ENABLE
  
  初始化后打開ADC電源。
  
  DISABLE
  
  初始化后關(guān)閉ADC電源。
  
ADC_AdjResult:ADC結(jié)果調(diào)整:
  ADC_AdjResult 取值
  
  
功能描述
  
  ADC_RES_H2L8
  
  ADC結(jié)果寄存器高字節(jié)為結(jié)果的高2位,低字節(jié)為低8位。
  
  ADC_RES_H8L2
  
  ADC結(jié)果寄存器高字節(jié)為結(jié)果的高8位,低字節(jié)為低2位。
  

ADC_Polity:中斷的優(yōu)先級:
  ADC_Polity 取值
  
  
功能描述
  
  PolityHigh
  
  中斷設(shè)置為高優(yōu)先級。
  
  PolityLow
  
  中斷設(shè)置為低優(yōu)先級(默認)。
  

ADC_Interrupt:中斷允許或禁止:
  ADC_Interrupt 取值
  
  
功能描述
  
  ENABLE
  
  允許中斷。
  
  DISABLE
  
  禁止中斷(默認)。
  


ADC電源控制函數(shù):ADC_PowerControl
  函數(shù)名
  
  ADC_PowerControl
  
  函數(shù)原形
  
  void  ADC_PowerControl(u8  pwr)
  
  所在文件
  
  Adc.c
  
  功能描述
  
  開/關(guān)ADC電源。
  
  輸入?yún)?shù)1
  
  pwr:取值ENABLE打開ADC電源,取值DISABLE關(guān)閉ADC電源。
  
  返回
  
  無
  


ADC查詢轉(zhuǎn)換函數(shù):Get_ADC10bitResult
  函數(shù)名
  
  Get_ADC10bitResult
  
  函數(shù)原形
  
  u16  Get_ADC10bitResult(u8  channel)
  
  所在文件
  
  Adc.c
  
  功能描述
  
  查詢方式進行一次ADC轉(zhuǎn)換。
  
  輸入?yún)?shù)1
  
  channel:要進行轉(zhuǎn)換的ADC通道,取值0~7其中一個,對應(yīng)P1.0~P1.7。
  
  返回
  
  10位ADC值。
  



通用軟件延時函數(shù):delay_ms
  函數(shù)名
  
  delay_ms
  
  函數(shù)原形
  
  void   delay_ms(unsigned char ms)
  
  所在文件
  
  Delay.c
  
  功能描述
  
  延時程序。包含config.h,延時時間會根據(jù)主頻自動適應(yīng)。
  
  輸入?yún)?shù)1
  
  ms:延時的ms數(shù),1~255。
  
  返回
  
  無
  



串口初始化函數(shù):USART_Configuration
  函數(shù)名
  
  USART_Configuration
  
  函數(shù)原形
  
  u8 USART_Configuration(u8 UARTx,  COMx_InitDefine *COMx)
  
  所在文件
  
  Usart.c
  
  功能描述
  
  對串口初始化
  
  輸入?yún)?shù)1
  
  UARTx:要初始化的串口,取值以下之一:USART1,USART2。
  
  輸入?yún)?shù)2
  
  COMx:配置串口的參數(shù)指針。
  
  返回
  
  U8,返回0表示配置成,返回非0表示配置錯誤。
  

COMx_InitDefine的定義見于文件“USART.H”。
typedef struct
{
         u8     UART_Mode;                     
         u8     UART_BRT_Use;               
         u32  UART_BaudRate;              
         u8     Morecommunicate;         
         u8     UART_RxEnable;               
         u8     BaudRateDouble;            
         u8     UART_Interrupt;               
         u8     UART_Polity;            
         u8     UART_P_SW;                     
         u8     UART_RXD_TXD_Short;

} COMx_InitDefine;

UART_Mode:設(shè)置USART的工作模式:
  UART_Mode取值
  
  
功能描述
  
  UART_ShiftRight
  
  串口工作于同步輸出方式,僅僅用于USART1
  
  UART_8bit_BRTx
  
  串口工作于8位數(shù)據(jù),可變波特率。
  
  UART_9bit
  
  串口工作于9位數(shù)據(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  = 115200ul;  //UL表示是unsigned long。

Morecommunicate:多機通訊允許:
  Morecommunicate 取值
  
  
功能描述
  
  ENABLE
  
  允許多機通訊。
  
  DISABLE
  
  禁止多機通訊(默認)。
  

UART_RxEnable:接收允許:
  UART_RxEnable 取值
  
  
功能描述
  
  ENABLE
  
  允許接收。
  
  DISABLE
  
  禁止接收。
  

BaudRateDouble:波特率加倍(僅僅用于USART1):
  BaudRateDouble 取值
  
  
功能描述
  
  ENABLE
  
  允許波特率加倍。
  
  DISABLE
  
  禁止波特率加倍。
  

UART_Interrupt:中斷允許或禁止:
  UART_Interrupt 取值
  
  
功能描述
  
  ENABLE
  
  允許中斷。
  
  DISABLE
  
  禁止中斷(默認)。
  

UART_Polity:中斷的優(yōu)先級:
  UART_Polity 取值
  
  
功能描述
  
  PolityHigh
  
  中斷設(shè)置為高優(yōu)先級。
  
  PolityLow
  
  中斷設(shè)置為低優(yōu)先級(默認)。
  

UART_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。(必須使用內(nèi)部時鐘)。
  

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:內(nèi)部TXD與RXD同相緩沖輸出做中繼:對于串口1的取值:
  UART_RXD_TXD_Short取值
  
  
功能描述
  
  ENABLE
  
  允許內(nèi)部TXD與RXD同相緩沖輸出做中繼。
  
  DISABLE
  
  禁止內(nèi)部TXD與RXD同相緩沖輸出做中繼。
  




串口1寫緩沖函數(shù):TX1_write2buff
  函數(shù)名
  
  TX1_write2buff
  
  函數(shù)原形
  
  void TX1_write2buff(u8 dat)
  
  所在文件
  
  Usart.c
  
  功能描述
  
  寫入串口1發(fā)送緩沖,指針+1
  
  輸入?yún)?shù)1
  
  dat:要發(fā)送的一字節(jié)數(shù)據(jù)。
  
  返回
  
  無。
  




串口2寫緩沖函數(shù):TX2_write2buff
  函數(shù)名
  
  TX2_write2buff
  
  函數(shù)原形
  
  void TX2_write2buff(u8 dat)
  
  所在文件
  
  Usart.c
  
  功能描述
  
  寫入串口2發(fā)送緩沖,指針+1
  
  輸入?yún)?shù)1
  
  dat:要發(fā)送的一字節(jié)數(shù)據(jù)。
  
  返回
  
  無。
  


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


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

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

模擬串口寫數(shù)據(jù)塊函數(shù):PrintString
  函數(shù)名
  
  PrintString
  
  函數(shù)原形
  
  void PrintString(u8 *puts)
  
  所在文件
  
  Soft_uart.c
  
  功能描述
  
  模擬串口發(fā)送一個字符串,遇到0結(jié)束。用于測試用途。
  調(diào)用了TxSend函數(shù)
  
  輸入?yún)?shù)1
  
  puts:要發(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ù)1
  
  EE_address:要讀出的EEPROM的16位首地址。
  
  輸入?yún)?shù)2
  
  DataAddress:讀出數(shù)據(jù)存放的指針。
  
  輸入?yún)?shù)3
  
  Number:要讀出的字節(jié)數(shù),取值1~65535(根據(jù)實際情況確定最大值)。
  
  返回
  
  無。
  



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

EEPROM扇區(qū)擦除函數(shù)函數(shù):EEPROM_SectorErase
  函數(shù)名
  
  EEPROM_SectorErase
  
  函數(shù)原形
  
  void EEPROM_SectorErase(u16 EE_address)
  
  所在文件
  
  EEPROM.c
  
  功能描述
  
  擦除EEPROM一個扇區(qū)。
  
  輸入?yún)?shù)1
  
  EE_address:要擦除的扇區(qū)內(nèi)的任意一個16位地址。
  
  返回
  
  無。
  







PCA初始化函數(shù):PCA_Init
  函數(shù)名
  
  PCA_Init
  
  函數(shù)原形
  
  void  PCA_Init(u8  PCA_id, PCA_InitTypeDef *PCAx)
  
  所在文件
  
  PCA.c
  
  功能描述
  
  初始化PCA。
  
  輸入?yún)?shù)1
  
  PCA_id:要初始化的PCA通道,取以下其一:PCA0,PCA1,PCA2,PCA_Counter。
  
  輸入?yún)?shù)2
  
  PCAx:初始化參數(shù)的結(jié)構(gòu)指針。詳情看下面的描述。
  
  返回
  
  無。
  

PCA_id:選擇要初始化的PCA通道:
  PCA_id取值
  
  
功能描述
  
  PCA0
  
  初始化PCA  0通道。
  
  PCA1
  
  初始化PCA  1通道。
  
  PCA2
  
  初始化PCA  2通道。
  
  PCA_Counter
  
  初始化PCA公用計數(shù)器,這個最好放在最后初始化。
  

PCA_InitTypeDef的定義見于文件“PCA.H”。
typedef struct
{
         u8     PCA_IoUse;
         u8     PCA_Clock;
         u8     PCA_Mode;
         u8     PCA_PWM_Wide;
         u8     PCA_Interrupt_Mode;     
         u8     PCA_Polity;
         u16  PCA_Value;
} PCA_InitTypeDef;

PCA_IoUse:選擇PCA使用的IO:初始化PCA_Counter時的取值,初始化PCA0 ~ PCA2時忽略:
  PCA_IoUse取值
  
  
功能描述
  
  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_1T
  
  PCA使用系統(tǒng)1T做時鐘。
  
  PCA_Clock_2T
  
  PCA使用系統(tǒng)2T做時鐘。
  
  PCA_Clock_4T
  
  PCA使用系統(tǒng)4T做時鐘。
  
  PCA_Clock_6T
  
  PCA使用系統(tǒng)6T做時鐘。
  
  PCA_Clock_8T
  
  PCA使用系統(tǒng)8T做時鐘。
  
  PCA_Clock_12T
  
  PCA使用系統(tǒng)12T做時鐘。
  
  PCA_Clock_Timer0_OF
  
  PCA使用Timer0溢出率做時鐘。Time0要另外初始化,速度快時不要開Timer0中斷。
  
  PCA_Clock_ECI
  
  PCA使用外部ECI引腳做時鐘。
  

PCA_Polity:中斷的優(yōu)先級:初始化PCA_Counter時的取值,初始化PCA0 ~ PCA2時忽略:
  PCA_Polity取值
  
  
功能描述
  
  PolityHigh
  
  PCA中斷設(shè)置為高優(yōu)先級。
  
  PolityLow
  
  PCA中斷設(shè)置為低優(yōu)先級(默認)。
  

PCA_Interrupt_Mode:中斷允許或禁止:初始化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_Active
  
  PCA通道上升沿中斷。
  
  PCA_Fall_Active
  
  PCA通道下降沿中斷。
  
注意:上面的參數(shù)可以做如下組合:
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使用的時鐘:初始化PCA_Counter時的取值,初始化PCA0 ~ PCA2時忽略:
  PCA_Clock 取值
  
  
功能描述
  
  PCA_Clock_1T
  
  PCA使用系統(tǒng)1T做時鐘。
  
  PCA_Clock_2T
  
  PCA使用系統(tǒng)2T做時鐘。
  
  PCA_Clock_4T
  
  PCA使用系統(tǒng)4T做時鐘。
  
  PCA_Clock_6T
  
  PCA使用系統(tǒng)6T做時鐘。
  

PCA_Mode:設(shè)置PCA通道的工作模式:初始化PCA0 ~ PCA2時的取值,初始化PCA_Counter時忽略:
  PCA_Mode 取值
  
  
功能描述
  
  PCA_Mode_PWM
  
  PCA通道工作于PWM輸出模式。
  
  PCA_Mode_Capture
  
  PCA通道工作于輸入捕捉模式。
  
  PCA_Mode_SoftTimer
  
  PCA通道工作于16位軟件定時器模式。
  
  PCA_Mode_HighPulseOutput
  
  PCA通道工作于16位軟件定時器模式,并且高速輸出脈沖。
  

PCA_PWM_Wide:設(shè)置PCA通道工作于PWM模式時的PWM寬度:初始化PCA0 ~ PCA2工作于PWM模式時的取值,初始化PCA_Counter時或PCA通道其它模式時忽略:
  PCA_PWM_Wide 取值
  
  
功能描述
  
  PCA_PWM_8bit
  
  PCA通道工作于PWM輸出模式,PWM寬度為8位。
  
  PCA_PWM_7bit
  
  PCA通道工作于PWM輸出模式,PWM寬度為7位。
  
  PCA_PWM_6bit
  
  PCA通道工作于PWM輸出模式,PWM寬度為6位。
  

PCA_Value:設(shè)置PCA通道的初值,初始化PCA0 ~ PCA2時的取值,初始化PCA_Counter時忽略。
PWM更新占空比函數(shù):UpdatePwm
  函數(shù)名
  
  UpdatePwm
  
  函數(shù)原形
  
  void  UpdatePwm(u8  PCA_id, u8 pwm_value)
  
  所在文件
  
  PCA.c
  
  功能描述
  
  更新PWM的占空比。
  
  輸入?yún)?shù)1
  
  PCA_id:要更新的PCA通道,取以下其一:PCA0,PCA1,PCA2。
  
  輸入?yún)?shù)2
  
  pwm_value:新的PWM占空比值。這是PWM輸出低電平的時間。
  
  返回
  
  無。
  




外中斷初始化函數(shù):Ext_Inilize
  函數(shù)名
  
  Ext_Inilize
  
  函數(shù)原形
  
  u8     Ext_Inilize(u8  EXT, EXTI_InitTypeDef *INTx)
  
  所在文件
  
  Exti.c
  
  功能描述
  
  外中斷初始化。
  
  輸入?yún)?shù)1
  
  EXT:要初始化的外中斷號,取如下值之一:EXT_INT0,EXT_INT1,EXT_INT2,EXT_INT3,EXT_INT4。
  
  輸入?yún)?shù)2
  
  INTx:初始化結(jié)構(gòu)參數(shù)的指針。
  
  返回
  
  U8,返回0表示配置成,返回非0表示配置錯誤。
  

EXTI_InitTypeDef的定義見于文件“Exti.H”。
typedef struct
{
         u8     EXTI_Mode;              
         u8     EXTI_Polity;      
         u8     EXTI_Interrupt;
} EXTI_InitTypeDef;

EXTI_Mode:設(shè)置外中斷的工作模式:初始化INT0 INT1時的取值,初始化INT2INT3INT4時忽略,固定為下降沿中斷。
  EXTI_Mode 取值
  
  
功能描述
  
  EXT_MODE_RiseFall
  
  外中斷工作于上升、下降沿中斷。
  
  EXT_MODE_Fall
  
  外中斷工作于下降沿中斷。
  
EXTI_Polity:中斷的優(yōu)先級:初始化INT0 INT1時的取值,初始化INT2INT3INT4時忽略,固定為低優(yōu)先級中斷。
  EXTI_Polity取值
  
  
功能描述
  
  PolityHigh
  
  外中斷設(shè)置為高優(yōu)先級。
  
  PolityLow
  
  外中斷設(shè)置為低優(yōu)先級(默認)。
  

EXTI_Interrupt:中斷允許或禁止:
  EXTI_Interrupt 取值
  
  
功能描述
  
  ENABLE
  
  允許外部中斷。
  
  DISABLE
  
  禁止外部中斷。
  

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:161214 發(fā)表于 2019-5-24 10:52 | 只看該作者
好人,學(xué)習(xí)了!
回復(fù)

使用道具 舉報

板凳
ID:185990 發(fā)表于 2019-6-7 19:04 | 只看該作者
太厲害了,下載了,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表