STM32
文章平均质量分 73
菜鸟江多多
这个作者很懒,什么都没留下…
展开
-
【STM32下载神坑】
使用STM32H750XB板载ST LINK,使用cubeprogrammer在烧写了 linux之后 无法使用任何软件烧写,共同点是都可以识别芯片。最后 最后,居然是ST LINK固件的问题,开始没有动过固件,咋就没用了,这是我万万没想到的。描述: MDK可以识别到芯片,但是死活下载不进去(不是什么低级的设置错误)最开始以为芯片有写保护,复位啥的全部试过了,该用的软件业全用了。使用cubeprogrammer更新固件就好了。原创 2023-10-07 23:27:46 · 126 阅读 · 0 评论 -
读取SD卡图片bin文件显示LCD上
STM32H750XBH6 的flash只有128K,存储图片数组显然是不够的,使用sd卡存储图片的二进制bin文件,读取文件并显示在lcd上,这里不使用硬解码图片,还没有学习到,另外读取sd卡的bin文件还可以做一个简易bootloader,直接sd卡启动是吧,学习这部分还是有必要的以下分为两个部分进行,原创 2023-08-26 19:40:12 · 870 阅读 · 0 评论 -
环形缓冲区(1)
声明:参考韦东山视频教程,如若侵权请告知,马上删帖致歉,个人总结,如有不对,欢迎指正。环形缓冲区环形缓冲区的几个基本操作申请内存空间写操作读操作环形缓冲区小结判断缓冲区是否为空判断缓冲区是否写满为什么要使用环形缓冲区?认识环形缓冲区以及实现原理1环形缓冲区实现原理2再来认识一下环形缓冲区环形缓冲区环形缓冲区总结避免频繁的内存创建取消、分配。内存一直只用了一块在通信程序中,经常使用环形缓冲区作为数据结构来存放通信中发送和接收的数据。环形缓冲区是一个先进先出的循环缓冲区,可以向通信程序提供.原创 2021-09-30 09:37:16 · 701 阅读 · 1 评论 -
ESP8266组网+STM32数据传输项目
ESP8266+STM32数据传输项目实验硬件:项目关键词:项目描述项目涉及知识:1.ESP8266开发2.MQTT协议3.STM32整体开发流程:实验硬件:ESP8266 nodemcuESP01SDHT11杜邦线若干项目关键词:ESP8266多设备组网web配网mqtt协议stm32数据处理项目描述使用两块ESP8266通过MQTT协议组网并实现数据传输,ESP8266nodemcu采集传感器数据并发送至ESP01s,ESP01s将接收到的信息通过串口打印,STM3.原创 2021-09-27 16:53:03 · 3223 阅读 · 0 评论 -
MDK中变量无法添加到逻辑分析仪中原因
MDK中变量无法添加到逻辑分析仪中原因解决方法去掉static提示无法将变量添加到逻辑分析仪中解决方法去掉static设置为bit全速运行原创 2021-09-16 15:33:28 · 2078 阅读 · 1 评论 -
FreeRTOS之——链表
链表什么是链表???单链表(最基本链表结构)循环链表双向循环链表链表的插入链表的删除链表插入与删除代码实现1)定义节点和链表2)初始化节点和链表3)链表的插入4)链表的删除在FreeRTOS中链表的表示list.h 中节点的定义链表的定义list.c中链表初始化节点的初始化节点插入链表链表删除节点什么是链表???可以结合数组来看,链表和数组差不多,数组是连续存储,不能动态扩展,删除,链表:可以把零散的空余空间串联起来,内存利用率高,有数据增加就串联更多的空间,有数据减少就删除多余的空间链表由.原创 2021-09-03 11:46:42 · 2032 阅读 · 0 评论 -
MDK编译过程
mdk编译过程编译:链接:下载,在使用stm32的时候,基本上都会用到mdk,而编译仅仅只需要一个按钮,实际上编译过程是比较繁琐的,在使用linux对文件编译时候就得自己写makefile了,了解下编译的过程有助于更好的进阶linux。编译:在工程中存在的.c文件和.s文件是由我们自己编写的(.s官方提供),我们把自己编写的文件也称为源文件,也叫作源代码,通过编译器,.c文件使用armcc编译器 .s文件使用armasm编译器 编译成对象代码.o文件其内容主要是从源文件编译得到的机.原创 2021-08-06 09:40:01 · 309 阅读 · 0 评论 -
无线控制小车项目模块(三)
基于esp8266无线控制模块应用:MQTT发布主题智能wifi小车项目说明:使用两块esp8266建立通信,加入了mqtt协议,esp8266发送方通过按键发布信息(手柄作用)esp8266作为接收方,接收订阅主题所发来的信息并通过串口打印数据,stm32作为主控,控制两个车轮的前进后退,左转右转,并做好串口接收的执行功能完整项目分为三个模块1,esp8266发送方(用于控制小车) 类似遥控装置跳转链接2,esp8266接收方(接收发送方的消息) 类似接收装置跳转链接3.原创 2021-07-24 14:45:34 · 1444 阅读 · 0 评论 -
第十届蓝桥杯嵌入式(省赛)程序题
第十届蓝桥杯(省赛)程序设计解读:参照第七届蓝桥杯省赛设计思路陈述:(一步一步来,做大做强,再创辉煌)各模块程序设计:LCDKeySysTick_Handler参数保存整体程序设计如下:解读:参照第七届蓝桥杯省赛设计第七届蓝桥杯嵌入式省赛link多读任务要求,多读任务要求,多读任务要求,需要用到哪些外设?功能如何设计?这两届的省赛差别不大(客观上来说这届的更简单)第七届是采集R37模拟电压,设置阈值(按键可调),液位等级实时显示,i2c总线上的AT24C02保存第十届是采集R.原创 2021-07-01 13:23:24 · 1029 阅读 · 0 评论 -
第七届蓝桥杯嵌入式(国赛)程序题
第七届蓝桥杯(国赛)解读+程序任务书:分析:大体流程1.LCD显示2.实时时钟3.ADC采集(模拟温度)4.定时器输出比较(可调频率),输入捕获(模拟湿度)5.按键功能+采样周期+设置参数存储6.串口功能+存储7.报警功能程序整体设计完整工程下载任务书:先多读几遍任务书要求,需要用到哪些外设?需要实现哪些功能?各功之间如何较好的关联?分析:任务书中自我感觉有两个稍废时间的功能,1.湿度的采集2,保存六十组数据并更新 后面重点讲解大体流程1.LCD显示2.实时时钟3.AD.原创 2021-06-26 12:56:37 · 1404 阅读 · 0 评论 -
STM32 RS232通信实验
stm32F103 RS232通信实验什么是RS232?软件设计完整工程下载什么是RS232?先来看看UART传输所存在的问题于是就有了RS232协议这里注意使用的是负逻辑电平信号,在规定范围内的电平信号代表逻辑1或0,增加了抗干扰能力。(电平的转化由硬件设计,TTL信号转232信号,常用的芯片有ST3232ECTR,MAX3232)RS232能够弥补串口的一些不足,像传输距离,抗干扰能力,等都有提高。RS232存在的不足,于是就有了RS485(下一篇讲解)软件设计和串口.原创 2021-05-30 14:50:16 · 6564 阅读 · 3 评论 -
STM32 串口通信实验
stm32串口通信实验UART通信实验(通用异步收发器)UART串口通信原理:UART的通信过程实验功能:软件设计:完整工程下载实验器材:F103开发板 F407开发板 USB转RS232母线 USB转RS485线在F103环境下进行UART通信实验和RS232通信实验在F407环境下进行RS485实验(1.我的103板子没有485口,2.正好看下开发板环境不同的差异)UART通信实验(通用异步收发器)UART串口通信原理:什么是串行通信?什么是异步通信?什么是全双工?什么是串行.原创 2021-05-29 15:59:54 · 3164 阅读 · 0 评论 -
C语言中条件编译
C语言中条件编译语法一:示例(第一种形式)示例(常用示例)语法二:示例语法三:示例:语法一:#define 宏名#ifdef 宏名 //if define程序块一#else程序块二#endif第一种形式,如果宏名定义,则执行程序块一,将宏名注释掉则执行程序块二第二种形式,如果宏名定义了则执行程序块二,将宏名注释掉则执行程序块一示例(第一种形式)示例(常用示例)在配置定时器的时候常常会选择不同的定时器,我们把需要更改的参数设置成宏,在.h文件中条件编译即可减少原创 2021-05-22 12:09:37 · 237 阅读 · 0 评论 -
蓝桥杯STM32F103RB扩展板DS18B20
STM32F103RB扩展板(温度检测+LCD显示)硬件电路程序设计main.c完整工程下载DS18B20介绍(转载)link硬件电路程序设计#include "stm32f10x.h"#include "ds18b20.h"#define delay_us(X) delay((X)*72/5)void delay(unsigned int n){ while(n--);}void ds18b20_init_x(void){ GPIO_InitTypeDef G.原创 2021-05-21 20:51:09 · 320 阅读 · 0 评论 -
STM32F1系列特殊引脚详解+用作普通io配置
STM32F1系列特殊引脚详解+用作普通i配置示例配置示例PB4特殊引脚详解点击(转发)link(必读)配置示例PB4void BUZ_Init(void){ GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //复用时钟使能,开启AFIO时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); .原创 2021-05-19 11:26:08 · 1749 阅读 · 0 评论 -
蓝桥杯STM32F103RB扩展板DHT11
STM32F103RB扩展板(DHT11+LCD显示)**一、DHT11基础储备****二、协议及数据格式****三、操作时序**四,接收数据组成(偶校验)五,奇偶校验(偶校验同理)六,程序设计七,main.c完整工程下载>>[GitHub](https://github.com/HDJ1839822/Github.git)一、DHT11基础储备DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,内部由一个 8 位单片机控制一个电阻式感湿元件和一个 NTC 测.原创 2021-05-14 17:22:08 · 864 阅读 · 1 评论 -
STM32彩灯控制器
彩灯控制器程序设计#include "key.h"#include "led.h"#include "lcd.h"#include "usart.h"unsigned long ulTick_ms; //SysTick_timunsigned char ucState=1 ,pucStr[21]; //lcdunsigned char ucLed, ucLd2, ucLd3; //ledunsigned char ucKey_Long;.原创 2021-05-14 16:21:36 · 1867 阅读 · 2 评论 -
蓝桥杯STM32F103RB扩展板ADC按键
STM32F103RB扩展板(ADC按键+数码管)原理图:计算公式软件设计ADC初始化按键扫描main.c程序完整工程下载>>[GitHub](https://github.com/HDJ1839822/Github.git)实验功能:使用ADC按键(8个),键入值分别代表1-8,在三个数码管上通过键入值向左移动显示eg:默认数码管不显示,第一次键入3,在第一个数码管上显示3第二次键入8,第一位数码管显示8,第二位数码管显示3第三次键入6,第一位数码管显示6,第二位数码管显示8,第.原创 2021-05-10 22:43:41 · 699 阅读 · 0 评论 -
STM32普通io口模拟pwm输出的三种方法
STM32F103RB普通io口模拟pwm输出的第三种方法(周期占空比可调)第(一)种定时器中断产生pwm`第(一)种代码片`第(二)种比较+周期中断`第(二)种代码片`第(三)种系统滴答定时器(这里和第一种原理一样,不作讲解)完整工程下载>>[GitHub](https://github.com/HDJ1839822/Github.git)第(一)种定时器中断产生pwmio口如何产生一个pwm???,无非就是做一个高低电平周期性的变化,这种思想很重要,确定频率就可以确定周期(T=1.原创 2021-05-05 16:54:48 · 20132 阅读 · 4 评论 -
蓝桥杯STM32F103RB通用定时器功能(三)输入捕获
STM32F103RB通用定时器功能(三)输入捕获`TIM3的PWM产生代码片``TIM4的输入捕获代码片``TIM4的中断服务函数代码片``mian.c完整代码片`完整工程下载>>[GitHub](https://github.com/HDJ1839822/Github.git)实验功能:TIM3_CH3_CH4分别产生占空比为 60%,80%的波形,(PC8,PC9)使用TIM4_CH2进行捕获通过串口打印出占空比和频率。TIM3的PWM产生代码片void TIM3_PWM_.原创 2021-05-05 15:39:14 · 461 阅读 · 2 评论 -
第七届蓝桥杯嵌入式(省赛)程序题
第七届蓝桥杯(省赛)解读+程序解读:这里自己多读几遍设计任务以及要求再看下面`A):先搭总体框架`各初始化函数:`LCD初始化``按键初始化``ADC初始化``i2c初始化``USART2初始化``LED初始化`注:仅展示部分初始化函数,完整程序请下载工程查看`B):LCD处理函数``C):按键处理函数``D):ADC处理函数``E):UART处理函数``F):LED处理函数``G):整体程序设计参考`解读:模拟液位检测系统中,实验设计任务要求:依据实验设计任务,所要用到的片内,.原创 2021-05-03 00:11:04 · 1198 阅读 · 1 评论 -
蓝桥杯STM32F103RB数码管计时(秒表)
STM32F103RB数码管定时(秒表)`配置TIM2及其中断代码片如下(示例)``中断执行函数代码片如下(示例)``seg.c(数码管)代码片如下(示例)`完整工程下载>>[GitHub](https://github.com/HDJ1839822/Github.git)实验功能:三位数码管实现十分钟计时,最左边数码管显示分钟数,中间和右边的数码管显示秒数。配置TIM2及其中断代码片如下(示例)void TIM2_NVIC(void) { NVIC_InitTypeDef N.原创 2021-04-29 17:14:38 · 5088 阅读 · 1 评论 -
蓝桥杯STM32F103RB通用定时器(二)比较输出
STM32F103RB通用定时器功能(二)输出比较产生PWM`配置TIM3 代码片如下(示例)``配置GPIO 代码片如下(示例)``完整代码如下(示例)``进行软件仿真验证`完整工程下载>>[GitHub](https://github.com/HDJ1839822/Github.git)实验功能:用TIM3_CH3_CH4实现,占空比为CH3(25%) CH4(50%)的方波,并使用软件仿真的方式进行验证本实验采用 TIM3的完全重映像,查找数据手册可以知道对应引脚(完全重.原创 2021-04-29 16:27:47 · 725 阅读 · 0 评论