草庐IT

【雕爷学编程】MicroPython手册之 ESP32-CAM 物联网图像数据采集应用

MicroPython是为了在嵌入式系统中运行Python3编程语言而设计的轻量级版本解释器。与常规Python相比,MicroPython解释器体积小(仅100KB左右),通过编译成二进制Executable文件运行,执行效率较高。它使用了轻量级的垃圾回收机制并移除了大部分Python标准库,以适应资源限制的微控制器。MicroPython主要特点包括:1、语法和功能与标准Python兼容,易学易用。支持Python大多数核心语法。2、对硬件直接访问和控制,像Arduino一样控制GPIO、I2C、SPI等。3、强大的模块系统,提供文件系统、网络、图形界面等功能。4、支持交叉编译生成高效的原

【江科大】STM32:(超级详细)定时器输出比较

文章目录输出比较单元特点高级定时器:均有4个通道PWM简介PWM(PulseWidthModulation)脉冲宽度调制输出比较通道PWM基本结构基本定时器参数计算捕获/比较通道的输出部分详细介绍如下:舵机介绍硬件电路直流电机介绍:直流电机驱动代码输出比较(库函数)输出比较单元名词解释ICinputcapture输入捕获OCoutpucompare输出比较CCcapturecompare输入捕获和输出比较的单元OC(OutputCompare)输出比较:用来输出PWM波形特点输出比较可以通过比较CNT(计数器)与CCR(捕获/比较)寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输

【STM32】STM32学习笔记-软件I2C读写MPU6050(33)

00.目录文章目录00.目录01.I2C简介02.MPU6050参数03.软件I2C接线图04.I2C模拟应答时序示例05.I2C读取MPU6050程序示例06.程序下载07.附录01.I2C简介I2C(Inter-IntegratedCircuit)总线是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。串行的8位双向数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s。I2C是一个多主机的总线

STM32-内部 EEPROM 读写

STM32的某些系列MCU自带EEPROM。笔者使用的STM32L151RET6自带16KB的EEPROM,可以用来存储自定义的数据。在芯片选型时,自带EEPROM也可以作为一个考量点,省去了在外接EEPROM的烦恼。下面简单介绍下STM32内部EEPROM的读写流程。MemoryMapping以笔者使用的这款STM32L151RET6MCU为例,自带16KB的EEPROM。Map到了2个Bank中:DataEEPROMBank1:0x08080000~0x08081FFF(8KB)DataEEPROMBank2:0x08082000~0x08083FFF(8KB)Operations内部EE

STM32+OLED屏显示字符串、汉字、图片(二)

上一节初始化了OLED屏,使得它完成了清屏,现在驱动它在屏幕上打印字符串、汉字以及图片。        1.1  STM32+OLED屏初始化(一)         1.2  STM32+OLED屏显示字符串、汉字、图片(二)        1.3  STM32+OLED屏多级菜单显示(三)    1.4  STM32+OLED屏(软件IIC+位带+帧缓冲区)刷新速率优化(四) 1.制作字库字符集:!"#$%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        

【ESP32填坑日记】问题篇⑧ VScode中提示无法使用compilerPath解析配置:“C:/xxx/xtensa-esp32-elf-gcc.exe“

关注+星标公众号,不错过精彩内容作者|量子君微信公众号|极客工作室问题描述在编译成功,重启之后就编译不成功了,并报如图错误:无法使用compilerPath解析配置:“C:/xxx/xtensa-esp32-elf-gcc.exe”解决方法:用ctrl+shift+p快捷键打开C/C++:编辑配置(UI):找到编译器路径,将路径改为类似于如下的riscv32-esp-elf-gcc.exe路径:C:\Espressif\tools\riscv32-esp-elf\esp-2022r1-11.2.0\riscv32-esp-elf\bin\riscv32-esp-elf-gcc.exe若电脑安装

【STM32】STM32F4XX的12位ADC采集数值超过4096&右对齐模式设置失败

文章目录一、前言二、问题1:数值超过4096三、问题1的排错过程四、问题2:右对齐模式设置失败五、问题2的解决方法5.1将ADC_ExternalTrigConv设置为05.2使用ADC_StructInit()函数六、F1和F4关于ADC的小差别七、参考文章一、前言最近在学习STM32的ADC功能,遇到了一个奇怪的问题。使用芯片:STM32F407ZGT6使用函数:库函数使用代码:正点原子的例程《实验16ADC实验》串口工具:VOFA二、问题1:数值超过4096博主直接使用了正点原子的程序,如下面所示,使用的12位的ADC1,端口是PA5//初始化ADC void

STM32 i2c读写寄存器地址8位,16位的方法

一般常用的寄存器地址是8位的,遇到一个寄存器地址为16为的器件。总结一下代码编写。寄存器地址16位的为SY103,寄存器地址为8位的为LT7911.测试代码voidDebugLEDTask(void*argument){ uint8_tinput[2]={0x00,0x7f}; uint8_tvalue[2]={0x00,0x00}; uint8_tnum=sizeof(input)/sizeof(input[0]); uint8_tinput1[1]={0x01}; uint8_tvalue1[1]={0x00}; uint8_tnum1=sizeof(input1)/sizeof(inpu

STM32基于CAN总线协议控制步进电机

一、功能描述:如上图所示,实现了以下功能:1.两块stm32单片机通过CAN控制器与收发器进行半双工通信;2.stm32主机通过检测按键,切换不同的模式,将不同模式的case值发送给stm32从机;3.stm32从机根据收到的case值,控制步进电机进行不同的运动操作;4.OLED用于显示收发内容与按键状态等信息。二、CAN总线概述1.CAN总线协议        CAN总线(ControllerAreaNetwork)是一种串行通信协议,最初是由德国Bosch公司在1983年为汽车应用而开发的。然而,由于其高效、可靠的性能,CAN总线已经被广泛用于各种领域,包括工业控制、医疗设备、军事应用等

ST-ARM理论(4):STM32F1启动

ST-ARM理论(4):STM32F1启动前提摘要个人说明:限于时间紧迫以及作者水平有限,本文错误、疏漏之处恐不在少数,恳请读者批评指正。意见请留言或者发送邮件至:“noahpanzzz@gmail.com”参考正文启动模式(STM32F1)在系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式。主闪存存储器,芯片内置的FLASH。系统存储器,芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说