首先我们来看一下L9110S的驱动手册:



注意到IB接的是PB8,IA接的是PB9
根据第二个图片里面的真值表我们可以得到如下信息:

PB8配置位复用推挽输出,PB9配置为通用推挽
然后我给PB8配置PWM波,PB9给拉低,那么电机是不是就是正转
反转同理
停止两个端口同时拉低或者拉高就行了

接下里我们来配置一下PWM波,我们配置电机反转
PB9配置位复用推挽输出,PB8配置为通用推挽 然后我给PB9配置PWM波,PB8给拉低,那么电机是不是就是正转
看一下上图的定时器为TIM4,第4个管道。

void machinery_config(void)
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//开时钟/*PB9 复用推挽输出*/GPIO_InitTypeDef GPIO_INIT;GPIO_INIT.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_INIT.GPIO_Speed = GPIO_Speed_50MHz;GPIO_INIT.GPIO_Pin = GPIO_Pin_9;GPIO_Init(GPIOB,&GPIO_INIT);GPIO_INIT.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_INIT.GPIO_Speed = GPIO_Speed_50MHz;GPIO_INIT.GPIO_Pin = GPIO_Pin_8;GPIO_Init(GPIOB,&GPIO_INIT);RCC->APB1ENR |=(0X01<<2);//开TIM4时钟//定时器4通道 9 CH4//时钟组成TIM4->PSC = 72;TIM4->ARR = 1000;TIM4->CNT = 0;    TIM4->CR1 &=~(0X01<<4);//计数方向--向上记数//配置PWM波 有效电平 PWM模式  输出到响应引脚TIM4->CCER &=~(0X01<<13);//高电平有效TIM4->CCMR2 |=(0X06<<12);//PWM模式1 PWM输出模式TIM4->CCER |=(0X01<<12);//OC4对应到PB9,将输出信号配置到指定管脚TIM4->CCR4=0;//比较值TIM4->CR1 |=(0X01<<0);//计数器使能GPIO_ResetBits(GPIOB,GPIO_Pin_8);//拉低PB8}

这样我们是不是只需要改变配置里面的比较值(TIM4->CCR4)就可以实现电机的速度控制了
我们在主函数里这样简单测试一下,每延时3s我让比较值增加200:

     TIM4->CCR4=200;systick_ms(3000);TIM4->CCR4=400;systick_ms(3000);TIM4->CCR4=600;systick_ms(3000);systick_ms(3000);TIM4->CCR4=800;systick_ms(3000);TIM4->CCR4=1000;systick_ms(3000);

ok!这里就结束了,如果你需要别的控制,你只需要在满足你的控制条件后,更改比较值就可以实现电机的速度控制了。
如有不同的见解,欢迎评论区或者私信交流指正。
感觉写的不错,拜托观众姥爷一键三连。你的认同是我更新最大的动力。
ps:我是真的懒啊!!!!!
再ps一下:步进电机和舵机后续再更

STM32F103使用L9110s驱动直流电机(必须简单易懂)相关推荐

  1. xbox手柄接收器驱动_新手有什么PC电脑手柄推荐?简单易懂5分钟教会你做出选择...

    不知道大家入手柄坑是在什么情况?我以前也经常疑惑,用手柄玩PC游戏是什么感觉,总是在想手柄好用吗?后台因为看着身边很多同学玩游戏都是用手柄在玩游戏,我就偷偷买回来试了试,结果发现,诶真香,也特别后悔, ...

  2. arduino pmw 串口 字符串_Arduino A4950 驱动直流电机 超详细版

    Arduino A4950 驱动直流电机 对于自己做车的大部份同学来说,我和大家一样,用的最多的就是L298N驱动器,这次在家想试着自己研究一个驱动能力更好的更加方便的电机驱动,而网上使用Arduin ...

  3. STM32F103连接L9110S电机驱动控制小水泵

    硬件材料 开发板 野火STM32-F103指南者 L9110S电机驱动 引脚连接 代码简介 本模块通过控制L900S驱动电机来控制小水泵的开启与关闭.模块实现的只是简单的开关,并未实现其他的功能,也可 ...

  4. LeetCode—笔记—51、N皇后——递归回溯,个人思路,简单易懂

    LeetCode-笔记-51.N皇后--递归回溯,个人思路,简单易懂 51. N 皇后 n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给你一个整数 ...

  5. 【转】JS回调函数--简单易懂有实例

    JS回调函数--简单易懂有实例 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数. 我们先来看看回调的英文定义:A callback is a function that is ...

  6. BTC:简单易懂比特币之比特币的神奇——区块链技术的体现

    BTC:简单易懂比特币之比特币的神奇--区块链技术的体现 目录 BTC的七大特殊之处 BTC的七大特殊之处 1.一个没有CEO的公司,管理几十万员工: 2.每个员工自私自利,争权夺利,公司运作9年风生 ...

  7. python如何安装panda数据库_在Pycharm中安装Pandas库方法(简单易懂)

    开发环境的搭建是一件入门比较头疼的事情,在上期的文稿基础上,增加一项Anaconda的安装介绍.Anaconda是Python的一个发行版本,安装好了Anaconda就相当于安装好了Python,并且 ...

  8. 一、css清除浮动方法学习笔记总结(超详细,简单易懂)

    ** css清除浮动方法学习笔记总结(超详细,简单易懂) ** 问题: 上图中,由于container(父级元素)未设置高度,其内部子元素设置了float浮动,导致与container同级(也就是co ...

  9. 机器学习经典算法决策树原理详解(简单易懂)

    ↑ 点击上方[计算机视觉联盟]关注我们 最经典的决策树算法有ID3.C4.5.CART,其中ID3算法是最早被提出的,它可以处理离散属性样本的分类,C4.5和CART算法则可以处理更加复杂的分类问题, ...

最新文章

  1. python画的图怎么保存_python通过PyGame绘制图像并保存为图片文件的代码
  2. c语言不安全库_为什么 C 语言仍然占据统治地位?
  3. NIUDAY 11.23 北京站抢票啦 | 看 AI 落地行业 享 AI 时代红利
  4. Np计算机领域,我国数学家证明NP=P
  5. 2如何看表分区字段_技术分享|Oracle分区技术的实现总结
  6. linux vim 终端 行首 行尾_不会vi/vim,看这一篇足矣
  7. 【转】Python 2.x和Python3.x的区别
  8. PHP面试题 - MySQL数据库
  9. 计算机维修英语情景对话大全,实用英语短对话:修电脑
  10. mysql安装教程 2018_sql server 2018下载
  11. Gulp简明使用教程
  12. Dorado 7 Ajax 交互处理
  13. 泰勒级数和幂级数(如何解题)
  14. apt-get update 更新失败----如何清除破损而且陈旧的PPA仓库 (W: Failed to fetch http://ppa.launchpad.net/jonathonf/pyt)
  15. 【实习日报】2019年6月上半月 前端开发实习工作日报汇总
  16. IIS报错:HTTP 错误 404.0 - Not Found 您要找的资源已被删除、已更名或暂时不可用。最可能的原因: 指定的目录或文件在 Web 服务器上不存在。 URL 拼写错误。。。。
  17. windows10下VM安装安卓虚拟机PhoenixOS
  18. linux 查看java版本
  19. android 怎么刷新view,android – 如何在ViewPager中刷新当前视图
  20. 面试java工程师的自我介绍

热门文章

  1. wr703n 官方固件140120版本刷openwrt
  2. 创建新环境后,如何在Jupyter Notebook中使用新环境?
  3. 计算机应届生有没有必要参加IT培训?
  4. Unity 3D中OnTriggerEnter实现靠近物体就显示 远离就消失
  5. VGA、QVGA、WVGA、HVGA名词解释及区别
  6. 斜杠青年:如何开启你的多重身份 作者:Susan Kuang
  7. 基于matlab的静电场边值,典型静电场场图解析解(含Matlab程序).pdf
  8. 33 《对权威的服从:一次逼近人性真相的心理学实验》 -豆瓣评分9.0
  9. 向日葵公主与驴的寓言故事
  10. pycharm 字体颜色更改