STM32系列博客:STM32学习之旅① 开发环境搭建STM32学习之旅② 固件库的使用及工程模板的建立STM32学习之旅③ 从点灯到代码移植STM32学习之旅④ USART串口和上位机通信STM32学习之旅⑤ SPI控制TFT,从底层到底层的设计目录: 文章目录一、认识其本质(一)认识SPI(二)常见显示器(三)TFT优势二、所需材料三、底层建筑(一)模拟SPI(二)硬件SPI1、关于NSS
mqttclient一个高性能、高稳定性的跨平台MQTT客户端一个高性能、高稳定性的跨平台MQTT客户端,基于socket API之上开发,可以在嵌入式设备(FreeRTOS/LiteOS/RT-Thread/TencentOS tiny)、Linux、Windows、Mac上使用,拥有非常简洁的API接口,以极少的资源实现QOS2的服务质量,并且无缝衔接了mbedtls加密库。开源地址:http
在跑马地程序中出现了这样一段宏定义 1: #ifndef _LED_h2: #define _LED_h这里宏定义为什么是两个下划线呢?野火说这样可以防止头文件重复包含,可以避免这个宏标识符与其他定义重名。在标准库中一般不会出现有下划线的宏定义的。“如果在另一个文件中已经包含了该头文件,那么就是已经定义了__LED_H这个变量(#define __LED_H),再一次包含该头文件时,#ifnde
# 如何实现 STM32F 系统架构 在嵌入式开发中,STM32F 系列微控制器以其高性能、低功耗和丰富的外设而受到广泛欢迎。本篇文章旨在帮助刚入行的小白了解如何构建 STM32F 系统架构,并通过简单的步骤和示例代码引导你顺利完成这个任务。以下是整个流程的概述: ## 流程概述 | 步骤 | 描述 | |--
原创 10月前
54阅读
STM32简介分类STM32 从内核上分有 Cortex-M0、M3、M4和 M7 这几种,每个内核又大概分为主流、高性能和低功耗。命名方法以STM32F103VET6 来讲解下 STM32 的命名方法开发板及其原理图博主采用如下开发板进行学习STM32的编程:开发板的原理图如下所示:HAL库一、直接配置寄存器通过汇编语言直接操作寄存器实现功能.STM32的寄存器数量是51单片机的十数倍,如此多的
转载 2023-10-10 10:58:12
111阅读
cmsis全称Cortex Microcontroller Software Interface Standard,就是Cortex微处理器软件接口标准stm32每组gpio有7组端口,分别是2个32位配置寄存器,2个32位数据寄存器,1个32位置位/复位寄存器,1个16个复位寄存器,1个32位锁存寄存器GPIO,general-purpose I/O 通用型输入输出AFIO,Alter
文章目录1. 前言2. 生成 .map 文件3 .map 文件的组成3.1 Section Cross References - 各个源文件之间函数的调用关系3.2 Removing Unused input sections from the image - 移除未使用的模块3.3 Image Symbol Table - 映射符号表:描述各(程序段 / 数据)在存储器中的地址、类型、大小等3
文章目录LittleVGL学习笔记(1)---获取源码实现仿真并移植到STM32一、获取源码二、在visual Studio 上实现仿真三、移植littleVGL 到STM32上总结附录lv_conf.h 源码 一、获取源码注意,以下选用的littleVGL 版本为:v7.7.0提前安装好 Visual Studio 2019安装好 keil MDK在github 上获取源码:https://g
目录标题背景外部IC加密简易MCU端加密MCU端加密优化版ID地址混淆代码混淆校验区混淆固件防修改芯片混淆总结 背景随着嵌入式和物联网的快速发展,越来越多的嵌入式产品推向市场,如何保证产品程序的安全和知识产权不受侵害呢,目前主要有两种方式:MCU端加密和外加加密IC来进行相关的产品和知识产权保护。 最近跟几个朋友讨论了以下相关加密的技巧,在这里分享一下。外部IC加密一般来说就是,在主控芯片和加密
文章目录一、准备工作1.1 软件1.2 硬件二、硬件环境搭建2.1 开发板供电2.2 下载器连接三、创建Cube工程3.1 选择芯片型号3.2 配置时钟源3.3 配置程序下载和调试端口3.4 配置GPIO引脚3.5 配置时钟树3.6 生成工程设置3.7 代码生成设置3.8 生成代码工程四、使用MDK编程4.1 打开工程及配置4.2 编写用户代码4.2 编译代码4.3 下载运行4.4 实验现象 一
            任务:输入捕获 脉冲测距。  STM32 的定时器,除了 TIM6 和 TIM7,其他定时器都有输入捕获功能。       STM32定时器检测是否有信号,若有信号(上升沿),则定时器开始计时,直至检测到下降沿计时
以下以STM32F407ZGT6为例说明。 STM3232位的芯片,意味着有从0x00000000~0xFFFFFFFF 4G也就是32位的寻址空间,在设计芯片的时候,采用的是ARM所设计的架构,ST(意法半导体)公司在基于ARM的对芯片添加了自己的外设。注意:这里是一个地址空间存放一个字节,即1Byte  ARM规定:Vendor-specific memory 511MB 存放特定厂商的代码
转载 1月前
408阅读
stm32f103有的型号引脚多,可以多达144!。所以进一步优化程序。思路:把跟引脚操作功能相关的函数专门放到“stm32f10x_gpio.h”和“stm32f10x_gpio.c”这两个函数里。有点像模块化编程,大家可以参考视频。 https://www.bilibili.com/video/av59966686 所以我们又要新建两个文件,放进文件夹即可。 再添加到keil工程中,这边添加有
转载 2024-01-27 23:57:02
0阅读
基于stm32的水质监测系统项目基础部分详细记录软件环境:MDK5硬件环境:STM32F103ZET6 开发板、颜色传感器、串口屏、串口打印机 搭建工程模板 在进行项目软件的撰写时,首先新建一个基于该项目的工程模板。对于初学者,很多都是直接用开发板提供商提供的现成的工程模板,但是那样的工程模板在项目开发中体态略显臃肿,而且如果直接用别人的工程模板,那么很多搭建工程模板的库文件的用法和功能
目录O、前言1 个人经验2 软硬件介绍一、六步换相1 新建cubemx工程2 工程基础配置(1)RCC时钟配置(2)SYS 调试接口(3)工程设置,生成MDK工程3 串口(1)cubemx配置(2)printf重映射(3)测试4 霍尔传感器(1)Cubemx配置(2)初始化启动(3)测试定时中断(4)测试霍尔中断4 开环控制(1)普通PWM cubemx配置(2)普通GPIO配置(3)开环控制二
转载 2024-02-20 11:10:50
780阅读
C语言基础位操作对基本类型变量可以在位级别进行操作。1) 不改变其他位的值的状况下,对某几个位进行设值。先对需要设置的位用&操作符进行清零操作,然后用|操作符设值。2) 移位操作提高代码的可读性。3) ~取反操作使用技巧可用于对某一位取0,也是为了提高可读性。define宏定义常见格式:#define 标识符 字符串ifdef条件编译常见格式:#ifdef 标识符 程序段1 #else
# 深度学习模型在STM32F103RC上的应用 深度学习在近年来取得了巨大的成功,在各种领域都有着广泛的应用。而随着物联网的发展,越来越多的设备需要具备深度学习能力,包括一些嵌入式设备。本文将介绍如何在STM32F103RC单片机上实现深度学习模型的部署和运行。 ## STM32F103RC简介 STM32F103RC是意法半导体推出的一款ARM Cortex-M3内核的微控制器,具有丰富
原创 2024-04-24 03:51:03
401阅读
网站: STM3210C-EVAL STM32F107VCT 微控制器评估板开发工具 原装 ST1. STM3210C-EVALSTM32F107VCT STM3210C-EVAL 评估板是一个完整的开发平台,针对基于 ARM Cortex-M3 核心的 STM32F107VCT 微控制器。 该块板有助于您评估所有的外围设备(USB-OTG FS、以太网、电机控制、CAN、microSD Ca
# STM32部署深度学习的指南 在嵌入式开发日益普及的今天,STM32作为一款高性能、低功耗的单片机,越来越多地应用于深度学习相关的项目中。对于刚入行的小白,可能会对如何在STM32部署深度学习模型感到迷茫。本文将为你提供一份详细的部署指南,让你在STM32上成功运行深度学习模型。 ## 整体流程 以下是将深度学习模型部署STM32的基本步骤: | 步骤 | 描述
原创 2024-09-16 04:19:12
891阅读
文章目录1.PID原理1.1 P I D三个参数简单理解1.2 P I D1.3 PI PD PID适用系统2.串级PID原理3.PID代码3.1 单级PID3.1.1 初始化PID结构体3.1.2 单级PID计算3.1.3PID初始化3.1.4 清空PID3.2 串级PID3.2.1 初始化串级PID结构体3.2.2 串级PID计算4.PID的使用4.1 定义PID结构体并初始化4.2 定义电
  • 1
  • 2
  • 3
  • 4
  • 5