STC库函数使用参考_第1页
STC库函数使用参考_第2页
STC库函数使用参考_第3页
STC库函数使用参考_第4页
STC库函数使用参考_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上STC库函数使用参考版本:V10日期:2013-5-28编写:STC公司基本说明:本函数库适用于STC/IAP15F/L2K61S2系列MCU,具体的MCU的资源,请参考用户手册中对应的章节。使用以下的库函数,都必须包含“config.h”文件,里面包含了“STC15Fxxxx.H”头文件。在自己的工程中,加入库函数文件,并且在使用库函数的C文件中,包含对应的头文件。这个文档仅仅解释各个库函数里的参数定义和取值,具体的应用例子,请参考例程。相关功能的具体描述,请参考用户手册。函数目录IO口初始化函数:GPIO_Inilize - 2定时器初始化函数:Timer_Ini

2、lize - 3ADC初始化函数:ADC_Inilize - 4ADC电源控制函数:ADC_PowerControl - 6ADC查询转换函数: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

3、- 11EEPROM多字节读函数:EEPROM_read_n - 11EEPROM多字节写函数:EEPROM_write_n - 11EEPROM扇区擦除函数:EEPROM_SectorErase - 12PCA初始化函数:PCA_Init - 12PWM更新占空比函数:UpdatePwm - 15外中断初始化函数:Ext_Inilize - 15IO口初始化函数:GPIO_Inilize函数名GPIO_Inilize函数原形u8GPIO_Inilize(u8 GPIO, GPIO_InitTypeDef *GPIOx)所在文件GPIO.c功能描述对IO口初始化输入参数1GPIO:选择以下之一

4、:GPIO_P0,GPIO_P1,GPIO_P2,GPIO_P3,GPIO_P4,GPIO_P5输入参数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推挽输出,职能做输出,根据具体电路,可能要串电阻以限制电流。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 =

6、 GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_7;定时器初始化函数:Timer_Inilize函数名Timer_Inilize函数原形u8Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx)所在文件Timer.c功能描述对定时器初始化输入参数1TIM:选择以下之一:Timer 0,Timer 1,Timer 2。输入参数2TIMx:配置定时器的指针,指定配置的功能,见下表描述。返回U8,返回0表示配置成,返回非0表示配置错误。TIM_InitTypeDef的定义见于文件“timer.H”。typedef structu8TIM_Mo

7、de;/工作模式u8TIM_Polity;/优先级设置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:中断的优先级: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_C

9、lkOut:定时器溢出时取反对应IO输出高速时钟:TIM_ClkOut 取值功能描述ENABLE允许定时器溢出时取反对应IO输出高速时钟。DISABLE禁止定时器溢出时取反对应IO输出高速时钟。TIM_Value:一个16位的初值。TIM_Run:初始化后是否运行定时器:TIM_Run取值功能描述ENABLE初始化后运行定时器。DISABLE初始化后停止定时器。ADC初始化函数:ADC_Inilize函数名ADC_Inilize函数原形voidADC_Inilize(ADC_InitTypeDef *ADCx)所在文件Adc.c功能描述对ADC初始化输入参数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;/优先级设置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输入。以上参数可以使用或运算,比如: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结果寄存器高字节为结果的高2

13、位,低字节为低8位。ADC_RES_H8L2ADC结果寄存器高字节为结果的高8位,低字节为低2位。ADC_Polity:中断的优先级:ADC_Polity 取值功能描述PolityHigh中断设置为高优先级。PolityLow 中断设置为低优先级(默认)。ADC_Interrupt:中断允许或禁止:ADC_Interrupt 取值功能描述ENABLE允许中断。DISABLE禁止中断(默认)。ADC电源控制函数:ADC_PowerControl函数名ADC_PowerControl函数原形voidADC_PowerControl(u8 pwr)所在文件Adc.c功能描述开/关ADC电源。输入参数

