基于stm32f103,作为个人学习记录使用STM32芯片内部有一个FLASH存储器,它主要用于存储代码,在紧急状态下常常会使用内部FLASH存储关键记录;内部FLASH的构成STM32的内部FLASH包含主存储器、系统存储器以及选项字节区域大容量产品内部FLASH的构成(摘自《STM32F10x闪存编程参考手册》主存储器一般我们说STM32内部FLASH的时候,都是指这个主存储器区域,它是存储用户应用程序的空间,芯片型号说明中的256KFLASH、512KFLASH都是指这个区域的大小。主存储器分为256页,每页大小为2KB,共512KB。这个分页的概念,实质就是FLASH存储器的扇区,与其
目录一、前期准备二、串口屏上位机三、STM32软件编程一、前期准备1.STM32单片机2.HMIUSART串口屏本人使用使用的是陶晶驰的串口屏。型号为TJC4832T135_0113.USB转TTL串口模块电源板(CP2102芯片)(CH340也可以)二、串口屏上位机官网资料:USARTHMI资料中心可拖动左侧工具箱进行界面设计,常用文本、按钮、数字、切图等。右侧可修改相应的属性,一个工程中即使有多个页面,不能出现两个名字相同的控件。若移植其他例程,串口屏型号不一致,在上侧设备栏进行修改,具体见教程。三、STM32软件编程1、串口3配置波特率为9600(串口屏默认)2、hmi.c封装了STM3
TIM简介1、TIM(Timer)定时器2、定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断3、16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时4、钟下可以实现最大59.65s的定时5、不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能6、根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型定时器类型STM32F03C8T6具有四个定时器基本定时器的结构图通用定时器的结构图查看一下引脚定义表高级定时器结构图定时中断基本结构图预分频器的时序计数器计数频率:CK_CNT=CK_PSC/(PS
商城主要实现的功能首页、专题、分类、购物车、我的小程序授权登陆获取用户信息首页包含品牌制造页、品牌制造详情页面、新品首发页面、人气推荐页面、各分类列表商品详情页面,包含常见问题、大家都在看商品列表、加入购物车、收藏商品、立即购买、下订单、选择收货地址搜索功能,包含历史记录、热门搜索、搜索后列表展示、模糊搜索提示商品列表部分包含综合、价格高低进行排序专题功能,包含专题详情、专题推荐列表分类,包含左边大分类和右边详细分类购物车,包含商品单选全选、左滑删除商品、下订单等功能地址管理,包含新建地址和导入微信地址,地址编辑、左滑删除、设置默认地址我的页,包含我的收藏、地址管理、意见反馈此项目仅供学习参考
ESP32开发环境配置——ArduinoIDE前言一、ESP32有几种开发环境?二、ArduinoIDE环境搭建1.下载安装2.配置环境1)方法一1)方法二3.验证三、注意事项总结前言 最近这段时间刚好在捣鼓ESP32,遇到了挺多大大小小的坑,所以我将自己的配置过程和注意要点写出来分享给大家,希望对你们有帮助。一、ESP32有几种开发环境? ESP32系列单片机可以用MicroPython和C++进行编程,在这里我主要介绍C++编程语言下的两种常用的开发环境:ArduinoIDE:Arduino相信很多玩过Arduino系列单片机的朋友都不会,有点像STM32用到的Keil,但是相比Keil多
在STM32中编写串口通信数据收发有三种方式:轮询模式(阻塞方式),中断模式(非阻塞方式)以及DMA模式。一.串口通信(DMA模式) 打开STM32CubeMX,前部分配置流程如串口数据收发基础(三)节里一样。配置好USART1的基本参数,开启定时器中断后,接下来就要开启USART1的DMA。设置好之后,设置存储路径,选择所用IDE,然后点击GENERATECODE创建工程,openproject打开工程进行全局编译。二.HAL库中串口收发的重要函数(DMA模式) 1.DMA模式下发送数据函数:HAL_UART_Transmit_DMA(UART_HandleTypeDef*hua
板子:野火指南者芯片:STM32f103VET6PWM通道:TIM3的通道1和通道3GPIO:PA6和PB0文章目录前言一、PWM输出1kHz方波的实现1.选一个可以输出PWM的GPIO2.写代码:初始化GPIO3.配置定时器模式4.下载程序观察现象二、呼吸灯的实现1.计算获取PWM数据表2.初始化GPIO3.配置NVIC4.配置TIM3模式总结前言本文主要讲需要怎么做,简要讲解原理,提供全部代码,有利于快速上手。一、PWM输出1kHz方波的实现1.选一个可以输出PWM的GPIO打开STM32f103VET6的芯片数据手册,打开目录Pinoutsandpindescriptions——High
(注:此为乐某学习记录,若有出错的地方欢迎各位指出!)前言本人使用的开发板的芯片是STM32H743XIH6,所以外设也是根据此芯片来介绍。在使用HAL库配置的时候,需要安装STM32CubeMX。此软件可在ST官网下载,剩下的安装步骤比较简单,不会单独出篇进行讲解。STM32CubeMX下载网址:https://www.st.com/zh/development-tools/stm32cubemx.html一、什么是GPIO?可以做什么?GPIO是General Purpose Input/Output的简写,翻译为通用输入/输出。在STM32里是可以对其进行控制或读取的引脚,通俗点讲,可以
从代码写入单片机的方式上去区分主要分为3种:ICP、ISP、IAP一、ICP(InCircuitPrograming):在电路编程,可通过CPU的DebugAccessPort烧录代码,比如ARMCortex的DebugInterface主要是SWD(SerialWireDebug)或JTAG(JointTestActionGroup);ICP主要通过CPU的DAP(DebugAccessPort)烧录代码,下面以ARMCortex-M3/M4为例,展示DebugInterface如下: ARMCortex内部包含了CoreSight调试架构,CoreSight包括调试接口协议、调试总线协议、
Stm32l071原理图:PA11与PA12连接着UNL2803ULN2803是一种集成电路芯片,通常被用作高电压和高电流负载的驱动器。ULN2803是一个达林顿阵列,当输入引脚(IN1至IN8)被连接到正电源时,相应的输出引脚(OUT1至OUT8)将会断开或保持在高阻抗状态。这意味着输出引脚不会提供任何电流或电压输出。当输入引脚被连接到正电源时,通常用于让外部组件(如微控制器或其他逻辑电路)控制输出引脚的状态。如果你想让输出引脚处于活跃状态,你需要将输入引脚连接到地或负电源。当PA11与PA12输入高电平,其对位引脚REALY1和REALY2输出就为低电平,反之输入为低,输出就为高当REAL