找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4801|回复: 2
打印 上一主题 下一主题
收起左侧

STC15F系列库函数及使用参考资料下载

[复制链接]
跳转到指定楼层
楼主
包含stc15f系列库函数、使用参考和使用例程


完整资料下载:
STC15系列库函数与例程测试版V1.0.rar (470.33 KB, 下载次数: 75)




基本说明:
本函数库适用于STC/IAP15F/L2K61S2系列MCU,具体的MCU的资源,请参考用户手册中对应的章节。

使用以下的库函数,都必须包含“config.h”文件,里面包含了“STC15Fxxxx.H”头文件。
在自己的工程中,加入库函数文件,并且在使用库函数的C文件中,包含对应的头文件。
这个文档仅仅解释各个库函数里的参数定义和取值,具体的应用例子,请参考例程。
相关功能的具体描述,请参考用户手册。

函数目录
IO口初始化函数:GPIO_Inilize ----------------------------------------------------------------------------------------2
定时器初始化函数:Timer_Inilize ------------------------------------------------------------------------------------3
ADC初始化函数:ADC_Inilize  ------------------------------------------------------------------------------------------4
ADC电源控制函数:ADC_PowerControl -----------------------------------------------------------------------------6
ADC查询转换函数:Get_ADC10bitResult ---------------------------------------------------------------------------6
通用软件延时函数:delay_ms -----------------------------------------------------------------------------------------7
串口初始化函数:USART_Configuration ----------------------------------------------------------------------------7
串口1写缓冲函数:TX1_write2buff --------------------------------------------------------------------------------9
串口2写缓冲函数:TX2_write2buff ------------------------------------------------------------------------------10
串口1写数据块函数:PrintString1  --------------------------------------------------------------------------------10
串口2写数据块函数:PrintString2 --------------------------------------------------------------------------------10
模拟串口字节发送函数:TxSend -----------------------------------------------------------------------------------10
模拟串口写数据块函数:PrintString -------------------------------------------------------------------------------11
EEPROM多字节读函数:EEPROM_read_n -----------------------------------------------------------------------11
EEPROM多字节写函数:EEPROM_write_n ----------------------------------------------------------------------11
EEPROM扇区擦除函数:EEPROM_SectorErase ---------------------------------------------------------------- 12
PCA初始化函数:PCA_Init -------------------------------------------------------------------------------------------12
PWM更新占空比函数:UpdatePwm -----------------------------------------------------------------------------15
外中断初始化函数:Ext_Inilize -------------------------------------------------------------------------------------15


IO口初始化函数:GPIO_Inilize
  函数名
  
  GPIO_Inilize
  
  函数原形
  
  u8     GPIO_Inilize(u8  GPIO, GPIO_InitTypeDef *GPIOx)
  
  所在文件
  
  GPIO.c
  
  功能描述
  
  对IO口初始化
  
  输入参数1
  
  GPIO:选择以下之一:GPIO_P0,GPIO_P1,GPIO_P2,GPIO_P3,GPIO_P4,GPIO_P5
  
  输入参数2
  
  GPIOx:配置IO口的指针,指定配置的引脚和输入、输出方式,见下表描述。
  
  返回
  
  U8,返回0表示配置成,返回非0表示配置错误。
  

GPIO_InitTypeDef的定义见于文件“GPIO.H”。
typedef struct
{
         u8     Mode;
         u8     Pin;            //要设置的端口      
} GPIO_InitTypeDef;
Mode:      配置IO的模式,取值见下表:
  Mode取值
  
  
功能描述
  
  GPIO_PullUp
  
  准双向口,内部弱上拉,可以输出,也可以当输入,当输入时,要先写1。
  
  GPIO_HighZ
  
  高阻输入,只能做输入。
  
  GPIO_OUT_OD
  
  开漏输出,输出0时拉低,输出1时高阻,可以做输入/输出。
  
  GPIO_OUT_PP
  
  推挽输出,职能做输出,根据具体电路,可能要串电阻以限制电流。
  

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位口。
  
