您好,欢迎光临本网站![请登录][注册会员]  
文件名称: APT32F003触摸按键32位MCU,引脚兼容STM8S003,大存储器2KB RAM,36KB Flash-AN1601 TouchSensorLayoutGuideV1.1.pdf
  所属分类: 其它
  开发工具:
  文件大小: 682kb
  下载次数: 0
  上传时间: 2019-09-03
  提 供 者: weixin_********
 详细说明:APT32F003触摸按键32位MCU,引脚兼容STM8S003,大存储器2KB RAM,36KB Flash-AN1601 TouchSensorLayoutGuideV1.1.pdfAPPN1503 一、GPIO库函数使用详解 1.1.I0输入输出配置函数 1.1.1PA00输入配置 GPIO Init(GPIOA0, 0,0; 1.1.2PA0.0输出配置 GPIO Init(GPIOA0, 0, 1) 1.2.10输出高电平或低电平配置 1.21PAOO输出高电平 GPIO Sct Valuc(GPIOA0,O, 1) 1.2.1PA00输出低电平 PIO Set value(GPIOA0,0, 0) 1.3.I0上拉或下拉配置 1.3.1PA0.0能上拉 GPIO PullHigh IniL(GPIOA0,0 13.2PA0.0使能下拉 GPIO Pulll ow Init(GPIOA0, 0); 13.3PA00上拉下拉禁止 GPIO PullHighLow DIs(GPloA0,0) 1.4.I0漏极开路输出禁止或使能 1.4.1.PA00漏极开路使能 GPIO Open Drain EN(GPIOA0,0) 1.4.2.PA0.1漏极开路禁止 GPIO Open Drain DIS(GPIOAO,O) 1.5. lligh sink输出使能或禁止 1.5.1.PA08 High sink输出使能 GPIO DriveStrength EN(GPIOA0, 8): 1.52PAO.8 Iligh sink输出禁止 GPIO DriveStrength DIS (GPIOAO, 8 1.6.使能外部中断和唤醒忾置 1.6.1.使能PA0.0外部上升沿或下降沿屮断唤陧。 GPIO Int(roup_Set(PA0);∥选择 GPIO groupA,另外可以选择PB0PCO,只能选择种·组,不能同时选择 iPOA0 EXI In(EX10;PA00作为输入外部中断口EXI0 EXTI trigger CMD( ENABLE EXI PIN0,EXIT):仗宦EX10下降沿中断 EXTI trigger CMD( ENABLEEXI PINO,EXRT);∥使能FXI0上升沿中断 EXTI interrupt CMD( ENABLE, EXI PNO);∥使能EXI0外部屮断 PIO EXTI interrupt( GPIOA0,0b000000000能PA0.0外部中断使能 EX0 Int Enable(;∥/使能EXI0中断向量 EX0 WakeUp enable):∥仗能EXI0中断唤醒 3/15 AP CHIP APPN1503 16.2.外部中断向量对应外部中断口如 EXIO INT= EXIO EXII INT- EXIL EXI NT=EXI2-EXI3 EXI3 INT=EXIA-EXI8 EXI4 NT=EXI9-EXII3 7.GPIO输入输出禁止 1.7.1. GPIOA0输入输出禁止 GPIO InPutOutPut Disable(GPIoA0, 0) 4/15 APPN1503 COUNTA库函数使用详解 2.1. COUNTA1ms定时配置初始化, Counter H-2000,ysck2Mhn 计算公式= Counter h(1/ sysclock OUNT Delnito) COUNTA Init(20000,0, Pcriod H, DIVI, REPEAT MODE, CARRIER ON,OSP LO W) /INT COUNT=20000*(1/20Mhz) COUNTA Config(SW STROBE, PENDREM OFF, MATCHREM OFF, REMSTAT 0, ENVELOPE 0) COUNTA Starl( COUNTA Int EnableD 2.2.配置PAO.07为Buzz(可以调制高电平和低电平脉宽) COUNT Delnito) COUNTA O_Init(O) COUNTA Init(10000, 10000, Period H L, DIVI, REPEAT MODE, CARRIER ON, OSP LOW); /i Output H=10000(1/20Mhz)=500us Output L=10000(1/20Mhz)=500u COUNTA Config( SW STROBE, PENDREM OFF, MATCHREM OFF, REMSTAT 0, ENVELOPE 0) COUNTA Start COUNTA Int Enable(; 若在程序RUN状态需要修改富电平-250ns,低申平-250us脉宽时,需条用下面函数 COUNTA Dalia Update(5000, 5000) 5/15 APPN1503 、ADC库函数使用详解 3.1.初始化,配置 ADCIN2为采样通道,单次采样模式,3个采样周期,12 bit adc,ADC 采用时钟2分频 ADC12 RESET VALUEO: ADCI2 CLK CMD(ADC CLK CR, ENABLE;使能ADC时钟 ADCI2 Software Reset;/软件复位 ADC12 Configure Mode(ADC 12 12BIT, ADC12 3CYCLES, One shot mode, 2, 1); ∥12 bit adc,采周期3个,单次采样模式,adc时钟2div,采样1个通道 ADCI2 Convcrsion Channel Config(ADC12 ADCIN2, 1) 设置A冂CIN2为第一个采样通道 ADCI2CMD( ENABLE;∥使能ADC ADCl2 ready waito;等待ADC转换完成 3.2.ADC初始化亢成后,实现多通道切换配置。采样 ADCIN2, ADCIN3。 采样ADCN2通道 ADC>CMR[OADC>CMR[0]0xf,∥ADC切换到放电通道 ADC12 Control(ADCI2 START ADC12 EOC: wail( whilel(ADC->DR!=0);∥放电是否完成 ADCl2 Conversion Channel Conlig(ADCI2 ADCIN2,1);/选择 ADCIN2通道 ADC12 Control(ADC I2 START ADC12 FOC wait(; adc dr=ADCI2 DATA OUPUT(;/出ADC采值 采样ADCN3通道 ADC-XCMR0=ADC>CMR[0]0xf,∥ADC切换到放比通道 ADC12 Control(ADC12 START) ADC12 EOC wail whilel(ADC-DR!=0);/放电是否完成 ADC12 Conversion Channel Config(ADC2ADCI2,1);∥选择ADCI3通道 ADC12 Control(ADC12 START ADC 12 EOC wail adc dr=ADC12 DATA OUPUT(;/出ADC采样值 6/15 APPN1503 四、UART库函数使用详解 4.1.初始化配置UART1PB0.1(RXD1),PB0.0(TXD1)为UART口, Sysclock-20Miz baudrate=sysclock/174=115200 UART Delnito UART IO Init(IO UARTI, 1) UARTIniIRxTxIntEn(UARTI, 174); //baudrate=sysclock/174=115200 UARTI Int enabl(;UART1屮断使能 UARTI WakeUp Enable(:/ Bart!中断唤醒 4.2.UART发送 尽量使用 UART TX FULL标志位判断 UARTTransmit( UARTI, SendBuf,3);∥ SendBu卬为发送数组缓存,3表示发送字节数 4.3UART接收 if((CSP UART_ GET_ ISR(UART1)& UART_RX_ INT_ S)==UART_ RX_INT_ 5 CSP UART_ SET_ ISR(UART1, UART_ RX_ INT_ S RxDataFlag= TRUE ART1接收 UART ReturnRxByte(UART1): 7/15 APPN1503 五、GTCx库函数使用详解 5.1.外部晶振32.768K做GTC时钟 丶面为外部晶振32.768K做GTC0时钟,定时60s,运用于定时范例 ●外部晶振32.768K使能配置 (volatile unsigned int )(0x40012200)=0X5AA50040 SYSCON->OSTR=OX7D SYSCON General CMD(ENABLE, ENDIS EMOSC) ●配置PAO.0作为CL0输出 GPIOAO->CONLR=(GPIOAO->CONLR&OXFFFFFFFO)0X00000007 SYSCON->IMFT=0X000301FF 配置GTCO,中断片期为60s 计算公式: GTCO PEND=24576*(21*(9+1)/(32768k/4)=60s GTC RESET VALUE(GTCO) GTCo IO Init(GTC IO TCLK0, 0): GTC Configure(GTCO, GTC FIN TCLKO,I, 9, Counter Sizc 16BIT, 24576, 1); GTC ConlrulSet Cunligure(GTCO, GTC ControlSet REPEAT,ENABLE) GTC ConfigInterrupt CMDIGTCO, GTC PENDI, ENABLE): GTC Start(GTCO); GTCO Int Enabled GtCo Wakeup Enable(; ●将CL0与TCLK0短接 5.2.GTC输出PwM波形: 下面为GTC1做PWM功能,输出口为PA0.09,开始输出波形为高电平,duty-50us, period=100us,运用范例如下 GTC RESET VALUE(GTCI) GTCl IO Init(GTC IO TXOUT, 0) GTC Cunligure(GTCl, GTC FIN PCK, 1, 9, Counter Size 16BIT: 100, 50) ZTCCLK-=20Mhz/21/10. 20m-->lus GTC ControlSet Configure(TCl, GTC ControlSet REPEAt, ENABLE);∥循环计数使危 GTC ControlSct Configure(TCl, GTC Controlsct PWMeN, ENABLE);∥PWM功能使能 GTC ControlSet Configure(GiTC, ITC ControlSet OUTSTENABLF);开始厂输出高电平 GTC Starte(GTC1);∥开始 5.3.GTC捕提功能 下面为GTC2做捕捉功能,捕捉输入口PA0.08,TCIK=0.5us,捕提高电平时间 R Capture buf3*TCLK,捕捉低电平时间= R Capture bul2*TCLK,运用范例如卜 初始化 GTC RESET VALUE(GTC2) GTC2 Io Init( GTC IO TCAPX。0);捕捉输入口选择PA0.08 GTC Configure(GTC2, GTC Fin PCK, 0, 2, Counter Sizc 16BIT,0, 0; /TCLK=0.5us 8/15 AP CHIP APPN1503 GTC ControlSet Configure(GTC2, GTC ControlSet STOPCLEAR, ENABLE)∥使能计数器停止后清除计数器 GTC_ Contro ISet Configure(GTC2,GTC_ Controlset CNtmenable)∥使能连续计数模式,计数到最大值 GTC ControlSet Configure(GTC2, GT ControlSet REPEAtENable):∥使能循环计数 GTC ControlSet Configure(GTC2, GTC ControlSet CAPT F,ENABLE);使能下降沿捕捉 GTC_ ControlSet Configure(GTC2, GTC ControlSet CAPT TCAp2 ENABLE:∥能捕捉凵2 GTC Conliglnterrupt CMD(GTC2, GTC CAPTI ENABLE),使能捐捉中断 GTC Start(GTC2);/开始 GTC2 Int Enabled;/使能GTC2中断向量 ●捕捉程序 else if((GTC2-NISRRGTC_ CAPTE)M=GTC CAPTI) //Capture interrupt aTc2>IcR· GTC CAPT GTC2 CAPTIFlag-l; 捕捉程序放在GTC2捕捉中断中 if(It GTc CaptTrigg) f GTC CaptTrigg-li R Capture bufI=GTC CaptureDown Count value (GTC2): //R Capture buf1 Feriod time GTC ControlSet Configure(GTC2, GTC ControlSet CAPT R, ENABLE); //capture down enable GTC ControlSet Configure(GTC2, GTC ControlSet CAPT F, DISABLE): GTC StoP(GT2); 6 re start(GTC2》 //请涂计数器 else R_Capture_ butzaGTC_Captureup_Count_value/GTC2): //R Capture but Low level time GTC_Controlset_Configur(GTC2, GTC_ControlSetCAPT_R, DISABLE //capture down enable GTC_Controlset_Configure(GTC2, GTC-Cortrolset_CAPT F, ENABLE); R Capture buf3-R Capture buf 1-8 Capture buf2 eise R Capture buf3-R Capture buf2-R Capture buf1 9/15 APPN1503 六、I2C库函数使用详解 6.1.主机 6.1.1.I2C做主机初始化,通讯脚PA0.2(SDA),PAO.1 (SCL),I2 DL -OX20,I2CPRV-0X40,通讯速度-20M/(0X40+4)-290K, 当I2C_PRV>125时,选择 FAST MODE,反之选择 STANDARD MODE 12C Delnit( 12C Master Init(I2C Gl, FAST MODE, 0x040, 0x20) 6.1.2.单字节写。向器件地址为0x56,数据地址0x01中写0xa: apt32003i2ch”文档中定义I2 c Address(0x56)∥7bit I2C Write Byte(0X01, Xaa) 6.1.3.多宇节写。向器件地址为0x56,数据地址0x01中写0xa,0xab,0xac: pt32003_2ch”文档屮定义D2 c Address( i0x56)/7bit Ug T data[3 ]=(Oxaa, Oxab, Xac, 12C Write More Byte(0xOl, data, 3) 6.2.从机 6.2.1.I2C做从机初始化,通讯脚PA0.2(SDA),PA0.1(SCL), 从机地址选择为0X56(7bit),读(0XAC),写(0XAD), I2CDL=0X20,I2CPRV=0X40,通讯速度=20M/(0X4A+4)=250K 当I2C_PRV>125时,选择 FAST MODE,反之选择 STANDARD MODE 12C DelnitO 12C Slave Init(12C G2, FAST MODE, 0X4A, 0X20,OXAC) 12C Int Enable( 6.2.2.写寄存器为I2 CWrBuffer[ BUFSIZE], BUFS IZ配置可以在 pt32r003i2c.h”文档中定义。 BUFSLZE表示主机读寄存器地址 6.2.3.读寄存器为I2 CRdBuffer[ BUFSIZE], BUFSIZE配置可以在 apt32r003i2c.h”文档中定义。 BUFS IZ表示主机写寄存器地址。 注意:I2C主机从机不能同时使用,在I2C中断中若使用主机中断,则从机程序需 要删除。 10/1
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: