STM32F103C8T6驱动SG90舵机--通过延时

2023-05-16

前言

最近博主在尝试驱动SG90舵机的时候,发现网上教程都是通过定时器的方式,还要进行各种配置,太麻烦了,于是自己用延时简单写了一下,也能用。

舵机的控制

舵机控制就是需要一个20ms的脉冲信号,通过高电平的持续时间来转动不同的角度,很多人都说通过定时器来产生这个脉冲,但是如果只是简单的处理,直接用延时处理就行了
在这里插入图片描述

代码

/*
*	函数内容:初始化舵机引脚
*	函数参数:无
*	返回值:	无
*/
void Init_SG90(void)
{
  GPIO_InitTypeDef temp;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
	temp.GPIO_Mode=GPIO_Mode_Out_PP;
	temp.GPIO_Pin=GPIO_Pin_8;
	temp.GPIO_Speed=GPIO_Speed_50MHz;
	GPIO_Init(GPIOB,&temp);
}

/*
*	函数内容:控制舵机转动
*	函数参数:高电平持续时间-us,
											500us,0°
											1000us,45°
											1500us,90°
											2000us,145°
											2500us,180°
					  就是一个pwm信号,在20ms的周期内,控制高电平持续的时间对应转动不同的角度
						循环10次是为了给他提供一个周期信号,防止舵机没有反应
*	返回值:无
*/
void Control_SG90(uint32_t us)
{
	int i=0;
	for(i=0;i<10;i++)
	{
		if(us<=20000)
		{
			PBout(8)=1;
			delay_us(us);
			PBout(8)=0;
			delay_us(20000-us);
		}
	}
}

