STM32控制sg90舵机代码.rar
通过stm32f103驱动sg90舵机从0°到180°来回转动,每次转动45°,可用于多种控制方面。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2064 2020-12-10 14:27 TIMERTIMERapp imer.c
文件 640 2020-12-10 14:27 TIMERTIMERapp imer.h
文件 17273 2010-06-07 10:25 TIMERTIMERCOREcore_cm3.c
文件 85714 2011-02-09 14:59 TIMERTIMERCOREcore_cm3.h
文件 15503 2011-03-10 10:52 TIMERTIMERCOREstartup_stm32f10x_hd.s
文件 7930 2020-12-04 15:51 TIMERTIMERPublicdelay.c
文件 1994 2020-12-04 15:48 TIMERTIMERPublicdelay.h
文件 29 2016-04-26 15:45 TIMERTIMERPublicsystem.c
文件 2077 2017-03-17 16:34 TIMERTIMERPublicsystem.h
文件 1403 2017-03-17 16:43 TIMERTIMERPublicSysTick.c
文件 160 2017-03-17 16:43 TIMERTIMERPublicSysTick.h
文件 5089 2020-12-09 21:45 TIMERTIMERPublicusart.c
文件 1283 2020-12-06 18:49 TIMERTIMERPublicusart.h
文件 8982 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincmisc.h
文件 21690 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_adc.h
文件 7555 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_bkp.h
文件 27559 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_can.h
文件 6573 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_cec.h
文件 2162 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_crc.h
文件 15233 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_dac.h
文件 3818 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_dbgmcu.h
文件 20754 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_dma.h
文件 6824 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_exti.h
文件 25445 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_flash.h
文件 27016 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_fsmc.h
文件 20175 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_gpio.h
文件 30029 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_i2c.h
文件 3828 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_iwdg.h
文件 4383 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_pwr.h
文件 30452 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_rcc.h
............此处省略192个文件信息
#include “timer.h“
#include “led.h“
#include “usart.h“
//通用定时器3中断初始化
//这里时钟选择为APB1的2倍,而APB1为36M
//arr:自动重装值。
//psc:时钟预分频数
//这里使用的是定时器3!
void TIM3_Int_Init(u16 arru16 psc)
{
TIM_TimebaseInitTypeDef TIM_TimebaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3 ENABLE); //时钟使能
TIM_TimebaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 计数到5000为500ms
TIM_TimebaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值 10Khz的计数频率
TIM_TimebaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
TIM_TimebaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式
TIM_TimebaseInit(TIM3 &TIM_TimebaseStructure); //根据TIM_TimebaseInitStruct中指定的参数初始化TIMx的时间基数单位
TIM_ITConfig(TIM3TIM_IT_UpdateENABLE ); //使能指定的TIM3中断允许更新中断
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //TIM3中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占优先级0级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //从优先级3级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
NVIC_Init(&NVIC_InitStructure); //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器
TIM_Cmd(TIM3 ENABLE); //使能TIMx外设
}
//定时器3中断服务程序
void TIM3_IRQHandler(void) //TIM3中断
{
if (TIM_GetITStatus(TIM3 TIM_IT_Update) != RESET) //检查指定的TIM中断发生与否:TIM 中断源
{
TIM_ClearITPendingBit(TIM3 TIM_IT_Update ); //清除TIMx的中断待处理位:TIM 中断源
}
}
//TIM3 PWM部分初始化
//PWM输出初始化
//arr:自动重装值
//psc:时钟预分频数
void TIM1_PWM_Init(u16 arru16 psc)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimebaseInitTypeDef TIM_TimebaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1 ENABLE);//
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA ENABLE); //使能GPIO外设时钟使能
//设置该引脚为复用输出功能输出TIM1 CH1的PWM脉冲波形
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //TIM_CH1
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA &GPIO_InitStructure);
TIM_TimebaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 80K
TIM_TimebaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值 不分频
TIM_TimebaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
TIM_TimebaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式
TIM_TimebaseInit(TIM1 &TIM_TimebaseStructure); //根据TIM_TimebaseInitStruct中指定的参数初始化TIMx的时间基数单位
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; //选择定时器模式:TIM脉冲宽度调制模式2
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比较输出使能
TIM_OCInitStructure.TIM_Pulse = 0; //设置待装入捕获比较寄存器的脉冲值
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //输出极性:TIM输出比较极性高
TIM_OC1Init(TIM1 &TIM_OCInitStructure); //根据TIM_OCInitStruct中指定的参数初始化外设TIMx
TIM_CtrlPWMOutputs(TIM1ENABLE); //MOE 主输出使能
TIM_OC1PreloadConfig(TIM1 TIM_OCPreload_Enable); //CH1预装载使能
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2064 2020-12-10 14:27 TIMERTIMERapp imer.c
文件 640 2020-12-10 14:27 TIMERTIMERapp imer.h
文件 17273 2010-06-07 10:25 TIMERTIMERCOREcore_cm3.c
文件 85714 2011-02-09 14:59 TIMERTIMERCOREcore_cm3.h
文件 15503 2011-03-10 10:52 TIMERTIMERCOREstartup_stm32f10x_hd.s
文件 7930 2020-12-04 15:51 TIMERTIMERPublicdelay.c
文件 1994 2020-12-04 15:48 TIMERTIMERPublicdelay.h
文件 29 2016-04-26 15:45 TIMERTIMERPublicsystem.c
文件 2077 2017-03-17 16:34 TIMERTIMERPublicsystem.h
文件 1403 2017-03-17 16:43 TIMERTIMERPublicSysTick.c
文件 160 2017-03-17 16:43 TIMERTIMERPublicSysTick.h
文件 5089 2020-12-09 21:45 TIMERTIMERPublicusart.c
文件 1283 2020-12-06 18:49 TIMERTIMERPublicusart.h
文件 8982 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincmisc.h
文件 21690 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_adc.h
文件 7555 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_bkp.h
文件 27559 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_can.h
文件 6573 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_cec.h
文件 2162 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_crc.h
文件 15233 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_dac.h
文件 3818 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_dbgmcu.h
文件 20754 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_dma.h
文件 6824 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_exti.h
文件 25445 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_flash.h
文件 27016 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_fsmc.h
文件 20175 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_gpio.h
文件 30029 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_i2c.h
文件 3828 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_iwdg.h
文件 4383 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_pwr.h
文件 30452 2011-03-10 10:47 TIMERTIMERSTM32F10x_FWLibincstm32f10x_rcc.h
............此处省略192个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)