PWM是定时器的一个输出功能,要分配在有对应输出的管脚上。分频和定时值决定了周期,捕获寄存器的值就是占空比,当计数寄存器的值小于捕获值时输出固定电平(H),当大于时翻转电平,当计数器值溢出时将重载值载入,此时继续翻转电平。 一 在stm32cubeMX中线在有对应PWM输出的引脚设置PWM功能 二 在外设功能TIMx的对应通道上设置PWM模式 三在定时器配置时设置分频值,定时值,如果设置pauls
转载 2017-08-14 23:59:00
306阅读
2评论
非常详细的PWM呼吸灯原理介绍及代码实现,附源码,欢迎阅读哦
原创 2022-03-07 15:24:06
2156阅读
  本节通过定时器的PWM模式驱动无源蜂鸣器,来演奏一段音乐。本博客在掌机的系列教程中介绍过蜂鸣器的驱动原理,感兴趣的可以参考​​电子琴​​无源蜂鸣器驱动电路  蜂鸣器按照有无震荡源(不是电源),可以分为有源蜂鸣器和无源蜂鸣器。有源蜂鸣器上电就能工作,控制简单,但是只有一个音调。无源蜂鸣器需要单片机提供震荡源,虽然控制稍微复杂一点,但是可以发出不同频率的声音。PWM原理  根据我们的电路,引脚输出
原创 2023-01-11 12:19:59
570阅读
在做蓝桥杯第九届省赛题的时候,遇到了这样一个题目:实现4个不同等级的LED亮度分布。这个要求我们可以联想到第七届的省赛题,控制PWM波的输出,我们在这里也可以应用相同的原理,就是通过定时器来达到LED等不同等级的亮度分布。目录原理:基础程序:1.问题2.程序拓展练习:RB2的电压值控制LED灯的亮暗  原理:假设PWM波的周期是10毫秒,通过短时间的视觉暂留效应,我们用定时器设置一个10
转载 1月前
341阅读
背景之前学习了定时器的一些基本知识,实现了1ms的定时,本次学习定时器的PWM功能,用定时器产生的PWM波作为步进电机的脉冲频率,实现步进电机转动控制,并实现电机S型曲线的加减速控制。步进电机基本知识步进电机根据接线关系分为双极性和单极性,单极性两组线圈中间有抽头,接电源;而双极性的线圈中间无抽头。本次实验采用双极性42步进电机,24V供电。 步进电机外观图 电机驱动原理图及控制接线关系
STM32三种的类型:ST已经推出了三种库函数,以方便客户快速开发STM32系列MCU。从15、16年开始,ST逐渐停止了对标准外设的更新和维护,转向了HAL和LL。(1) 标准外设驱动SPL                     Standard Peripheral Li
  在Linux下,如果需要编写界面应用,并且此界面应用对性能的要求不是很高,一般可以使用Python解决。Python中可以使用自带的Tkinter或者是第三方的Wxpython,当然Tkinter的移植性更好。    安装Tkinter非常简单,只需要输入下面命令即可: sudo apt-get install python-tk   &nbsp
转载 2023-07-27 10:04:41
175阅读
ST7789驱动程序移植,标准HAL STM32F407 原因课设项目用到了ST7789这款lcd,但是官方给的例程都是标准,在网上也没有找到HAL的驱动。所以自己移植一下,使用STM32Cubeide首先新建项目,打开SPI1,需要更改的地方如下   关于引脚如何配置,这里参考一下原例程,PG12和PD5为SPI
转载 2024-07-02 22:08:49
0阅读
# 实现Python pwm的步骤 ## 导语 在Python中实现pwm可以帮助我们控制硬件设备的脉宽调制(PWM)信号,实现各种应用场景。对于刚入行的小白来说,可能对此一无所知,下面是一份指南,帮助你快速了解并实现Python的pwm。 ## 步骤 | 步骤 | 描述 | | ---- | ---- | | 1. 安装所需 | 安装RPi.GPIO和pigpio | | 2.
原创 2023-10-09 08:17:56
212阅读
 我们在使用嵌入式功能开发的时候经常需要使用按键实现一些功能。按键一般接触较多的就是独立按键,但一般情况上会需要多个按键,使用独立按键就会使得IO口资源浪费;因此会提出使用矩阵按键,该方法是可以实现节省IO口;本次介绍使用ADC实现多按键功能,通过采集ADC不同的值,然后判断是按键几按下?因此要求完成功能:实现一个ADC口完成对八个按键的检测,识别按键几按下,并将结果通过串口到串口助手上