14、1pwr:取值ENABLE打开ADC电源,取值DISABLE关闭ADC电源。返回无ADC查询转换函数:Get_ADC10bitResult函数名Get_ADC10bitResult函数原形u16Get_ADC10bitResult(u8 channel)所在文件Adc.c功能描述查询方式进行一次ADC转换。输入参数1channel:要进行转换的ADC通道,取值07其中一个,对应P1.0P1.7。返回10位ADC值。通用软件延时函数:delay_ms函数名delay_ms函数原形void delay_ms(unsigned char ms)所在文件Delay.c功能描述延时程序。包含config

15、.h,延时时间会根据主频自动适应。输入参数1ms:延时的ms数,1255。返回无串口初始化函数:USART_Configuration函数名USART_Configuration函数原形u8 USART_Configuration(u8 UARTx, COMx_InitDefine *COMx)所在文件Usart.c功能描述对串口初始化输入参数1UARTx:要初始化的串口,取值以下之一:USART1,USART2。输入参数2COMx:配置串口的参数指针。返回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位数据,可变波特率。UART_9bit串口工作于9位数

17、据,固定波特率。UART_9bit_BRTx串口工作于9位数据,可变波特率。UART_BRT_Use:使用的波特率发生器:UART_BRT_Use 取值功能描述BRT_Timer1使用Timer1做波特率发生器,仅仅用于USART1。BRT_Timer2使用Timer2做波特率发生器。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:中断的优先级:UART_Polity 取值功能描述PolityHigh中断设置为高优先级。PolityLow 中断设置为低优先级(默认)。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写缓冲函数:TX1_write2buff函数名TX1_write2buff函数原形void TX1_write2buff(u8 dat)所在文件Usart.c功能描述写入串口1发送缓冲,指针+1输入参数1dat:要发送的一字节数据。返回无。串口2写缓冲函数:TX2_write2buff函数名TX2_write2buff函数原形void TX2_write2buff(u8 dat)所在文件Usart.c功能描述写入串口2发送缓冲,指针

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

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

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

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

25、 EE_address)所在文件EEPROM.c功能描述擦除EEPROM一个扇区。输入参数1EE_address:要擦除的扇区内的任意一个16位地址。返回无。PCA初始化函数:PCA_Init函数名PCA_Init函数原形voidPCA_Init(u8 PCA_id, PCA_InitTypeDef *PCAx)所在文件PCA.c功能描述初始化PCA。输入参数1PCA_id:要初始化的PCA通道,取以下其一:PCA0,PCA1,PCA2,PCA_Counter。输入参数2PCAx:初始化参数的结构指针。详情看下面的描述。返回无。PCA_id:选择要初始化的PCA通道:PCA_id取值功能描述P

26、CA0初始化PCA 0通道。PCA1初始化PCA 1通道。PCA2初始化PCA 2通道。PCA_Counter初始化PCA公用计数器,这个最好放在最后初始化。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使用系统1T做时钟。PCA_Clock_2TPCA使用系统2T做时钟。PCA_Clock_4TPCA使用系统4T做时钟。PCA_Clo

28、ck_6TPCA使用系统6T做时钟。PCA_Clock_8TPCA使用系统8T做时钟。PCA_Clock_12TPCA使用系统12T做时钟。PCA_Clock_Timer0_OFPCA使用Timer0溢出率做时钟。Time0要另外初始化,速度快时不要开Timer0中断。PCA_Clock_ECIPCA使用外部ECI引脚做时钟。PCA_Polity:中断的优先级:初始化PCA_Counter时的取值,初始化PCA0 PCA2时忽略:PCA_Polity取值功能描述PolityHighPCA中断设置为高优先级。PolityLow PCA中断设置为低优先级(默认)。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通道下降沿中断。注意:上面的参数可以做

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使用系统1T做时钟。PCA_Clock_2TPCA使用系统2T做时钟。PCA_Clock_4TPCA使用系统4T做时钟。PCA_Clock_6TPCA使用系统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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论