一、GPIO基本资料 GPIO为通用输入输出口,可配置8种输入输出模式,引脚电平为0~3.3V(部分可容忍5V)。 输出模式下可控制端口输出高低电平,以驱动LED,控制蜂鸣器,模拟通信协议输出时序(I2C,SPI)等。 输入模式下可读取端口的高低电平或电压,以读取按键输入,外接模块电平信号输入,ADC电压采集,模拟通信协议接收数据等。二、GPIO结构 图一 图二图三 如图一,STM32中,所有GPIO挂载在APB2总线上。按GPIOA,GPIOB,GPIOC…命名,每GPIO外设16引脚(0~15/PX0~PX15)。 如图二,寄存器是特殊的储存器,内
目录一、何为最小系统?二、最小系统电路设计1.电源(1)各种名词解释(2)为什么会有VDD_1_2_3区分?(3)MircoUSB(4)5v->3.3v滤波电路(5)电源指示灯2.复位电路(1)什么是复位(2)复位引脚和电路3.晶振模块(1)复位引脚(2)时钟和时钟树(3)为什么不直接使用内部8M时钟源?(4)8MHz主晶振介绍(5)为什么选择32.768KHzRTC晶振?(6)晶振原理图4.程序下载口(1)JTAG下载:(2)SWD下载:(3)串口下载:(4)程序下载口原理图编辑5.启动方式(1)三种启动方式:(2)启动原理图一、何为最小系统?最小系统板就是一个最精简的电路,精简到只能维持
gcc-arm-none-eabi工具链+MinGW+gitbash/powershell实现win10下stm32程序编译1它们之间的关系1.1gcc-arm-none-eabi工具链gcc-arm-none-eabi是一个用于嵌入式系统开发的工具链,它提供了一套用于编译、汇编和链接ARMCortex-M架构的代码的工具和库,如gcc,ar等。说白了,.c文件就是通过gcc-arm-none-eabi编译成了可执行文件1.2MinGWMinGW(MinimalistGNUforWindows)是一个在Windows环境下使用GNU工具集进行软件开发的开发环境。它提供了一系列的开发工具和库,使
前言 本文以初学者角度切入,详细剖析按键检测原理,实现按键短按、短按抬起、首次长按、持续长按次数、长按抬起功能;目录前言波形图分析抖动原因为什么要消抖如何消抖原理图分析程序设计思路代码实践按键配置按键检测实验结果留下反思波形图分析 如图为按键按下→释放过程的波形图可以从图中看到,实际波形在按下与释放时都有一段杂乱的波形,期间存在着多次高电平与低电平,这就是抖动。抖动原因 机械原因:由于按键内部构造常为弹簧、金属弹片等接触器件,当按键按下或释放时,这些器件的反弹、震动等原因导致瞬时的接触和断开,从而产生抖动; 电气原因:电路噪声、环境干扰、电容充放电等因素
在目前的模型训练范式中,偏好数据的的获取与使用已经成为了不可或缺的一环。在训练中,偏好数据通常被用作对齐(alignment)时的训练优化目标,如基于人类或AI反馈的强化学习(RLHF/RLAIF)或者直接偏好优化(DPO),而在模型评估中,由于任务的复杂性且通常没有标准答案,则通常直接以人类标注者或高性能大模型(LLM-as-a-Judge)的偏好标注作为评判标准。尽管上述对偏好数据的应用已经取得了广泛的成效,但对偏好本身则缺乏充足的研究,这很大程度上阻碍了对更可信AI系统的构建。为此,上海交通大学生成式人工智能实验室(GAIR)发布了一项新研究成果,对人类用户与多达32种流行的大语言模型所
文章目录前言一、HAL库的本质1.1HAL库的本质是操作寄存器1.2自己实现HAL_GPIO_WritePin寄存器通过寄存器的操作点灯代码概况Portbitset/resetregister寄存器总结前言在嵌入式系统开发中,HAL(HardwareAbstractionLayer)库是一个重要的概念,它提供了一个抽象层,使开发者可以更容易地编写可移植的代码,而不必担心底层硬件的细节。STM32CubeMX是一款由STMicroelectronics提供的工具,用于生成STM32微控制器的初始化代码,其中包括了HAL库的使用。HAL库的本质与HAL库源码分析HAL库的本质是一个由供应商提供的软
目录一、内部Flash简介二、内部Flash构成1.主存储器2.系统存储区3.选项字节三、内部Flash写入过程1.解锁2.页擦除3.写入数据四、工程空间分布某工程的ROM存储器分布映像:1.程序ROM的加载与执行空间2.ROM空间分布表一、内部Flash简介 STM32芯片内部有一个Flash存储器,主要用于存储代码,我们在电脑上编写好应用程序后,使用下载器把编译后的代码文件烧录到该内部Flash中。由于Flash存储器的内容在掉电后不会丢失,芯片重新上电复位后,内核可从内部Flash中加载代码并运行。由于访问内部Flash的速度要比外部的SPI-Flash快得多,所以在紧急状
这里写目录标题一、ADC简介(了解)1.1,什么是ADC?1.2,常见的ADC类型1.3,并联比较型工作示意图1.4,逐次逼近型工作示意图1.5,ADC的特性参数1.6,STM32各系列ADC的主要特性二、ADC工作原理(掌握)2.1,ADC框图简介(F1)2.2,参考电压/模拟部分电压(战舰为例)2.3,输入通道(F1为例)2.4,转换序列(F1为例)2.5,触发源(F1)2.6,转换时间(F1)2.7,数据寄存器(F1)2.8,中断2.9,单次转换模式和连续转换模式2.10,扫描模式三、单通道ADC采集实验(熟悉)3.1,实验简要(了解)3.2,ADC寄存器介绍(了解)3.3,单通道ADC
一、联网应用的发展趋势随着互联网技术的普及和物联网应用的兴起,各种设备和系统开始向互联网靠拢,实现互联互通。在这样的背景下,嵌入式系统的联网需求变得愈发迫切。传统的嵌入式系统往往只需实现单机功能,与外界通信的方式也大多是基于串口通信或者局域网通信,而现在越来越多的嵌入式系统需要实现与互联网的通信,实现远程监控、数据采集、远程升级等功能。因此,对于嵌入式开发者来说,如何在STM32等常见的嵌入式开发平台上实现联网功能成为一项重要的技术挑战。二、在STM32平台下实现联网功能的方法和技术实现嵌入式系统的联网功能,通常需要考虑以下几个方面的内容:接入互联网的方式、网络协议选择、数据传输安全、远程管理
第1部分:使用ESP32构建强大的TCP服务器和客户端介绍欢迎来到我们关于ESP32上的实际应用和高级主题的详细系列的第一部分。我们首先关注开发TCP(传输控制协议)服务器和客户端,这是物联网中网络通信的基石。本节将涵盖TCP通信的基本知识,如何在ESP32上设置TCP服务器和客户端,并通过实际代码示例演示它们的交互。了解IoT中的TCPTCP是一种面向连接的协议,可确保设备在网络上可靠传输数据,因此非常适用于需要保证数据包传递的应用程序。在IoT中使用TCP的重要性:确保数据的完整性和顺序,对于数据记录、远程设备控制等应用至关重要。适用于需要保持持续连接以进行数据交换的应用程序。TCP服务器