• 大小: 3.49MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-11
  • 语言: 其他
  • 标签: STM32  舵机  串口  PWM  

资源简介

STM32控制舵机的代码,通过串口发送数字,设置占空比,从而控制舵机

资源截图

代码片段和文件信息

#include “exti.h“
#include “led.h“
#include “SysTick.h“
#include “key.h“

/*******************************************************************************
* 函 数 名         : My_EXTI_Init
* 函数功能    : 外部中断初始化
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
void My_EXTI_Init(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
EXTI_InitTypeDef  EXTI_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIOENABLE);

GPIO_EXTILineConfig(GPIO_PortSourceGPIOE GPIO_PinSource2);//选择GPIO管脚用作外部中断线路
GPIO_EXTILineConfig(GPIO_PortSourceGPIOE GPIO_PinSource3);//选择GPIO管脚用作外部中断线路
GPIO_EXTILineConfig(GPIO_PortSourceGPIOE GPIO_PinSource4);//选择GPIO管脚用作外部中断线路
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA GPIO_PinSource0);//选择GPIO管脚用作外部中断线路


//EXTI0 NVIC 配置
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;//EXTI0中断通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//抢占优先级
NVIC_InitStructure.NVIC_IRQChannelSubPriority =3; //子优先级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能
NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化VIC寄存器


//EXTI2 NVIC 配置
NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn;//EXTI2中断通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//抢占优先级
NVIC_InitStructure.NVIC_IRQChannelSubPriority =2; //子优先级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能
NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化VIC寄存器


//EXTI3 NVIC 配置
NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn;//EXTI3中断通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//抢占优先级
NVIC_InitStructure.NVIC_IRQChannelSubPriority =1; //子优先级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能
NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化VIC寄存器

//EXTI4 NVIC 配置
NVIC_InitStructure.NVIC_IRQChannel = EXTI4_IRQn;//EXTI4中断通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//抢占优先级
NVIC_InitStructure.NVIC_IRQChannelSubPriority =0; //子优先级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能
NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化VIC寄存器


EXTI_InitStructure.EXTI_Line=EXTI_Line0;
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising;
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(&EXTI_InitStructure);

EXTI_InitStructure.EXTI_Line=EXTI_Line2|EXTI_Line3|EXTI_Line4; 
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(&EXTI_InitStructure);

}

/*******************************************************************************
* 函 数 名         : EXTI0_IRQHandler
* 函数功能    : 外部中断0函数
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
void EXTI0_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line0)==1)
{
delay_ms(10);
if(K_UP==1)
{

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-06-29 22:47  STM32串口控制舵机\
     目录           0  2019-06-29 22:47  STM32串口控制舵机\FWLIB\
     文件       15503  2011-03-10 10:52  STM32串口控制舵机\FWLIB\startup_stm32f10x_hd.s
     文件     9749066  2018-04-29 11:01  STM32串口控制舵机\FWLIB\stm32f10x_hd_fw.lib
     目录           0  2019-06-29 22:47  STM32串口控制舵机\INC\
     目录           0  2019-06-29 22:47  STM32串口控制舵机\INC\CM3\
     文件       85714  2011-02-09 14:59  STM32串口控制舵机\INC\CM3\core_cm3.h
     文件      633937  2018-12-25 21:30  STM32串口控制舵机\INC\CM3\stm32f10x.h
     文件      633941  2011-03-10 10:51  STM32串口控制舵机\INC\CM3\stm32f10x.h.bak
     文件        2085  2011-03-10 10:51  STM32串口控制舵机\INC\CM3\system_stm32f10x.h
     文件        8982  2011-03-10 10:47  STM32串口控制舵机\INC\misc.h
     文件       21690  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_adc.h
     文件        7555  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_bkp.h
     文件       27559  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_can.h
     文件        6573  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_cec.h
     文件        3259  2011-04-04 19:03  STM32串口控制舵机\INC\stm32f10x_conf.h
     文件        2162  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_crc.h
     文件       15233  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_dac.h
     文件        3818  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_dbgmcu.h
     文件       20754  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_dma.h
     文件        6824  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_exti.h
     文件       25445  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_flash.h
     文件       27016  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_fsmc.h
     文件       20175  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_gpio.h
     文件       30029  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_i2c.h
     文件        4285  2014-12-11 16:55  STM32串口控制舵机\INC\stm32f10x_it.h
     文件        3828  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_iwdg.h
     文件        4383  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_pwr.h
     文件       30452  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_rcc.h
     文件        3857  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_rtc.h
     文件       21863  2011-03-10 10:47  STM32串口控制舵机\INC\stm32f10x_sdio.h
............此处省略77个文件信息

评论

共有 条评论