USB学习笔记 USB学习笔记 2025-03-20 嵌入式 USB,通信协议 自定义printf格式化输出 很多时候,我们需要使用printf打印日志,数据,在嵌入式中,往往需要将串口输出、USB输出、屏幕打印重定向到C标准的printf中,在不同的编译器上重定向的方式不同,移植起来有些麻烦。所以直接定义一个属于自己的printf,可以套用在US 2024-12-16 嵌入式 调试 STM32F407一般外设IO分配 概述stm32f407主要通信外设的io分配和复用预览。之前做工创赛整理的,又用AI处理了一下,方便查看。 引脚复用一览串口 (USART) USART TX 引脚 RX 引脚 复用功能 (AF) USART1 PA9, PB6 2024-08-13 嵌入式 STM32 FATFS文件系统常用函数记录 Fatfs 文件系统函数使用记录FatFs 文件系统 1、f_open 打开/创建文件FRESULT f_open ( FIL* fp, /* [OUT] Pointer to the file object s 2024-08-13 嵌入式 文件系统 Ubuntu上使用CLion+cubemx+openocd开发STM32 在 Linux 下开发 STM32,使用 Clion 和 Cubemx 开发,openocd 调试,关于芯片下载,编译器选项,代码起始内容都需要自行通过工程的配置文件修改,不依靠 keil5 的 IDE 选项界面,用起来虽然说麻烦了点,但对于整个单片机系统启动、运行、配置的相关内容来说,学习起来会更深入些。 2024-07-15 嵌入式 STM32 Ubuntu CLion STM32 I2C教程 STM32 I2CI2C简介I2C(Inter-Integrated Circuit,集成电路总线)是一种通用的总线协议。由Philips公司(2006年迁移到NXP)在1980年代初开发的一种简单、双线双向的同步串行总线,它利用一根时钟线 2023-10-08 嵌入式 STM32,标准库,I2C STM32定时器功能介绍 TIM定时器定时器 (Timer) 最基本的功能就是定时了,比如定时发送USART 数据、定时采集 AD 数据等等。如果把定时器与 GPIO 结合起来使用的话可以实现非常丰富的功能,可以测量输入信号的脉冲宽度,可以生产输出波形。定时器生产 2023-10-01 嵌入式 STM32 Tim定时器 STM32 Systick定时器延时 Systick定时器延时一、系统定时器 1. 目的Systick定时器常用来做延时,或者实时系统的心跳时钟。这样可以节省MCU资源,不用浪费一个定时器。 2. 简介SysTick 叫做系统滴答时钟、系统定时器,属于 Cortex-M4内核中 2023-10-01 嵌入式 STM32 Systick定时器 STM32PID学习 PID教程 一、学习目的PID(比例-积分-微分)是一种经典的闭环控制算法,其采用反馈的控制回路机制,用于自动调整系统的输出以接近设定点,,广泛用于工业控制系统和需要连续调制控制的其他各种应用中。它有三个组成部分:比例项Kp(根据当前误差 2023-10-01 嵌入式 STM32 PID控制 Keil5-debug仿真教程 Keil5-debug仿真教程 一、学习目的 Debug 是指在软件开发过程中,通过识别和解决问题来调试程序的过程。通常需要找出程序中的错误、异常或潜在问题,并修复它们以确保程序的正确性和稳定性。 常见的debug方法有三种: ==硬件调试 2023-10-01 嵌入式 STM32 Keil5 STM32DMA学习 DMA中断实现目的 DMA用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。 中断是指CPU在执行程序的过程中,出现了某些突发事件时CPU必 2023-10-01 嵌入式 STM32 DMA Keil5的魔法棒选项简介 Keil5的魔法棒选项简介Device 这个页面功能较为简单,左上方分别显示供应商、芯片类型、工具集,右上方pack为当前使用的芯片包的版本号,URL为arm芯片包的下载地址(魔法上网访问)。中间带有一个搜索框可供检索。下方左侧是目前支持 2023-10-01 嵌入式 STM32 魔法棒