版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE19《单片机产品设计与制作》项目报告项目5、利用定时器实现直流电机PWM调速姓名:学号:
一、项目目标理解stm32定时器基本工作原理;掌握通用定时器的编程方法;会利用STM32通用定时器进行电路设计和程序设计。二、具体工作任务利用STM32单片机通用定时器实现方波和PWM波,实现延时、LED闪烁、流水灯、蜂鸣器音调、音量及直流电动机PWM速度控制。三、要点记录及成果检验任务5.1认识STM32定时器姓名学号日期分数专业术语记录TIM(TIMER)定时器TIMxCLK定时器时钟InternalClockMode内部时钟模式ETRClockMode外部时钟模式PSC(PresetScale)预分频CNT(Counter)计数器ARR(AutoReloadRegister)自动重装载寄存器UpdateInterrupt/Event更新中断/事件(二)基本概念辨析STM32内部定时器本质上是(B)。A.定时器 B.计数器STM32F103ZET6内部定时器共有(3)类,(8)个。35 B.24C.35D.38STM32F103ZET6的高级定时器是(A);通用定时器是(B);基本定时器是(C)。A.TIM1、TIM8 B.TIM2~TIM5C.TIM6、TIM7STM32F103ZET6内部定时器的工作时钟是(D)。A.PCLK1 B.SYSCLKC.PCLK2D.TIMxCLK将TIM2设置为内部时钟模式时,TIM2对(A)进行计数。CK_INT B.ETRFC.TRGID.TI1FP1和TI2FP2STM32F103ZET6内部定时器的工作模式有内部时钟模式、外部时钟模式1、外部时钟模式2和(A)模式。编码器 B.外部时钟模式3C.内部时钟模式1希望将TIM用于定时,应将其设置(D)模式。编码器 B.外部时钟模式2C.内部时钟模式1D.内部时钟模式TIM可工作在加计数模式、减计数模式和(C)。A.加减计数模式1 B.加减计数模式2C.加减计数模式3STM32的TIM计数器是(16)位计数器,计数范围(0-65535)。A.320~232-1 B.160~65535C.16-32768~32767STM32的PSC预分频器是(16)位寄存器,设置范围(0-65535)。A.320~232-1 B.160~65535C.16-32768~32767做定时器用时,PSC预分频器的设定值越大,计时精度(B)。A.越高 B.越低C.无关做定时器用时,PSC预分频器的设定值越大,最长计时时间A)。A.越长 B.越短C.无关希望PSC实际分频系数=256,应使PSC设定值(B)。A.256 B.255C.257已知定时器时钟频率=72MHz,PSC设定值=36000-1时,计时分辨率是(A)。A.500微秒 B.250微秒C.1000微秒已知定时器时钟频率=72MHz,PSC设定值=18000-1时,最长计时时间(B)。A.653536秒 B.16.384秒C.32.768秒已知定时器时钟频率=72MHz,加计数模式,PSC设定值=7200-1,ARR设定值为=9999,则每隔(D),产生一次更新中断。A.2S B.0.5SC.0.2SD.1S加计数模式下,每来一个CK_CNT脉冲,计数值(加1);当计数值(大于ARR)时,计数值重装为(0),并(申请)中断。减计数模式下,每来一个CK_CNT脉冲,计数值(减1);当计数值(小于0)时,计数值重装为(ARR),并(申请)中断()。加减计数模式1下,每来一个CK_CNT脉冲,计数值先(加1);当计数值(=ARR)后,计数值(减1);当计数值=(0)后,计数值(加1)。写出计时分辨率的计算公式:最小计时时间=1个CK_CNT周期=(PSC设定值+1)/fCK_INT写出最大计时时间的计算公式:最长计时时间=65536个CK_CNT周期=65536×(PSC设定值+1)/fCK_INT。写出加计数模式下,定时器申请更新中断的时间计算公式:溢出所需时间=(ARR+1)×(PSC设定值+1)/fCK_INT写出减计数模式下,定时器申请更新中断的时间计算公式:溢出所需时间=(ARR+1)×(PSC设定值+1)/fCK_INT写出加减计数模式1下,定时器申请更新中断的时间计算公式:溢出所需时间=ARR×(PSC设定值+1)/fCK_INT
任务5.2利用定时器更新中断实现闪烁灯姓名学号日期分数(一)调试过程记录故障现象:解决办法:原因分析:故障现象:解决办法:原因分析:(二)思考1、可以使用TIM2,利用内部时钟模式实现闪烁灯功能吗?可以。将程序中的TIM4改成TIM2。2、可以减计数或者中心对齐模式1实现如上功能吗?可以。修改计数模式即可。但中心对齐模式1的ARR设定值应为2000。3、如果设置PSC=20000-1,要延时2S,加计数模式下应设置ARR为多少?延时时间=(ARR+1)×(PSC设定值+1)/fCK_INT=(ARR+1)×(PSC设定值+1)/(72×106)ARR=(2×72×106)/20000-1=7200-14、如果设置PSC=20000-1,要延时4S,减计数模式下应设置ARR为多少?ARR=(4×72×106)/20000-1=14400-15、如果设置PSC=20000-1,要延时4S,中心对齐模式1下应设置ARR为多少?延时时间=(ARR)×(PSC设定值+1)/fCK_INT=(ARR+1)×(PSC设定值+1)/(72×106)ARR=(4×72×106)/20000=14400画出利用滴答延时和利用定时器更新中断实现闪烁功能的程序流程。(三)自主设计1、用TIM2完成如上功能,要求Led1~Led7每0.5S状态改变1次。请画出LED电路,写出程序并调试。main.c#include"led.h" //LED头文件#include"timer.h" //定时器头文件intmain(){ Led_Init(); //初始化LED TIME_Init(1000-1,36000-1);//Tout=Arr*(Prc+1)/fCK_INT=1000*3600/72*1000000=0.5S MyNVIC_Init(); while(1); }timer.h#ifndef_TIMER_H#define_TIMER_H #include"stm32f10x.h" #include"system.h" voidTIME_Init(u16Arr,u16Psc); //定时器初始化 voidMyNVIC_Init(void); //NVIC初始化#endiftimer.c#include"timer.h"#include"led.h"/********************************************************************************函数名 :TIME_Init*函数功能 :TIME初始化函数*输入 :Period:重装载值0~65535 Prescaler:分频系数0~65535 延时时间Tout==( Arr-1)×(Psc+1)/fCK_INT;本开发板fCK_INT=72MHz*输出:无*******************************************************************************/voidTIME_Init(u16Arr,u16Psc){ TIM_TimeBaseInitTypeDefTIM_TimeBaseInitStructure;//定义结构体变量,用于初始化定时器 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);//使能TIM2时钟 TIM_InternalClockConfig(TIM2); //TIM2对内部时钟进行计数 TIM_TimeBaseInitStructure.TIM_Period=Arr;//自动装载值 TIM_TimeBaseInitStructure.TIM_Prescaler=Psc;//分频系数 //TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;//时钟分割系数 TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;//设置向上计数模式 TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStructure);//初始化TIM2时间基准 TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);//开启定时器2的更新中断 TIM_ClearITPendingBit(TIM2,TIM_IT_Update);//清除定时器2更新中断标志TIM_SetCounter(TIM2,0);//设定时器2初始值 TIM_Cmd(TIM2,ENABLE);//使能定时器 }/******************NVIC初始化************************************/voidMyNVIC_Init(void){ NVIC_InitTypeDefNVIC_InitStructure;//定义结构体变量,用于存放NVIC初始化参数 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);//中断优先级分组0组 NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQn;//设置定时器2中断响应 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//设置抢占优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority=0; //设置响应优先级 NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; //使能中断响应 NVIC_Init(&NVIC_InitStructure); //按照如上设置进行NVIC初始化}/********************************************************************************函数名 :TIM2_IRQHandler*函数功能 :TIM2中断函数*输入 :无*输出 :无*******************************************************************************/voidTIM2_IRQHandler(void){ if(TIM_GetITStatus(TIM2,TIM_IT_Update))//如果TIM2更新中断发生 {Led1=!Led1; Led2=!Led2; Led3=!Led3; Led4=!Led4; Led5=!Led5; Led6=!Led6; Led7=!Led7; //取反Led2实现闪烁 TIM_ClearITPendingBit(TIM2,TIM_IT_Update); //清除TIM2更新中断待处理位 }}led.h#ifndef_LED_H#define_LED_H #include"system.h" #include"stm32f10x.h" #defineLed1 PCout(0) #defineLed2 PCout(1) #defineLed3 PCout(2) #defineLed4 PCout(3) #defineLed5 PCout(4) #defineLed6 PCout(5) #defineLed7 PCout(6) #defineLed8 PCout(7) voidLed_Init(void);#endifLed.c#include"led.h"voidLed_Init(){ GPIO_InitTypeDefGPIO_InitStructure; //定义变量,用于存储GPIO初始化参数 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//开启GPIOC时钟 /**********GPIOC_Pin_0~Pin_7初始化********/ GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2\ |GPIO_Pin_3 |GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//输出速度50MHz GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出Out_PP GPIO_Init(GPIOC,&GPIO_InitStructure); //GPIOC初始化 //使GPIOC全部输出1(熄灭) GPIO_SetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2\ |GPIO_Pin_3 |GPIO_Pin_4|GPIO_Pin_5| GPIO_Pin_6|GPIO_Pin_7);}2、用TIM5,减计数模式完成如下功能:每隔1S,变量AAA的数值+1,并显示在数码管上,AAA最大值不能超过99。请画出数码管电路,写出程序并调试。(1)main.c#include"seg.h" //seg头文件#include"timer.h" //定时器头文件u8Set_values;//全局变量,存储设定值intmain(){ Seg_Init(); //初始化seg TIME_Init(2000-1,36000-1);//Tout=Arr*(Prc+1)/fCK_INT=2000*3600/72*1000000=1S MyNVIC_Init(); while(1); }(2)timer.h#ifndef_TIMER_H#define_TIMER_H #include"stm32f10x.h" #include"system.h" voidTIME_Init(u16Arr,u16Psc); //定时器初始化 voidMyNVIC_Init(void); //NVIC初始化#endif(3)timer.c#include"timer.h"#include"seg.h"externu8Setvalues;//声明外部变量/********************************************************************************函数名 :TIME_Init*函数功能 :TIME初始化函数*输入 :Period:重装载值0~65535 Prescaler:分频系数0~65535 延时时间Tout==( Arr-1)×(Psc+1)/fCK_INT;本开发板fCK_INT=72MHz*输出:无*******************************************************************************/voidTIME_Init(u16Arr,u16Psc){ TIM_TimeBaseInitTypeDefTIM_TimeBaseInitStructure;//定义结构体变量,用于初始化定时器 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE);//使能TIM5时钟 TIM_InternalClockConfig(TIM5); //TIM5对内部时钟进行计数 TIM_TimeBaseInitStructure.TIM_Period=Arr;//自动装载值 TIM_TimeBaseInitStructure.TIM_Prescaler=Psc;//分频系数 //TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;//时钟分割系数 TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Down;//设置向下计数模式 TIM_TimeBaseInit(TIM5,&TIM_TimeBaseInitStructure);//初始化TIM5时间基准 TIM_ITConfig(TIM5,TIM_IT_Update,ENABLE);//开启定时器5的更新中断 TIM_ClearITPendingBit(TIM5,TIM_IT_Update);//清除定时器5更新中断标志 TIM_SetCounter(TIM5,2000-1);//设定时器5初始值TIM_Cmd(TIM5,ENABLE);//使能定时器 Setvalues=0;//设定值初始值=0 }/******************NVIC初始化************************************/voidMyNVIC_Init(void){ NVIC_InitTypeDefNVIC_InitStructure;//定义结构体变量,用于存放NVIC初始化参数 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);//中断优先级分组0组 NVIC_InitStructure.NVIC_IRQChannel=TIM5_IRQn;//设置定时器5中断响应 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//设置抢占优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority=0; //设置响应优先级 NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; //使能中断响应 NVIC_Init(&NVIC_InitStructure); //按照如上设置进行NVIC初始化}/********************************************************************************函数名 :TIM5_IRQHandler*函数功能 :TIM5中断函数*输入 :无*输出 :无*******************************************************************************/voidTIM5_IRQHandler(void){ if(TIM_GetITStatus(TIM5,TIM_IT_Update))//如果TIM5更新中断发生 {Setvalues+=1; //设定值加1if(Setvalues>=100)Setvalues=0;//限幅处理 TIM_ClearITPendingBit(TIM5,TIM_IT_Update); //清除TIM5更新中断待处理位 }}(4)seg.h#ifndef_SEG_H#define_SEG_H#include"stm32f10x.h" #defineSEG_Port GPIOC voidSeg_Init(void); voidSeg_Disp(u8data);#endif(5)seg.c#include"seg.h"u8smg_table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0~9共阳极数码管段码表voidSeg_Init(){ GPIO_InitTypeDefGPIO_InitStructure; //定义变量,用于存储GPIO初始化参数 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//开启GPIOC时钟 /**********GPIOC_Pin_0~Pin_15初始化********/ GPIO_InitStructure.GPIO_Pin=GPIO_Pin_All; //是Pin_0~Pin_15 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//输出速度50MHz GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出Out_PP GPIO_Init(GPIOC,&GPIO_InitStructure); //GPIOC初始化 //使GPIOC全部输出1(熄灭) GPIO_Write(GPIOC,0xffff); }/****************数码管显示程序*********************功能:00~99数码管显示*输入:Data——待显示数字,u8类型,范围0~99*输出:无***************************************************/voidSeg_Disp(u8Data){ u8Tens,Ones, Seg_Tens,Seg_Ones; u16Disp_Data; Tens=Data/10; //求待显示数字的十位数 Ones=Data%10; //求待显示数字的个位数 Seg_Tens=smg_table[Tens]; //求十位数的段码 Seg_Ones=smg_table[Ones]; //求个位数的段码 Disp_Data=(Seg_Tens<<8)+Seg_Ones; //将十位和个位段码整合成16位数据 GPIO_Write(SEG_Port,Disp_Data); //将整合后的段码送16位显示端口}
任务5.3利用定时器更新中断实现流水灯姓名学号日期分数(一)调试过程记录故障现象:解决办法:原因分析:故障现象:解决办法:原因分析:(二)自主设计1、用TIM2完成如上功能,要求按下按键,流水灯每0.5S移位一次,移位顺序是PC7→PC6……→PC0。请画出电路、程序流程图、写出程序并调试。不变不变第25行改为n=7;第48行改为n_=1;第49行改为if(n<0)n=7;不变不变不变不变2、去掉按键,用TIM3实现流水灯功能。画电路、画流程图、编程。第11、12、13行删除,第10行改为while(1);不变将所有TIM4替换为TIM3(14、15、16、21、23、24、32、44、45、51)去掉26行的//不变不变3、按下按键,PC0连接的LED闪烁;抬起按键,LED熄灭。画电路,编程。题1程序,只修改timer.c的中断服务程序第46-49行修改为Led1=!Led1;
任务5.4利用定时器更新中断控制蜂鸣器鸣响姓名学号日期分数(一)调试过程记录故障现象:解决办法:原因分析:故障现象:解决办法:原因分析:(二)自主设计1、用TIM2完成下功能:按下按键K_UP,蜂鸣器响;松开按键,蜂鸣器停。请画出按键和蜂鸣器电路和流程图,写出程序并调试。修改TIM4为TIM2不变不变不变不变修改TIM4为TIM2修改TIM4为TIM2
任务5.5利用定时器更新中断控制蜂鸣器音调姓名学号日期分数(一)调试过程记录故障现象:解决办法:原因分析:故障现象:解决办法:原因分析:(二)自主设计1、用K_UP键做蜂鸣器启动键,用K_LEFT做增加音调、K_RIGHT做音调减小键,TIM2做定时器,完成如上功能。请画出按键和蜂鸣器电路,画出流程图、写出程序并调试。修改23行,K_Left==0为K_Up==1;修改22、23、25行TIM4为TIM2不变不变修改所有TIM4为TIM2修改8行,GPIOA为GPIOE,GPIO_PinSource0为GPIO_PinSource2修改9行,EXTI_Line0为EXTI_Line2修改11行,Rising为Falling修改14行GPIO_PinSource3为GPIO_PinSource4修改9行,EXTI_Line3为EXTI_Line4 修改25行,EXTI0_IRQn为EXTI2_IRQn修改30行,EXTI3_IRQn为EXTI4_IRQn修改所有的EXTI0为EXTI2,EXTI_Line0为EXTI_Line2修改所有的EXTI3为EXTI4,EXTI_Line3为EXTI_Line4不变不变
任务5.6利用定时器PWM输出控制蜂鸣器音量姓名学号日期分数(一)调试过程记录故障现象:解决办法:原因分析:故障现象:解决办法:原因分析:(二)专业术语记录PWM(PulseWidthModulation)脉冲宽度调制OC(OutputCompare)比较输出CCR(CaptureCompareRegister)捕捉比较寄存器AlternateFunction复用功能Remap重映像Chanel通道(三)填空对于PWM1,增计数,ARR=10,CCR=7,有效电平设为高电平情况下,计数值=0时,输出为(1),计数值=7时,输出为(0),计数值=8时,输出为(0),计数值=9时,输出为(0),计数值=10时,输出为(0),计数值=11时,输出为(1)。计数值重装为0时的计数值是(1)。对于PWM1,增计数,ARR=10,CCR=7,有效电平设为低电平情况下,计数值=0时,输出为(0),计数值=7时,输出为(1),计数值=8时,输出为(1),计数值=9时,输出为(1),计数值=10时,输出为(1),计数值=11时,输出为(0)。对于PWM1,增计数,ARR=10,CCR=10,有效电平设为高电平情况下,计数值=0时,输出为(1),计数值=10时,输出为(1),计数值=11时,输出为(0)。对于PWM1,增计数,ARR=10,CCR=0,有效电平设为高电平情况下,计数值=0时,输出为(0),计数值=10时,输出为(0),计数值=11时,输出为(0)。对于PWM1,增计数,ARR=10,CCR=0,有效电平设为低电平情况下,计数值=0时,输出为(1),计数值=10时,输出为(1),计数值=11时,输出为(1)。对于PWM1,增计数,ARR=10,CCR=15,有效电平设为高电平情况下,计数值=0时,输出为(1),计数值=10时,输出为(0),计数值=11时,输出为(0)。TIM5_CH1通道使用管腿为(PA0)。TIM4_CH2通道使用管腿为(PB7(默认)、PD13(完全重映像))。如果某个引脚只能作为一个资源的重映像引脚,这种重映像属于(完全重映像)。如果某个引脚能作为多个资源的重映像引脚,这种重映像属于(部分重映像)。72MHz频率下,要输出周期1S,占空比30%的PWM波,如果设置PSC+1=7200,则ARR+1=(10000),CCR=(3000)。72MHz频率下,要利用更新中断输出周期1S,的方波,如果设置PSC+1=3600,则ARR+1=(20000)。使能定时器2,可使用语句(TIM_Cmd(TIM2,ENABLE);)。给定时器2的ARR送100,可使用语句(TIM_SetAutoreload(TIM2,100);)。给定时器2的PSC送100,可使用语句:(TIM_PrescalerConfig(TIM2,100,TIM_PSCReloadMode_Immediate);)。给定时器2的CCR2送100,可使用语句(TIM_SetCompare2(TIM2,100);)。允许定时器3更新中断,可使用语句(TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);)。TIM3更新中断函数名为(TIM3_IRQHandler())。初始化定时器5时基,可使用库函数(TIM_TimeBaseInit(TIM5,&定时器时基初始化变量))。初始化定时器3比较输出通道2,可使用库函数(TIM_OC2Init(TIM3,&定时器OC初始化变量))。设置定时器2为内部时钟模式,可使用语句(TIM_InternalClockConfig(TIM2);)。设置TIM2的CH2通道有效电平为低电平,可使用语句(TIM_OC2PolarityConfig(TIM2,TIM_OCPolarity_Low);)。设置TIM2的CH2通道有效电平为高电平,可使用语句(TIM_OC2PolarityConfig(TIM2,TIM_OCPolarity_High);)。使能ARR预装载功能,应使用库函数(TIM_ARRPreloadConfig(TIMx,ENABLE);)。使能PSC预装载功能,应使用库函数(TIM_PrescalerConfig(TIMx,PSC设定值,装入模式);)。使能CCR1预装载功能,应使用库函数(TIM_OC1PreloadConfig(TIMx,TIM_OCPreload_Enable);)。对TIM3_CH2进行部分重映像,应写语(GPIO_PinRemapConfig(GPIO__PartialRemap_TIM3,ENABLE,)。对TIM3_CH2进行完全重映像,应写语句((GPIO_PinRemapConfig(GPIO_FullRemap_TIM3,ENABLE,))。(二)自主设计1、利用TIM4_CH1通道,编程使PB6引脚输出高电平占空比为2/5的PWM波,要求PWM的频率=2KHz。主程序main.c#include"pwm.h" u16High_Time; intmain(){SysTick_Init(72); TIMx_CHy_PWM_Init(500-1,72-1); //设置PWM周期=0.5ms,频率=2KHz while(1) {High_Time=500*2/5; //高电平时间为2/5周期 TIM_SetCompare1(TIM4,High_Time);//给定时器4通道31送CCR值 }}PWM初始化程序PWM.C#include"pwm.h"voidTIMx_CHy_PWM_Init(u16Arr,u16Psc){ TIM_TimeBaseInitTypeDefTIM_TimeBaseInitStructure;//定时器时基初始化变量 TIM_OCInitTypeDefTIM_OCInitStructure;//定义比较输出初始化变量 GPIO_InitTypeDefGPIO_InitStructure;//定义GPIO初始化变量 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//开GPIOB时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);//开TIM44时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //开复用时钟 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;//是PB6引脚 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//输出速度50MHz GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;//复用推挽输出 GPIO_Init(GPIOB,&GPIO_InitStructure);//对GPIOB初始化 //GPIO_PinRemapConfig(GPIO_PartialRemap_TIM4,ENABLE); //对T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年蒸汽式挂烫机项目投资价值分析报告
- 2024至2030年中国手用镍钛大锥度锉行业投资前景及策略咨询研究报告
- 2024至2030年中国工务配件行业投资前景及策略咨询研究报告
- 房地产企业融资课件
- 2024至2030年中国单极开关多功能插座行业投资前景及策略咨询研究报告
- 2024至2030年中国传感器数显表行业投资前景及策略咨询研究报告
- 2024至2030年保健滋补仪器项目投资价值分析报告
- 2024至2030年专业型加密锁项目投资价值分析报告
- 2024年中国锅炉管状电热元器件市场调查研究报告
- 2024年中国铝雪平锅市场调查研究报告
- 中国语言文学类汉语言文学专业综合概述
- 焊接工艺评定转化表
- ov7670中文数据手册高级
- 复述课文内容的方法与技巧
- 2021年国开电大《微积分基础》形考任务微积分基础下载作业word版
- 比亚迪秦PLUS EV说明书
- 全国大学英语四、六级考试缺考申请表
- 美国特朗普-课件
- TBA19利乐灌装机操作手册
- 篮球 社团活动记录表
- 股票技术分析-大全最强
评论
0/150
提交评论