以上参数可以使用或运算,比如:
GPIO_InitStructure.Pin  =  GPIO_Pin_0| GPIO_Pin_1 | GPIO_Pin_7;

定时器初始化函数:Timer_Inilize
  函数名
  
  Timer_Inilize
  
  函数原形
  
  u8     Timer_Inilize(u8  TIM, TIM_InitTypeDef *TIMx)
  
  所在文件
  
  Timer.c
  
  功能描述
  
  对定时器初始化
  
  输入参数1
  
  TIM:选择以下之一:Timer 0,Timer 1,Timer 2。
  
  输入参数2
  
  TIMx:配置定时器的指针,指定配置的功能,见下表描述。
  
  返回
  
  U8,返回0表示配置成,返回非0表示配置错误。
  

TIM_InitTypeDef的定义见于文件“timer.H”。
typedef struct
{
         u8     TIM_Mode;               //工作模式
         u8     TIM_Polity;                //优先级设置
         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:中断的优先级:
  TIM_Polity 取值
  
  
功能描述
  
  PolityHigh
  
  中断设置为高优先级。
  
  PolityLow
  
  中断设置为低优先级(默认)。
  



TIM_Interrupt:中断允许或禁止:
  TIM_Interrupt 取值
  
  
功能描述
  
  ENABLE
  
  允许中断。
  
  DISABLE
  
  禁止中断(默认)。
  

TIM_ClkSource:定时器的时钟源选择:
  TIM_ClkSource 取值
  
  
功能描述
  
  TIM_CLOCK_1T
  
  定时器的时钟使用 系统时钟1T模式。
  
  TIM_CLOCK_12T
  
  定时器的时钟使用 系统时钟12T模式。
  
  TIM_CLOCK_Ext
  
  定时器的时钟使用外部输入。
  

TIM_ClkOut:定时器溢出时取反对应IO输出高速时钟:
  TIM_ClkOut 取值
  
  
功能描述
  
  ENABLE
  
  允许定时器溢出时取反对应IO输出高速时钟。
  
  DISABLE
  
  禁止定时器溢出时取反对应IO输出高速时钟。
  

TIM_Value:一个16位的初值。

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




ADC初始化函数:ADC_Inilize
  函数名
  
  ADC_Inilize
  
  函数原形
  
  void  ADC_Inilize(ADC_InitTypeDef  *ADCx)
  
  所在文件
  
  Adc.c
  
  功能描述
  
  对ADC初始化
  
  输入参数1
  
  ADCxx:配置ADC的指针,见下面描述。
  
  返回
  
  无
  

ADC_InitTypeDef的定义见于文件“ADC.H”。
typedef struct
{
         u8     ADC_Px;                     //设置要做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功率允许/关闭    ENABLE,DISABLE
         u8     ADC_AdjResult;       //ADC结果调整,     ADC_RES_H2L8,ADC_RES_H8L2
         u8     ADC_Polity;               //优先级设置 PolityHigh,PolityLow
         u8     ADC_Interrupt;        //中断允许               ENABLE,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输入。
  
以上参数可以使用或运算,比如:
ADC_InitStructure.ADC_Px  = ADC_P10 | 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_H2L8
  
  ADC结果寄存器高字节为结果的高2位,低字节为低8位。
  
  ADC_RES_H8L2
  
  ADC结果寄存器高字节为结果的高8位,低字节为低2位。
  

ADC_Polity:中断的优先级:
  ADC_Polity 取值
  
  
功能描述
  
  PolityHigh
  
  中断设置为高优先级。
  
  PolityLow
  
  中断设置为低优先级(默认)。
  

ADC_Interrupt:中断允许或禁止:
  ADC_Interrupt 取值
  
  
功能描述
  
  ENABLE
  
  允许中断。
  
  DISABLE
  
  禁止中断(默认)。
  


ADC电源控制函数:ADC_PowerControl
  函数名
  
  ADC_PowerControl
  
  函数原形
  
  void  ADC_PowerControl(u8  pwr)
  
  所在文件
  
  Adc.c
  
  功能描述
  
  开/关ADC电源。
  
  输入参数1
  
  pwr:取值ENABLE打开ADC电源,取值DISABLE关闭ADC电源。
  
  返回
  
  无
  


ADC查询转换函数:Get_ADC10bitResult
  函数名
  
  Get_ADC10bitResult
  
  函数原形
  
  u16  Get_ADC10bitResult(u8  channel)
  
  所在文件
  
  Adc.c
  
  功能描述
  
  查询方式进行一次ADC转换。
  
  输入参数1
  
  channel:要进行转换的ADC通道,取值0~7其中一个,对应P1.0~P1.7。
  
  返回
  
  10位ADC值。
  



通用软件延时函数:delay_ms
  函数名
  
  delay_ms
  
  函数原形
  
  void   delay_ms(unsigned char ms)
  
  所在文件
  
  Delay.c
  
  功能描述
  
  延时程序。包含config.h,延时时间会根据主频自动适应。
  
  输入参数1
  
  ms:延时的ms数,1~255。
  
  返回
  
  无
  



串口初始化函数:USART_Configuration
  函数名
  
  USART_Configuration
  
  函数原形
  
  u8 USART_Configuration(u8 UARTx,  COMx_InitDefine *COMx)
  
  所在文件
  
  Usart.c
  
  功能描述
  
  对串口初始化
  
  输入参数1
  
  UARTx:要初始化的串口,取值以下之一:USART1,USART2。
  
  输入参数2
  
  COMx:配置串口的参数指针。
  
  返回
  
  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:设置USART的工作模式:
  UART_Mode取值
  
  
功能描述
  
  UART_ShiftRight
  
  串口工作于同步输出方式,仅仅用于USART1
  
  UART_8bit_BRTx
  
  串口工作于8位数据,可变波特率。
  
  UART_9bit
  
  串口工作于9位数据,固定波特率。
  
  UART_9bit_BRTx
  
  串口工作于9位数据,可变波特率。
  

UART_BRT_Use:使用的波特率发生器:
  UART_BRT_Use 取值
  
  
功能描述
  
  BRT_Timer1
  
  使用Timer1做波特率发生器,仅仅用于USART1
  
  BRT_Timer2
  
  使用Timer2做波特率发生器。
  

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:中断的优先级:
  UART_Polity 取值
  
  
功能描述
  
  PolityHigh
  
  中断设置为高优先级。
  
  PolityLow
  
  中断设置为低优先级(默认)。
  

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。(必须使用内部时钟)。
  

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的取值:
  UART_RXD_TXD_Short取值
  
  
功能描述
  
  ENABLE
  
  允许内部TXD与RXD同相缓冲输出做中继。
  
  DISABLE
  
  禁止内部TXD与RXD同相缓冲输出做中继。
  




串口1写缓冲函数:TX1_write2buff
  函数名
  
  TX1_write2buff
  
  函数原形
  
  void TX1_write2buff(u8 dat)
  
  所在文件
  
  Usart.c
  
  功能描述
  
  写入串口1发送缓冲,指针+1
  
  输入参数1
  
  dat:要发送的一字节数据。
  
  返回
  
  无。
  




串口2写缓冲函数:TX2_write2buff
  函数名
  
  TX2_write2buff
  
  函数原形
  
  void TX2_write2buff(u8 dat)
  
  所在文件
  
  Usart.c
  
  功能描述
  
  写入串口2发送缓冲,指针+1
  
  输入参数1
  
  dat:要发送的一字节数据。
  
  返回
  
  无。
  


串口1写数据块函数:PrintString1
  函数名
  
  PrintString1
  
  函数原形
  
  void PrintString1(u8 *puts)
  
  所在文件
  
  Usart.c
  
  功能描述
  
  把一个字符串写入串口1发送缓冲,遇到0结束。
  
  输入参数1
  
  puts:要发送的字符串指针。
  
  返回
  
  无。
  


串口2写数据块函数:PrintString2
  函数名
  
  PrintString2
  
  函数原形
  
  void PrintString2(u8 *puts)
  
  所在文件
  
  Usart.c
  
  功能描述
  
  把一个字符串写入串口2发送缓冲,遇到0结束。
  
  输入参数1
  
  puts:要发送的字符串指针。
  
  返回
  
  无。
  

模拟串口字节发送函数:TxSend
  函数名
  
  TxSend
  
  函数原形
  
  void  TxSend(u8  dat)
  
  所在文件
  
  Soft_uart.c
  
  功能描述
  
  模拟串口发送,可以定义任意一个IO做串口发送,固定为9600,8,n,1,修改config里的时钟频率时,程序会自动适应这个频率,始终保持9600的波特率,一般用于测试用途。
  当发送时,为了避免受中断的影响,会关掉总中断。
  
  输入参数1
  
  dat:要发送的字节。
  
  返回
  
  无。
  

模拟串口写数据块函数:PrintString
  函数名
  
  PrintString
  
  函数原形
  
  void PrintString(u8 *puts)
  
  所在文件
  
  Soft_uart.c
  
  功能描述
  
  模拟串口发送一个字符串,遇到0结束。用于测试用途。
  调用了TxSend函数
  
  输入参数1
  
  puts:要发送的字符串指针。
  
  返回
  
  无。
  




EEPROM多字节读函数:EEPROM_read_n
  函数名
  
  EEPROM_read_n
  
  函数原形
  
  void EEPROM_read_n(u16 EE_address,u8  *DataAddress,u16 number)
  
  所在文件
  
  EEPROM.c
  
  功能描述
  
  从EEPROM读出多个字节。
  
  输入参数1
  
  EE_address:要读出的EEPROM的16位首地址。
  
  输入参数2
  
  DataAddress:读出数据存放的指针。
  
  输入参数3
  
  Number:要读出的字节数,取值1~65535(根据实际情况确定最大值)。
  
  返回
  
  无。
  



EEPROM多字节写函数:EEPROM_write_n
  函数名
  
  EEPROM_write_n
  
  函数原形
  
  void EEPROM_write_n(u16 EE_address,u8  *DataAddress,u16 number)
  
  所在文件
  
  EEPROM.c
  
  功能描述
  
  把多个字节写入EEPROM。
  
  输入参数1
  
  EE_address:要写入的EEPROM的16位首地址。
  
  输入参数2
  
  DataAddress:源数据存放的指针。
  
  输入参数3
  
  Number:要写入的字节数,取值1~65535(根据实际情况确定最大值)。
  
  返回
  
  无。
  

EEPROM扇区擦除函数函数:EEPROM_SectorErase
  函数名
  
  EEPROM_SectorErase
  
  函数原形
  
  void EEPROM_SectorErase(u16 EE_address)
  
  所在文件
  
  EEPROM.c
  
  功能描述
  
  擦除EEPROM一个扇区。
  
  输入参数1
  
  EE_address:要擦除的扇区内的任意一个16位地址。
  
  返回
  
  无。
  







PCA初始化函数:PCA_Init
  函数名
  
  PCA_Init
  
  函数原形
  
  void  PCA_Init(u8  PCA_id, PCA_InitTypeDef *PCAx)
  
  所在文件
  
  PCA.c
  
  功能描述
  
  初始化PCA。
  
  输入参数1
  
  PCA_id:要初始化的PCA通道,取以下其一:PCA0,PCA1,PCA2,PCA_Counter。
  
  输入参数2
  
  PCAx:初始化参数的结构指针。详情看下面的描述。
  
  返回
  
  无。
  

PCA_id:选择要初始化的PCA通道:
  PCA_id取值
  
  
功能描述
  
  PCA0
  
  初始化PCA  0通道。
  
  PCA1
  
  初始化PCA  1通道。
  
  PCA2
  
  初始化PCA  2通道。
  
  PCA_Counter
  
  初始化PCA公用计数器,这个最好放在最后初始化。
  

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使用系统1T做时钟。
  
  PCA_Clock_2T
  
  PCA使用系统2T做时钟。
  
  PCA_Clock_4T
  
  PCA使用系统4T做时钟。
  
  PCA_Clock_6T
  
  PCA使用系统6T做时钟。
  
  PCA_Clock_8T
  
  PCA使用系统8T做时钟。
  
  PCA_Clock_12T
  
  PCA使用系统12T做时钟。
  
  PCA_Clock_Timer0_OF
  
  PCA使用Timer0溢出率做时钟。Time0要另外初始化,速度快时不要开Timer0中断。
  
  PCA_Clock_ECI
  
  PCA使用外部ECI引脚做时钟。
  

PCA_Polity:中断的优先级:初始化PCA_Counter时的取值,初始化PCA0 ~ PCA2时忽略:
  PCA_Polity取值
  
  
功能描述
  
  PolityHigh
  
  PCA中断设置为高优先级。
  
  PolityLow
  
  PCA中断设置为低优先级(默认)。
  

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通道下降沿中断。
  
注意:上面的参数可以做如下组合:
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使用系统1T做时钟。
  
  PCA_Clock_2T
  
  PCA使用系统2T做时钟。
  
  PCA_Clock_4T
  
  PCA使用系统4T做时钟。
  
  PCA_Clock_6T
  
  PCA使用系统6T做时钟。
  

PCA_Mode:设置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:设置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:设置PCA通道的初值,初始化PCA0 ~ PCA2时的取值,初始化PCA_Counter时忽略。
PWM更新占空比函数:UpdatePwm
  函数名
  
  UpdatePwm
  
  函数原形
  
  void  UpdatePwm(u8  PCA_id, u8 pwm_value)
  
  所在文件
  
  PCA.c
  
  功能描述
  
  更新PWM的占空比。
  
  输入参数1
  
  PCA_id:要更新的PCA通道,取以下其一:PCA0,PCA1,PCA2。
  
  输入参数2
  
  pwm_value:新的PWM占空比值。这是PWM输出低电平的时间。
  
  返回
  
  无。
  




外中断初始化函数:Ext_Inilize
  函数名
  
  Ext_Inilize
  
  函数原形
  
  u8     Ext_Inilize(u8  EXT, EXTI_InitTypeDef *INTx)
  
  所在文件
  
  Exti.c
  
  功能描述
  
  外中断初始化。
  
  输入参数1
  
  EXT:要初始化的外中断号,取如下值之一:EXT_INT0,EXT_INT1,EXT_INT2,EXT_INT3,EXT_INT4。
  
  输入参数2
  
  INTx:初始化结构参数的指针。
  
  返回
  
  U8,返回0表示配置成,返回非0表示配置错误。
  

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

EXTI_Mode:设置外中断的工作模式:初始化INT0 INT1时的取值,初始化INT2INT3INT4时忽略,固定为下降沿中断。
  EXTI_Mode 取值
  
  
功能描述
  
  EXT_MODE_RiseFall
  
  外中断工作于上升、下降沿中断。
  
  EXT_MODE_Fall
  
  外中断工作于下降沿中断。
  
EXTI_Polity:中断的优先级:初始化INT0 INT1时的取值,初始化INT2INT3INT4时忽略,固定为低优先级中断。
  EXTI_Polity取值
  
  
功能描述
  
  PolityHigh
  
  外中断设置为高优先级。
  
  PolityLow
  
  外中断设置为低优先级(默认)。
  

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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:161214 发表于 2019-5-24 10:52 | 只看该作者
好人,学习了!
回复

使用道具 举报

板凳
ID:185990 发表于 2019-6-7 19:04 | 只看该作者
太厉害了,下载了,学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表