直接通过延时模拟就行,注意不要直接使用delay_ms,参数都说uint类型的,2.5这种浮点数会被隐式转换掉然后导致转动角度不符合。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32F103C8T6驱动SG90舵机--通过延时 的相关文章

  • stm32f103c8t6介绍

    STM32F103C8T6 是一款基于 ARM Cortex M3 内核的微控制器 xff0c 由 STMicroelectronics 公司生产 它具有 32 位处理器 xff0c 主频高达 72 MHz xff0c 内置 flash 存
  • stm32f103c8t6最小系统板烧录程序

    stm32f103c8t6最小系统板烧录程序 连接好线路 xff0c 却无法使用串口给stm32f103c8t6最小系统板下载程序 一 串口下载 xff08 使用flyMCU 1 接线如下图 xff0c 特别注意 xff0c boot0必须
  • STM32驱动SG90舵机与HC_SR04超声波模块

    前言 一 项目涉及的内容 项目简介 二 模块实操 1 SysTick系统定时器模块 2 SG90 舵机模块 3 HC SR04 超声波模块 4 main函数 总结 前言 这篇文章的内容主要对一个超声波 43 舵机小项目进行总结 xff0c
  • stm32F103C8T6基于FreeRTOS操作系统的多任务

    目录 一 FreeRTOS简介1 什么是FreeRTOS 2 FreeRTOS特点 二 创建项目三 编写代码四 编译烧录五 总结参考链接 一 FreeRTOS简介 1 什么是FreeRTOS 我们看一下FreeRTOS的名字 xff0c 可
  • Openmv+STM32F103C8T6视觉巡线小车

    Openmv巡线 机器视觉巡线处理是参考openmv官方代码 Openmv官网源代码 xff1a book openmv cc project follow lines html 根据官网视频及教程将源码注入openmv中 小车巡的是黑线
  • STM32F103ZET6和STM32F103C8T6芯片的区别

    是这样的 xff0c 一个具体的STM32F103系列芯片的内存有多大 xff0c 你看一下芯片上的型号就行了 STM32F103XY 注意 xff0c XY是个代号 xff0c X是表示封装有多少个引脚 xff0c 比如 xff0c 如果
  • 智能垃圾桶(七)——SG90舵机的介绍与使用(树莓派pico实现)

    文章目录 一 SG90舵机的引脚介绍 二 与pico引脚的对接 三 舵机的使用原理 四 Thonny程序 五 效果展示 一 SG90舵机的引脚介绍 舵机上会引出三根线 分别是GND 棕色线 VCC 红色线 和SIG 黄色线 就是地线 电源线
  • SG90 180°舵机的使用

    SG90 180 舵机的使用 SG90的介绍 舵机是一种位置 xff08 角度 xff09 伺服的驱动器 xff0c 适用于需要角度不断变化并可以保持的控制系统 xff0c 可以根据控制信号来输出指定的角度 xff08 常见的有0 90 0
  • 【STM32】STM32F103C8T6+L298N通过PWM控制直流电机转速

    系列文章目录 STM32 新建工程模板及配置 STM32 STM32与PC端 HC 06 ROS进行USART串口通信 ROS ROS上位机使用Serial库和boost asio库与STM32进行USART通讯 STM32 STM32F1
  • Altium Designer绘制stm32f103c8t6最小系统原理图

    文章目录 前言芯片封装自定义封装原理图绘制总结 前言 本文提供了初学者绘制stm32最小系统 xff0c 同时初学者的同学可以跟着小白学习绘制原理图哦 芯片封装 提示 xff1a 下载安装好Altium Designer之后才能进行以下操作
  • 【stm32CubeMX】STM32F103c8t6串口通信

    stm32CubeMX STM32F103c8t6串口通信发送 39 hello windows 39 一 串口通信协议1 UART协议2 RS 2323 RS 485 二 USB转TTL三 配置CubeMX并建立工程四 串口通信实现五 k
  • 【STM32CubeMX】使用STM32F103C8T6输出PWM波形实现呼吸灯

    STM32CubeMX 使用STM32F103C8T6输出PWM波形实现呼吸灯 一 关于PWM二 Cube MX创建工程三 修改代码四 效果展示五 总结六 参考与代码下载 一 关于PWM 1 关于PWM 含义 PWM xff08 Pulse
  • stm32F103C8T6串口通信发送Hello Windows

    本文是基于STMF103C8T6 芯片及开发板 xff0c 在深入理解串口通信的原理后完成实操 xff0c 发送Hello Windows 文章目录 一 通信方式1 串行通信2 并行通信3 同步通信和异步通信 二 串口通信协议1 串口通信协
  • STM32F103C8T6串口通信

    STMF103C8T6串口通信 串口相关的固件函数 xff1a mainusart cusart h 串口作为 MCU 的重要外部接口 xff0c 同时也是软件开发重要的调试手段 xff0c 其重要性不言而喻 关于STM32F103C8T6
  • (3)STM32 SG90舵机模块测试

    文章目录 1 资源简介2 测试源码 1 资源简介 stm32 rct6板SG90舵机模块 接线引脚 xff1a 橙色 xff1a 信号线 红色 xff1a 电源 43 5v 咖色 xff1a GND 此模块三条线固定在一起 xff0c 如果
  • 基于STM32F103C8T6的USART1串口的中断接收

    一 串口介绍 二 项目所需硬件 1 USB转串口模块 三 项目代码 一 串口介绍 USART Universal Synchronous Asynchronous Receiver Transmitter 通用同步 异步串行接收 发送器 U
  • STM32F103C8T6 PWM驱动舵机(SG90)

    小知识 xff1a 同一个定时器 xff0c 不同通道输出不同输出PWM的特点 对于同一个定时器的不同通道输出PWM xff0c 因为它们是共用一个计数器的 xff0c 所以频率必须一样 xff0c 而占空比由各自的CCR决定 xff0c
  • STM32F103C8T6 gps串口数据处理

    基于stm32f10x系列单片机demo程序修改 配置串口 void USART1 Config void GPIO InitTypeDef GPIO InitStructure USART InitTypeDef USART InitSt
  • STM32驱动SG90舵机

    STM32驱动SG90舵机 关于SG90舵机SG90转动角度与占空比的关系驱动SG90舵机代码 确定控制引脚 写代码 SG90舵机正常驱动现象总结 关于SG90舵机 SG90是一种小型伺服电机 xff0c 通常用于模型制作和小型机械应用中
  • STM32F103控制PCA9685产生16路PWM波控制SG90舵机

    STM32控制PCA9685产生16路PWM波控制SG90舵机 如果你能点开这篇文章 xff0c 说明你已经知道PCA9685是多么强大 xff0c NXP公司原本做这片芯片是为了提供给LED使用 xff0c 在其官方文档里也能看到所有PW