转载 2024-04-02 13:48:41
136阅读
HAL的SPI的配置包括通讯参数和IO引脚配置,其中通讯参数配置函数在MX_SPI1_Init()中自不必说。那么IO引脚配置在什么地方调用呢:MX_SPI1_Init()-》HAL_SPI_Init()-》HAL_SPI_MspInit()
转载 2021-01-27 16:40:00
522阅读
2评论
目录前言一、如何编程使用?二、使用步骤1.I2C通讯协议采集传感器数据BH1750传感器简介CubeMX配置1.GPIO引脚2.时钟3.I2C外设配置代码编写总结2.SPI通讯协议LCDLCD简介CubeMX配置1.GPIO引脚2.时钟3.SPI外设配置代码编写总结3.QSPI通讯协议读写FLASHQSPI简介W25Q64串行FLASH简介操作原理CubeMX配置1.GPIO引脚2.时钟3.QS
STM32 HAL学习笔记2 HAL介绍CMSIS标准一、再次认识HALHAL设计思想HAL实现方式以GPIO模块为例GPIO外设数据类型GPIO外设接口函数二、使用HAL1.工程必要文件的调用关系2.使用步骤三、新建工程模板1.手动新建1)新建本地工程文件夹2)新建MDK工程6.编写用户代码2.使用CubeMX创建工程复制步骤总结 原文链接:STM32微控制器面向不同应用场景有丰
STM32CUBEMX系列教程:定时器PWM输出实验环境:1、STM32CubeMX 5.32、Atollic TrueST
原创 2023-02-01 21:24:48
1272阅读
从源代码来看HAL库函数(一) HAL基础函数全局变量__IO uint32_t uwtick 这个变量充当了一个运行时长计数的作用,每发生一次SysTick中断就会加一,直至溢出,可以计算一下,溢出时间为2^32/1000/3600(以每1ms+1来算),大概要1193个小时,约50天,一般情况下是不用担心它会溢出的。 - uint32_t uwTickPrio = (1UL <<
基于F411 标准第一步:配置对应GPIO口的结构体初始化,TX连RX、RX连TX,引脚复用功能void Uart_GPIO_Config(void) { /*串口GPIO配置函数*/ GPIO_InitTypeDef GPIO_InitStruct; /*UART ->TX ->PA9*/ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIO
原创 精选 2024-02-27 15:37:20
442阅读
标准:基于按键中断,中断不声明不调用第一步时钟、中断源配置,中断结构体配置void Exit_Init(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE); SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource0); //Sys中断配置 SYSCFG_EXTI
原创 精选 2024-02-27 17:11:59
423阅读
目录1 前言2 准备部分2.1 关于STM32F103VET62.2 HAL固件下载2.3 安装STM32F1的Pack2.4 STM32CubeF1固件包说明2.4.1 HAL固件2.4.2 部分少用的文件说明2.4.3 Middlewares文件夹的子文件夹说明2.4.4 Drivers文件夹的子文件夹说明2.4.5 Projects文件夹3 库函数版工程模板的创建——HAL版本3.1
转载 2024-07-19 10:22:36
164阅读
STM32 HAL开发 高级定时器输出指定个数PWM
原创 1月前
413阅读
此次测试是基于正点原子STM32精英版,芯片为STM32F103ZET6基于HAL的配置预分频后为单位时间。Time for one bit 为时间段1和时间段2再加单位时间。时间段1和时间段2为单位时间的整数倍。在上图中为4+4+1倍,即9倍。图片中配置为2000ns,即波特率为500Kbps。 若是想要中断接收数据,还需要打开中断。完成后生成代码即可CAN过滤器过滤器是需要自己配置的,而且不
转载 2023-12-19 19:24:30
649阅读
  • 1
  • 2
  • 3
  • 4
  • 5