这里写目录标题一、 PWM相关概念PWM控制的基本原理二、用STM32F103输出一路PWM波形三、DAC的介绍1.DAC(数字/模拟转换模块)2.ADC(模拟/数字转换模块)3.DAC的特点4.DAC模块功能框图四、输出周期2khz的正弦波五、将一段数字音频歌曲数据转换为模拟音频波形输出 一、 PWM相关概念占空比:就是输出的PWM中,高电平保持的时间 与 该PWM的时钟周期的时间 之比 如,
目录环境搭建编译例程引脚说明、模组烧录常用操作相关API详解UARTADCWS2812(RMT)RFIDDAC(音频输出)FreeRTOSCJSON完整工程 官方网站:ESPRESSIF 参考教程:史上最全的ESP32教程 官方编程指南:ESP-IDF编程指南环境搭建使用Arduino IDE开发起来会更快,但为了避免以后控制起来出现底层冲突,所以使用VSCODE+ESP-IDF开发环境。具体操
转载 2024-07-18 21:41:54
132阅读
今天来简单介绍一下STM32的输入捕获功能。输入捕获说的通俗一点就是用计数器(定时器)来记录某一个脉冲高电平的时间,或者我们只捕获脉冲的上升沿或者下降沿,这具体要根据具体事例进行分析。 它的基本工作过程就是先捕捉一次脉冲上升沿,然后计数器开始计时,等待着捕捉到脉冲下降沿,等到捕捉到下降沿的时候,计数器停止计数,计算计数器中的数值,这个数值就是高电平所持续的时间,然后再重现开始下一轮的捕捉。 今
转载 2024-07-19 21:56:31
152阅读
1. PWM概念脉冲宽度调制(英语:Pulse-width modulation,缩写:PWM),简称脉宽调制, 是将模拟信号转换为脉冲的一种技术, 一般转换后脉冲的周期固定,但脉冲的工作周期会依模拟信号的大小而改变。PWM涉及到两个重要的概念频率和占空比频率 Frequency (freq)PWM完成一个周期的速度,如100Hz即是每秒100个周期。理解为PWM在高低态电平之间切换的速度。ESP
转载 2024-06-29 07:27:34
261阅读
什么是ESP32ESP8266 Wi-Fi模块是过去几年中最受欢迎和最实用的模块之一。市场上有这种模块的各种版本。ESP32模块是ESP8266的升级版本。除了Wi-Fi模块,该模块还包含蓝牙4.0模块。双核CPU工作频率为80至240 MHz,包含两个Wi-Fi和蓝牙模块以及各种输入和输出引脚, ESP32是物联网项目的理想选择。ESP32模块引脚分布虽然ESP32的引脚数比常用的处理器少,但
// 读取并返回GPIO2的原始模拟电压 // analogRead(2) // 在初始化函数内初始化esp32 void setup() { // 初始化波特率 Serial.begin(115200); } // 循环体函数 void loop() { // 把GPIO2读取的原始模拟电压值存储在变量中 int analogValue=analogRead(2);
一、目的        当我们通过ESP-IDF开发ESP32时,可能会遇到类似这样的场景需要对某个函数的执行速度进行优化例如中断执行函数需要快入快出,那么应该怎么做呢,ESP-IDF里面有没有提供这样的方法或者机制呢?        按照常识我们总认为内部SRAM的读写速度一般是最快的(有些芯片内部还有TCM--紧凑
注意:SPI方式驱动88W8801的完整代码已于2019年12月12日发布,支持F1和F4单片机,分为标准库和HAL库两个版本。下载地址为https://pan.baidu.com/s/1myogwFS687nCnsPEzU9ySQ笔者所用的单片机为:STM32F407VE程序中没有用STM32F4的SPI外设,而是直接用GPIO产生SPI时序。 目前程序完成了:88W8801 WiFi模块的初始
入手了一个esp-prog想尝试调试一下发现步入了官方都没发现的坑1.因为装的是官方的esp-idf离线版,里面驱动都已经下载好了。打开设备管理器,连esp-prog可以看见2个com。官方说是正常现象。  然后在esp-idf中输入自己工程的位置,配置工程都是顺风顺水的。       但是实际照着官方后面调
转载 2024-06-03 16:04:09
491阅读
接着上一节,pwm 的使用,控制多路舵机进行角度旋转和设置。参考stm32f103x中文说明时钟树如下图 1.当HSI被用于作为PLL时钟的输入时,系统时钟能得到的最大频率是64MHz。 2.对于内部和外部时钟源的特性,请参考相应产品数据手册中“电气特性”章节。 用户可通过多个预分频器配置AHB、高速APB(APB2)和低速APB(APB1)域的频率。AHB和 APB2域的最大频率是72MHz。A
转载 2024-06-28 22:19:55
149阅读
Arduino ESP32定时器功能使用?ESP32硬件定时器介绍?ESP32 芯片包含两个硬件定时器组。每组有两个通用硬件定时器。它们都是基于 16 位预分频器和 64 位自动重载功能的向上/向下计数器的 64 位通用定时器。初始化(开启)定时器 timerBeginhw_timer_t * timerBegin(uint8_t num, uint16_t divider, bool co
1.基本理论知识概述1.1 研究背景及意义为了给后端电路提供一个理想信号,一般用信号发生器所产生的的信号来替代前端电路的实际信号。为了可以方便的在各种不同条件下所需的不同特性信号,就需要一个特征参数可以被认为设定的信号源。这样的信号源对于产品的研发和日常学校的电路实验很有成效。我们可以通过测量出的信号进行比对,以此来确定电路的特性和功能是否达到了所需的标准和要求在日常的生产实践和科技领域中信号发生
PlatformIO ESP32-C3 JTAG调试笔记ESP32-C3内置了JTAG调试网上对此教程文章较少,记录一下实现过程JTAG调试配置 ESP32-C3 内置 JTAG 接口ESP32-C3 内置 JTAG 电路,无需任何额外芯片即可调试。只需要一根连接到 D+/D- 引脚的 USB 电缆。配置硬件ESP32-C3 针脚USB信号GPIO18D-GPIO19D+5VVCCGNDGND请确
 以STM32F103C8T6使用TIM1的CH1,CH4同时输出两路PWM为例:引脚定时器通道PA8TIM1CH1PA11TIM1CH4步骤:GPIO_InitTypeDef GPIO_InitStruct; //GPIO初始化结构体 TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; //定时器初始化结
Run host on ipad, and draw on itself在ipad上运行上位机并且在它上面画画Draw a cat画猫猫The host is written with vue ( The old version using QT)上位机是用vue写的 (也有旧版本使用的QT+串口协议)?github: ActivePeter/RobotArmHost: Host of my ro
DS3231时钟模块简介DS3231芯片采用IIC通信接口,内部集成了晶体谐振器和温度补偿器,提高了模块的长期精度。精度保持在±3.5ppm (±0.3024秒/天)。可以用纽扣电池供电,断开主电源时仍可保持精确计时。RTC可提供秒、分、时、星期、日、月和年(可计年到2100年)的信息,可以自动调整月末的日期、闰年修正。时钟格式可以是24小时或带AM/PM指示的12小时。提供两个可编程的日历闹钟输
目录概述安装Visual Studio Code PlatformIO测试创建工程创建新工程时中的一些建议新工程终于构建好了(15分钟)新工程里面写程序编译:编译超快上传代码到板子:串口监视功能总结 参考文档概述本文介绍如何使用VScode 直接开发Arduino 程序,避免使用Arduino IDE时的没有代码提示功能,文件关系不清晰、头文件打开不方便等问题及使用Visual Stdio集成插
转载 9月前
344阅读
STM32产生PWM在笔者的上一个博客《STM32F103C8T6编写简单的程序并烧录到板卡上》中,简单介绍了如何产生一个PWM波,但读者可能对设置PWM过程中修改的参数不是很理解。本篇博客将重点讲述如何设置PWM波的频率和初始占空比,以及如何实现占空比可调的PWM。本文中笔者使用的STM32型号仍然是F103C8T6,如果你的STM32型号与之不同也没关系,具体的操作方法是一样的,只是使用的具体
目的测量PWM的频率和占空比,通过串口调试助手打印出来方法一:用定时器的PWM输入模式,采用一个定时器的两个通道(通道一和通道二),配置从模式为复位模式,没有进行溢出处理,所以需要考虑捕获的最低频率; 因为需要测量一个PWM信号,那么首先需要先产生一个PWM信号,这里我用TIM4_CH1(PD12)输出一个频率为50HZ,占空比为50%的PWM信号 然后参见定时器的内部框图可知,当从CH1输入一个
一、前言其实做这个项目最初的痛点是为了改善家里的楼上楼下交流(家里房子带阁楼)太费嗓子的问题,不要说什么打电话、微信语音什么的,不接受!存在即合理!顺便正好用ESP32做点东西,那么就开始吧。二、介绍2.1 音频音道目前常见的有单声道,双声道这都很好理解还有2.1声道 就是在双声道上加了个低音声道5.1声道 早期影院 分别是正前方声道、左前方声道、右前方声道,左声道,右声道和一个低音声道现在影院一
  • 1
  • 2
  • 3
  • 4
  • 5