随机推荐

  • 数据结构———队列的顺序实现

    define MaxSize 100 define ElemType int typedef struct ElemType data MaxSize int front rear SeqQueue void InitQueue SeqQu
  • 直接插入排序

    include lt stdio h gt include lt math h gt include lt string h gt include lt stdlib h gt int main void InsertSort int a
  • C++枚举类型enum使用方法(附带可用代码+通俗易懂)

    1 说明 枚举用来表示某类事情的结果 xff1b 例1 xff1a 下棋比赛的三种结果 xff0c 赢 xff0c 和 xff0c 输 xff1b 这里是描述比赛的结果 例2 xff1a 一周7天中的俩种结果 xff0c 工作日和非工作日
  • 关于python+opencv无法打开摄像的问题

    一开始我认为是软件的兼容问题 xff0c 苦苦思考 xff08 按照流程自己去第三方库里乱下一波是绝对不会出现这种无法打开摄像头的奇葩问题 xff09 xff0c 最终参考网上的教程 xff0c 尝试用系统的相机打开 xff0c 看 xff
  • 蓝桥杯每日一题(28)七段码(python)

    Topic 试题 D 七段码 本题总分 xff1a 10 分 问题描述 小蓝要用七段码数码管来表示一种特殊的文字 上图给出了七段码数码管的一个图示 数码管中一共有 7 段可以发光的二极管 xff0c 分别标记为 a b c d e f g
  • 数据结构之顺序表(C语言)

    目录 1 线性表 1 1 线性表的概念 xff1a 1 2 线性表数据的存储方式 xff1a 注意 xff1a 2 顺序表 2 1 概念 2 2 顺序表的存储结构 3 顺序表的各种操作函数实现 3 1 顺序表初始化 3 2 顺序表判满函数
  • Posix与System V共享内存区

    Posix与System V共享内存区 一 Posix共享内存区1 概述2 shm open和shm unlink函数3 ftruncate和fstat函数4 给一个共享的计数器持续加1 例子5 向一个服务器发送消息例子 二 System
  • ARM裸机开发——Linux环境搭建和LED灯闪烁实验

    写在前面 本文为学校开展的嵌入式系统设计课程 xff0c 本文主要是记录课程中的相关作业与学习记录 xff0c 本课程采用了S3C2440A嵌入式系统开发板 xff0c 由于主要以学校开展课程为主 xff0c 本文内容可能有一定的课程资料辅
  • Linux文件系统常用命令

    文件系统常见目录 boot 包含系统内核 xff0c 系统启动时加载到内存 etc 含系统配置文件 var 含系统中变化信息 xff08 如日志 xff09 的目录 dev 可直接对物理设备存取的特殊文件 bin
  • PTA_Python3_企业根据利润提成发放奖金问题

    企业根据利润提成发放奖金问题 利润低于或等于10万元时 xff0c 奖金可提10 xff1b 利润高于10万元 xff0c 低于20万元时 xff0c 低于10万元的部分按10 提成 xff0c 高于10万元的部分 xff0c 可提成7 5
  • 【4大运营商光猫默认初始超级密码】

    4大运营商光猫默认初始超级密码 xff1a 1 电信超级密码 telecomadmin nE7jA 5m 2 移动超级密码 CMCCAdmin aDm8H MdA 3 联通超级密码 CUAdmin CUAdmin 4 广电超级密码 admi
  • 写delete时遇到的问题

    在写delete的时候会跳出错误 ConsoleApplication1 exe Win32 已加载 C Windows SysWOW64 ntdll dll 无法查找或打开 PDB 文件 ConsoleApplication1 exe W
  • 宏定义可以自增自减吗?(带题讲解,并总结C语言数据类型可自加自减的)

    不可以 通过实验我们可以得出double型数据可以自加 xff0c 且每次变化为1 在宏定义下自加出现了错误 xff0c 如下 xff1a 总结int char double float 都可进行自加自减运算
  • Linux下将当前目录下的某个文件复制到指定文件夹

    cp filename home directory 即cp 文件名 目标文件夹的绝对路径 批量复制 cp filename1 filename2 filename3 home directory 即cp 文件1名 文件2名 文件3名 目标
  • centos的命令行个性化配置

    centos的命令行个性化配置 cd root 进入配置文件 vim bashrc 在末行输入 PS1 61 34 debian chroot 43 debian chroot e 32 1m u e 0m 64 h e 34 1m w e
  • 数据库作业:数据查询 连接查询

    若一个查询同时涉及两个以上的表 xff0c 称之为连接查询 连接查询是数据库中最主要的查询 xff0c 包括等值连接查询 xff0c 自然连接查询 xff0c 自身连接查询等 一 等值和非等值连接查询 1 1连接查询的WHERE子句中用来连
  • Ubuntu20.04安装arm-linux-gcc

    我安装的版本是arm linux gcc 4 6 4 xff0c 并且是64位的 在windows系统中把arm linux gcc 4 6 4 arm x86 64 tar bz2压缩包放在跟Ubuntu虚拟机的共享目录下在Ubuntu2
  • OSI七层模型总结

    OSI Open System Inter Connection 开放系统互联模型 定义了不同计算机互联的标准 xff0c 设计和描述了计算机网络通信的框架 OSI有7层和5层两种模型 xff0c 7层模型从上往下分别是 xff1a 应用层
  • 23种Python设计模式之工厂方法模式详解

    x1f496 作者 xff1a 大家好 xff0c 我是阿旭 x1f61c x1f389 支持我 xff1a 点赞 x1f44d 收藏 留言 x1f4dd x1f4e3 系列专栏 xff1a 23种设计模式详解 Python x1f341
  • STM32F103C8T6驱动SG90舵机--通过延时

    前言 最近博主在尝试驱动SG90舵机的时候 xff0c 发现网上教程都是通过定时器的方式 xff0c 还要进行各种配置 xff0c 太麻烦了 xff0c 于是自己用延时简单写了一下 xff0c 也能用 舵机的控制 舵机控制就是需要一个20m