030f gpio stm
STM32平衡小车学习笔记
# PID算法 ![image](https://img2023.cnblogs.com/blog/842711/202305/842711-20230527172156341-1222066430.png) **速度与位置串级PID** ![image](https://img2023.cnblo ......
stm32寄存器编程
# stm32编程三种方法 1. 寄存器操作 2. 标准库 3. hal库 .1 寄存器操作 为什么要有位操作?因为STM32本身只支持8、16、32位整体操作,而不下支持单独一位操作。但是实际中有对1位单独操作的需求。 一般是这么做的:读取整个的32位,然后对其中一位做操作后,再整体位写回去。 . ......
proteus仿真stm32f103c8定时器定时1秒遇到的问题
void Timer_Init(void) { /*1.开启时钟*/ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); /*2.选择时基单元时钟*/ TIM_InternalClockConfig(TIM2); /*3.配置时基单元*/ TIM ......
STM32 HAL开发完全指南
关于STM32 IAP升级之为什么APP执行要&0x2FFE0000这个数值的原因 嵌入式软件开发 Carroll University 工商管理硕士 10 人赞同了该文章 如下图所示,这是我目前用的一款CPU:STM32F446RET6,大小是512KB 我的bootloader编译完以后占用 ......
STM32H5移植zbar记录
ZBar是一种流行的二维码扫描和解码工具,它在嵌入式系统中拥有广泛的应用。在嵌入式系统中,我们面临着有限的资源和更严格的性能要求,因此,选择适当的库来完成特定的任务非常重要。 ZBar适用于各种嵌入式平台,包括ARM、x86和MIPS等处理器架构。它可以轻松地整合到各种嵌入式系统中,如智能家居设备、 ......
stm32 编译出的bin文件一定是4字节的倍数吗?
最近在研究固件升级,在烧写内部FLASH时突然产生一个问题编译出的bin文件一定是4字节的倍数吗?如果不是那么以bin文件总长度除以4的方式写入flash就有可能舍掉了最后的余数。 在stack overflow上得到的答案是:正常情况下编译产生的bin文件是4的倍数,但是并不一定是4字节的倍数,4 ......
如何在 macOS 上进行 STM32 开发 All In One
如何在 macOS 上进行 STM32 开发 All In One
网上好多 STM32 的教学视频的开发环境都是基于 Windows 系统的,对 macOS 用户直接劝退了
在 Mac 上安装虚拟机,运行 Windows 系统 ? ......
STM32为何在诸多的单片机中脱颖而出?
1、前言 在STM32之前,都是老大头51,带着它的“小弟们” MSP430、AVR、PIC在单片机界呼风唤雨。那个时候,市场上遍布8位机,大学教材用51入门,个人、企业学单片机基本上也都在用51。 虽然AVR也有一些8位机市场,但与stc带领下的51单片机是完全不能相比的。当然,这个时候也有16 ......
STM32CubeIDE使用相关设置经验
1.修改字体大小 1)Window->Preferences->General->Appearance->Cofors and Fonts,然后在右侧C/C++->Editor->C/C++ Editor Text Font,然后点击右侧的Edit…,修改对应的字体格式即可。 2)快捷方式:Ctrl ......
stm32HAL库中断处理过程(以stm32f4中串口1中断为例)
一、中断过程 前后台系统中,在主程序执行的过程中,中断突然发生,此时主程序停止往下执行,并将CPU的当前状态保持在内核栈中(即:现场保护)。 然后跳转到中断服务函数的入口,并执行中断服务函数,当中断服务函数执行完后,再将之前保存在内核栈中的状态全部进行出栈,将状态恢复到发生中断之前(即:现场恢复), ......
【STM32】新建工程
一、基于寄存器 —— 与51类似,直接配置寄存器 二、基于标准库(库函数)—— 使用ST官方提供的封装好的配置寄存器的库函数 三、基于HAL库 —— 图形化配置初始工程 ,CubeMX... 标准外设库下载,登录ST官网www.ST.com 使用什么型号的芯片就选择哪个, 传送门 ,,https:/ ......
freemodbus移植进STM32(包含HAL库和标准库两种方法)
#freemodbus移植 >基于freemodbus1.6 >使用HAL库 >软件:stm32cubemx stm32cubeide >>后续会更新标准库的移植。以及rtos下的移植(尽量) ##下载freemodbus1.6 这个获取方法网上到处都是,不细说了。 ##cubemx新建工程 新建工 ......
STM32CubeMX创建项目
一、 二、 简单步骤如下: 1.选择芯片 2. 选择使用外部晶振 3.时钟树配置 开发板外部晶振是8MHz STM32F407ZGT6芯片是168MHz 所以SYSCLK 应该是168MHz,下面有显示蓝色的MHz大小的,就是要达到的目标。 4.生成项目配置 代码写在USER CODE BEGIN ......
STM32_11(SPI)
SPI通信 SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线 四根通信线:SCK(Serial Clock)、MOSI(Master Output Slave Input)、MISO(Master Input Slave Output)、 ......
EEI TECHNOLOGY 1294UD 256x48 VFD荧光屏 STM32F103C8T6驱动 记录
所需工具和文件: 1. CubeIDE; 2. 屏幕驱动电路作者制作的CubeMX版STM32F103例程->{ https://pan.baidu.com/s/127tpAvPI5RdVSXkSAMosHw?pwd=2333 } 下载,解压后得到如下内容: 双击.project文件以使用CubeI ......
STM32 CAN过滤器配置详解
路过的小熊~已于 2022-07-31 23:09:16 修改 1 前言 STM32F10X的bxCAN是基本扩展CAN(Basic Extended CAN)的缩写,它支持CAN协议2.0A和2.0B。在CAN协议里,报文的标识符不代表节点的地址,而是和报文的内容相关的。因此,发送者以广播的形式把 ......
据不可靠消息,ST的新一代机皇正式命名为STM32V8系列,搭载Cortex-M85内核
根据以往的传统单片机命名方式: C0, L0, G0, F0 => Cortex-M0内核 F1, L1 => Corterx-M3内核 F2, F3 => Corterx-M3/M4 F4,G4,L4, L4+ => Cortex-M4内核 L5,U5, H5 => Cortex-M33内核 N6 ......
四位阳数码管显示 stm32
#ifndef __LED595_H #define __LED595_H #include "main.h" #define SDI_595 PCout(8) /*1bit数据*/ #define SCLK_595 PCout(9) /*将串行数据锁存到并口驱动LED,一个高低电平变化*/ #de ......
STM32 开发工具集 All In One
STM32 开发工具集 All In One
STM32 的3 种启动模式
自举加载程序 Bootloader
从程序闪存存储器自举
从系统存储器自举
从内部 SRAM 自举
......
关于STM32F103VET6移植LVGL问题记录
MCU : STM32F103VET6编译器:Keil5前言: 打算学习一下LVGL,因此在自己打样的开发板上移植LVGL源码,其中出现了几种错误情况,在此记录一下,也可以提供给各位参考。 一、编译空间不足 ........ .\Objects\Template.axf: Error: L6406E ......
步进电机控制 stm32 hal库版本
步进电机工作原理简介(28BYJ-48) https://www.bilibili.com/read/cv11379422?spm_id_from=333.999.0.0 驱动例程代码 1 #ifndef __MOTOR_H 2 #define __MOTOR_H 3 #include "main. ......
STM32_10(I2C)
I2C通信 I2C(Inter IC Bus)是由Philips公司开发的一种通用数据总线 两根通信线:SCL(Serial Clock)、SDA(Serial Data) 同步,半双工 带数据应答 支持总线挂载多设备(一主多从、多主多从) 使用同步时序可以极大降低单片机对硬件电路的依赖 硬件电路 ......
How to connect to multiple SSD1306 OLED Displays using Raspberry Pi GPIO I2C PIN All In One
How to connect to multiple SSD1306 OLED Displays using Raspberry Pi GPIO I2C PIN All In One
如何使用 Raspberry Pi 的 GPIO I2C PIN 连接多个 SSD1306 OLED 显示器 ......
STM32单片机引脚要职能配置为输入或者输出模式,并不能像51一样准双向,那么如何进行但总线通讯呢?STM32F103C8驱动HTD11示例
如题 随便找个端口举例 对应的程序为 难道需要写之后立即初始化为输入?然后赶紧读?然后再赶紧初始化为输出?再往外写? 是的,还真他妈就是这么傻逼的操作 ......
stm32 cubeide ST7920 12864点阵屏 U8G2移植
准备工作 【通用-移植u8g2准备工作】在cubeide中移植u8g2到STM32的准备工作 源码获取和文件处理 - 不打鱼光晒网 - 博客园 (cnblogs.com) 7920很老了,spi只能接受2.5M的时钟,实际上2M就大概率花屏了,使用硬件spi的话,由于分频系数选择的问题,配置为1M就 ......
一个stm23移植u8g2驱动iic屏SSD1306方案12864的左边竖着两列没有显示的奇怪问题
初始化后画一个方框 u8g2_DrawLine(&u8g2, 0, 0, 127, 0); u8g2_DrawLine(&u8g2, 1, 0, 1, 63);//左边框 u8g2_DrawLine(&u8g2, 0, 63, 127, 63); u8g2_DrawLine(&u8g2, 127, ......
基于stm32实现DS18B20温度检测仿真
一、cubmax设置 PA0作为DS18B20数据口 打开串口1,显示温度信息 时钟树设置72MHZ。 二、程序 头文件 /* USER CODE BEGIN Includes */ #include "DS18B20.h" #include "stdio.h" /* USER CODE END I ......
STM32的RXD能收到自己发出来的东西
遇到一个STM32的串口相关的问题,TXD会每隔500ms往外发一次数据,并且会根据RXD接收到的数据做出反应。这个功能我之前是调过的,表现是正常的,这次调就遇到问题了,那么很自然的想到这次和上次的区别。区别就是上次调试用的是JLink自带的串口,它发不出校验位,这我在另一篇博客里说了。但是我检查了 ......
STM32_6(TIM)
TIM TIM(Timer)定时器 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断 16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时 不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模 ......