自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(312)
  • 资源 (1)
  • 收藏
  • 关注

原创 STM32F1之内部FLASH存储

STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分,通过闪存存储器接口(外设)可以对程序存储器和选项字节进行擦除和编程。类型起始地址存储器用途ROM程序存储器Flash存储C语言编译后的程序代码系统存储器存储C语言编译后的程序代码选项字节存储一些独立于程序代码的配置参数RAM运行内存SRAM存储运行过程中的临时变量运行内存SRAM存储各个外设的配置参数内核外设寄存器存储内核各个外设的配置参数。

2025-01-16 08:59:20 616

原创 嵌入式Linux(二)·配置VMware使用USB网卡连接STM32MP157实现Windows、Ubuntu以及开发板之间的通信

文章详细介绍了Ubuntu的联网模式,并且通过桥接和NAT双网卡的方式实现Windows、Ubuntu以及开发板之间的通信

2025-01-04 15:04:01 1131

原创 嵌入式Linux(一)·使用 MobaXterm 远程登录 Ubuntu、通过FileZilla 在 Windows 和 Ubuntu 之间传文件以及解决SSH无法访问的问题

本文使用 MobaXterm 远程登录 Ubuntu、通过FileZilla 在 Windows 和 Ubuntu 之间传文件以及解决SSH无法访问的问题

2025-01-04 14:57:24 637

原创 Git快速入门(五)·Git分支操作(查找git branch -v、创建git branch、切换git checkout、合并git merge),Git分支合并冲突的解决方法

git分支的使用查看git branch -v、创建分支git branch 分支名、切换分支git cheeckout 分支名、合并分支git merge 分支名以及合并冲突的解决方法

2025-01-01 05:00:00 1291

原创 Git快速入门(四)·Git常用命令(git init/status/add/reflog/logreset)

git init 初始化本地库、git status 查看本地库状态、git add 文件名 添加到暂存区、git commit -m “日志信息” 文件名 提交到本地库、git reflog/log 查看历史记录、git reset --hard 版本号 版本穿梭

2024-12-31 06:00:00 678

原创 Git快速入门(三)·远程仓库GitHub以及Gitee的使用

文章简单介绍了github和gitee的图形化配置,指令配置可参考文末链接

2024-12-31 05:00:00 1551

原创 Git快速入门(二)·本地仓库·GitHubDesktop的使用

介绍了 Git 的基础操作知识。在仓库操作方面,详述了本地仓库创建的三种方式、创建后的 UI 界面元素功能,以及删除仓库的两种形式 —— 软件删除(仅从软件移除,本地文件仍存)和本地删除(彻底从本地清除,可回收站找回);文件操作涵盖添加(创建文件后数据自动同步)、修改(备注提交后可比对更新,还能查看历史记录)与删除操作;分支原理部分阐述其为解决文件修改查找难、多人提交冲突问题,各分支能独立开发;分支操作则展示了项目分工下创建分支、在分支内创建文件、查看分支特有历史记录,以及合并分支文件至主分支的流程;

2024-12-30 06:00:00 1044

原创 Git快速入门(一)·Git软件的安装以及GitHubDesktop客户端的安装

Git 是一个免费的、开源的分布式版本控制系统。它能够快速高效地处理从小型到大型的各种项目。Git 具有易于学习、占地面积小、性能极快的特点。它拥有廉价的本地库、方便的暂存区域和多个工作流分支等特性,其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。版本控制系统会详细记录文件的每一次修改。例如,在软件开发中,每次程序员对代码文件进行修改并保存时,版本控制系统(如 Git)会记录下修改的时间、修改人以及具体的修改内容。

2024-12-30 04:00:00 2192

原创 C语言菜鸟入门·内存管理calloc()函数、free()函数、malloc()函数

在 C 语言中,内存是通过指针变量来管理的。指针是一个变量,它存储了一个内存地址,这个内存地址可以指向任何数据类型的变量,包括整数、浮点数、字符和数组等。C 语言提供了一些函数和运算符,使得程序员可以对内存进行操作,包括分配、释放、移动和复制等。void * 类型表示未确定类型的指针。C、C++ 规定 void * 类型可以通过类型转换强制转换为任何其它类型的指针。

2024-12-15 10:35:06 616

原创 C语言菜鸟入门·强制类型转换、整数提升、未定义行为详细介绍

C语言的强制类型转换规则,以及为什么出现未定义行为

2024-12-15 10:15:09 1045

原创 Linux进阶·静态库和动态库的使用以及解决动态库无法加载的问题

文章从静态库和动态库的概念,到静态库和动态库的命名规则,再到静态库和动态库的生成详细解析了静态库和动态库时如何使用,以及进行一步步演示,解决动态库在使用过程中所遇到的问题。

2024-12-14 22:00:00 2105

原创 Linux进阶·如何在Ubuntu安装、调试、运行gcc/g++,以及如何进行多文件编译

gcc是Linux下的编译工具集,是GNU Compiler Collection的缩写,包含gcc, g++等编译器。这个工具集不仅包含编译器,还包含其他工具集,例如ar,nm等。gcc是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Objective-C等语言编写的程序。gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合嵌入式领域的开发编译。后缀名所对应的语言.cC源程序C++源程序.mObjective-C源程序。

2024-12-10 23:00:00 2545 1

原创 Linux命令进阶·软链接命令(ln)、查看系统时间命令(date)、自动校准系统时间程序(ntp)

本文详细介绍并演示了:软链接命令(ln)、查看系统时间命令(date)、自动校准系统时间程序(ntp)

2024-12-10 22:00:00 1001

原创 Linux命令进阶·快捷键Ctrl+c/d/r/a/e/l/←/→、如何进行软件安装、systemct命令的使用

Ctrl+c 强制停止快捷键、Ctrl+d 退出或登出快捷键、Ctrl+r 历史命令搜索、Ctrl+a 跳到命令开头、Ctrl+e 跳到命令结尾、Ctrl+键盘左键,向左跳转一个单词、Ctrl+键盘右键,向右跳转一个单词、clear清屏、Ctrl+l清屏、软件安装

2024-12-09 02:00:00 1718

原创 Linux命令进阶·如何修改文件和文件夹权限(chomd命令的使用)、如何修改用户和用户组(chown命令的使用)

文章详细描述了,如何通过chomd命令修改文件和文件夹权限以及如何通过chown命令修改用户和用户组

2024-12-09 01:00:00 996

原创 Linux命令进阶·如何切换root以及回退、sudo命令、用户/用户组管理,getent命令以及解决创建用户不显示问题和Ubuntu不显示用户名只显示“$“符号问题

如何切换root用户,如何回退上一用户,sudo临时授权命令,、用户/用户组管理相关命令详解,以及问题解决(创建用户不显示问题、Ubuntu不显示用户名只显示"$“符号问题),如何查找当前系统有哪些用户和用户组。

2024-12-01 11:51:01 2197 2

原创 嵌入式面试八股文(十一)·FreeRTOS相关题目

FreeRTOS相关面试题

2024-12-01 08:30:16 1113

原创 基于STM32F103的FreeRTOS系列(十五)·中断管理相关

用户可以自定义配置系统可管理的最高中断优先级的宏定义configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY,它是用于配置内核中的basepri 寄存器的,当 basepri 设置为某个值的时候,NVIC 不会响应比该优先级低的中断,而优先级比之更高的中断则不受影响。

2024-11-27 21:00:00 1585

原创 C语言菜鸟入门·关键字·const的用法、volatile的用法

在 C 和 C++ 中,const 是一个关键字,用来声明常量或指示某个值不能被修改。通过使用 const,程序员可以确保某个变量、指针或函数的参数在某些条件下不可被修改,从而增强程序的安全性和可维护性。与volatile合称“cv特性”,指定变量不可被当前线程/进程改变。

2024-11-26 06:00:00 1050

原创 C语言菜鸟入门·关键字·auto的用法、register的用法

在 C 语言中,register 是一个存储类别关键字,用于提示编译器将某个变量存储在寄存器中,以提高访问速度。寄存器是计算机内部速度最快的存储位置,因此,使用 register 关键字声明的变量访问速度可能会更快。register 仅是对编译器的优化建议,编译器可能会忽略这个建议,特别是当系统有较少的寄存器,或者变量本身的访问频率较低时,编译器可能会选择将该变量存储在内存中,而非寄存器。然而,在 C 语言中,局部变量默认就是自动变量,所以写 auto 是没有必要的,编译器会自动推断。

2024-11-26 05:00:00 1017

原创 C语言菜鸟入门·printf格式化打印总结(%d、%i、%hd、%zd、%u、%lu、%o、%x、%f、%E、%g、%c、%s等)

C语言printf格式化打印:%d、%i、%hd、%ld、%lld、%zd、%u、%llu、%lu、%o、%ho、%lo、%llo、%x、%hx、%lx、%llx、%X、%hX、%lX、%llX、%f、%lf、%Lf、%e、%E、%Le、%g、%G、%a、%A、%c、%s、%%、%p、%n

2024-11-25 06:00:00 2120

原创 C语言菜鸟入门·关键字·sizeof的用法

在 C 语言中,sizeof 是一个运算符,用来获取一个数据类型或数据结构在内存中所占的字节数。它是一个编译时运算符,不会在运行时进行计算,而是由编译器在编译时确定大小。sizeof(数据类型)sizeof(任何有效表达式)sizeof会返回该表达式结果的类型大小。

2024-11-25 05:00:00 1701

原创 嵌入式面试八股文(十)·RS485特性分析、CAN硬件同步和再同步遵从规则、SPI四种工作模式、错误帧基本概念

传统协议相关题目,RS485,SPI,CAN总线

2024-11-23 06:00:00 919

原创 C语言菜鸟入门·关键字·union的用法

共用体(union)是一种数据结构,它允许在同一内存位置存储不同的数据类型,但每次只能存储其中一种类型的数据。与结构体不同,结构体中的每个成员都有各自独立的内存空间,而共用体中的所有成员共享同一块内存区域。

2024-11-23 05:00:00 1743

原创 C语言菜鸟入门·关键字·修饰关键字short、long、signed、unsigne详细

short 关键字用于声明短整型变量。long 用来声明一个长整型变量,通常在需要比 int 更大范围的整数时使用。signed 用于声明一个变量是“有符号”的,即可以存储正数、负数和零。unsigned 修饰符指定变量为无符号整数,即该变量不能存储负数。

2024-11-22 06:00:00 1131

原创 C语言菜鸟入门·关键字·float以及double的用法

float 用于声明单精度浮点数变量,适用于需要表示较小范围浮动数值的场景。通常用于科学计算、物理模拟或财务计算等需要小数的应用。

2024-11-22 05:00:00 1321

原创 C语言菜鸟入门·关键字·int的用法

int 是一个关键字,用于声明整数类型的变量。整数是没有小数部分的数字,可以是正数、负数或零。在 C 语言中,int 类型默认是带符号(signed)的,这意味着它可以表示负数、零和正数。

2024-11-21 06:00:00 1254

原创 C语言菜鸟入门·关键字·char关键字

char 是用来声明一个字符类型变量的关键字,表示变量可以存储一个字符(通常是一个字节)。在 C 语言中,char 变量的大小通常为 1 字节(8 位),具体大小取决于平台和编译器。

2024-11-21 04:00:00 893

原创 C语言菜鸟入门·关键字·void的用法

在 C 语言中,void 是一个关键字,用于表示“无类型”或“没有值”。

2024-11-20 05:00:00 1846

原创 基于STM32F103的FreeRTOS系列(十四)·软件定时器

定时器,是指从指定的时刻开始,经过一个指定时间,然后触发一个超时事件,用户可以自定义定时器的周期与频率。相当于一个闹钟,到点干什么。软件定时器并不依赖于硬件定时器的中断信号,而是通过系统定期的时间片或任务调度机制来检查定时器是否到期。当软件定时器到期时,会触发预定的回调函数或执行相应的任务。注意,回调函数不要使用带有阻塞状态的函数。FreeRTOS操作系统提供软件定时器功能,软件定时器的使用相当于扩展了定时器的数量,允许创建更多的定时业务。裁剪:能通过宏关闭软件定时器功能。软件定时器创建。

2024-11-20 04:00:00 1693

原创 基于STM32F103的FreeRTOS系列(十三)·事件

事件是一种实现任务间通信的机制,主要用于实现多任务间的同步,但事件通信只能是事件类型的通信,无数据传输。与信号量不同的是,它可以实现一对多,多对多的同步。configUSE_16_BIT_TICKS定义为0,那么uxEventBits是32位的,有24 个位用来实现事件标志组。一对多同步模型:一个任务等待多个事件的触发,这种情况是比较常见的;多对多同步模型:多个任务等待多个事件的触发。

2024-11-19 09:17:37 752

原创 基于STM32的Printf重定向(串口输出配置)

MicroLIB 是 STM32 的一个轻量级 C 库,它对内存和资源使用进行了优化。它使得 printf 等标准库函数能够在嵌入式系统中正常工作,若是不勾选可能会出现卡死的情况。在标准 C 库中, 定义了与输入输出相关的函数。在这里声明的作用是告诉编译器:在程序中会使用一个名为 printf 的函数,并且该函数的定义将会在其他地方提供。注意到这里重定向已经完成了,下面是一些拓展。

2024-11-19 05:00:00 1131

原创 八万字解析CAN总线协议·从入门到实战保姆级教学(源码可直接移植使用)

CAN总线(Controller Area Network Bus)控制器局域网总线,是由BOSCH公司开发的一种简洁易用、传输速度快、易扩展、可靠性高的串行通信总线,广泛应用于汽车、嵌入式、工业控制等领域。文章带你一步一步了解CAN总线,直到STM32上实战。

2024-11-18 06:00:00 3724 5

原创 嵌入式面试八股文(九)·FreeRTOS与Linux的区别与相同点、多进程与多线程的区别、为什么项目使用多线程

Linux:有丰富的开发工具和庞大的生态系统,支持大量的编程语言(如 C、C++、Python、Java 等),并且有强大的调试、性能分析工具(如 GDB、perf、strace 等)。: 多线程的最大优点之一是线程间能够共享同一进程的内存空间,数据传递和通信效率高,不需要通过复杂的进程间通信机制,这对于一些需要频繁数据交换和共享资源的应用来说,能显著提升性能。Linux:主要支持更高端的硬件,如基于 x86、ARM、PowerPC 等架构的多核处理器,支持复杂的硬件设备和外设。

2024-11-18 05:00:00 939

原创 C语言菜鸟入门·枚举类型·enum的使用详解

枚举是 C 语言中的一种基本数据类型,用于定义一组具有离散值的常量,它可以让数据更简洁,更易读。枚举类型通常用于为程序中的一组相关的常量取名字,以便于程序的可读性和维护性。定义一个枚举类型,需要使用enum关键字,后面跟着枚举类型的名称,以及用大括号 {} 括起来的一组枚举常量。每个枚举常量可以用一个标识符来表示,也可以为它们指定一个整数值,如果没有指定,那么默认从 0 开始递增。enum 枚举名 {枚举元素1,枚举元素2,……};enum DAY这样看起来是不是更简洁了。

2024-11-16 06:00:00 3045

原创 C语言菜鸟入门·常用排序方法(冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序)

C语言常用的排序法方法:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序,详细介绍

2024-11-16 05:00:00 1897

原创 嵌入式面试八股文(八)·单工、半双工、全双工的区别以及常用通讯接口简介

单工、半双工、全双工的区别,同步时钟和异步时钟的区别,以及常用通讯接口详细介绍

2024-11-15 06:00:00 1438

原创 嵌入式面试八股文(七)·#ifndef#define#endif的作用、以及内存分区(全局区、堆区、栈区、代码区)

在条件编译中,一般用来定义一个标识符,以便在后面的代码中进行条件判断,通常用于定义一个标识符,用来标记某些代码块已经被处理过。栈内存的分配遵循“后进先出”的原则(LIFO),即最后被压入栈的变量最先被弹出。栈区的内存是临时的,函数返回后,栈中的局部变量会被销毁。:内存的分配和释放由程序员管理(或者通过垃圾回收机制,如在某些高级语言中)。大小固定,一般在程序编译时就确定。:如在程序中显式赋初值的全局变量,会存放在该区域。:存放程序的机器指令,也就是程序的执行代码。:是只读的,防止程序在运行时修改自己的指令。

2024-11-15 05:00:00 1839

原创 五万字逐步解析CAN总线在STM32F1系列的使用(代码可直接移植)

从物理层逐层解析STM32F103C8T6的CAN外设,以及其如何使用,通过不同模式进行代码的编写,内附源码可直接移植使用

2024-11-14 06:00:00 1256

原创 STM32F1系列CAN外设详解·代码编写(可直接移植)

库函数解读,各模式代码编写,内附源码可直接移植

2024-11-14 05:00:00 843

基于STM32的闹钟系统.zip

基于STM32的闹钟系统

2024-12-20

4×4矩阵键盘资料.zip

4×4矩阵键盘资料

2024-12-20

STM32+DS1302桌面时钟.zip

STM32+DS1302桌面时钟

2024-12-20

TM1637+4位数码管显示模块.zip

TM1637+4位数码管显示模块

2024-12-20

MVR3EBD激光联动.zip

MVR3EBD激光联动

2024-12-20

ULN2003 步进电机加减速正反转.zip

ULN2003 步进电机加减速正反转代码

2024-12-20

TCP调试助手.zip

一款TCP调试助手

2024-12-20

基于GD32使用ESP8266 WIFI通信实验.zip

开发板插上ESP8266 WIFI模块,全速运行,打开电脑上的TCP调试助手,TCP调试助手配成TCP Server,8888端口,打开监听,板子重新上电,板子就会自动登录上来,并发送中文内容

2024-12-20

基于GD32的485通讯实验.zip

485转TTL模块插开发板子上,USB转485模块插电脑,把两个485模块通过杜邦线连接,A跟A连,B跟B连,全速运行,打开电脑串口调试器,9600波特率,8位数据,无校验,1位停止,发送HELLOWORLD,板子会回HELLOWORLD,说明实验成功

2024-12-20

基于GD32的USB虚拟串口通信实验.zip

全速运行,用USB线接MINI USB口,再接电脑,打开电脑上串口调试器,115200波特率,发送HELLOWORLD,板子就会返回HELLOWORLD

2024-12-20

基于GD32的BH170光照强度检测.zip

把O-LED模块插在板子上, PB10<->BH170模块SCL PB11<->BH170模块SDA VCC <->BH170模块VCC GND <->BH170模块GND 全速运行,可以看到液晶屏显示光照强度值,单位lx

2024-12-20

基于GD32的BH170光照强度检测实验.zip

把O-LED模块插在板子上, PB10<->BH170模块SCL PB11<->BH170模块SDA VCC <->BH170模块VCC GND <->BH170模块GND 全速运行,可以看到液晶屏显示光照强度值,单位lx

2024-12-20

基于GD32的5V步进电机正反转实验.zip

用杜邦线连接: 开发板PB0<->模块IN1 开发板PB1<->模块IN2 开发板PB2<->模块IN3 开发板PB5<->模块IN4 开发板+5V<->模块+ 开发板GND<->模块- 下载程序,然后接5V USB供电,按复位,可以看到步进电机先逆时钟转一圈不到,然后再顺时钟转回

2024-12-20

基于GD32的5V步进电机正反转.zip

用杜邦线连接: 开发板PB0<->模块IN1 开发板PB1<->模块IN2 开发板PB2<->模块IN3 开发板PB5<->模块IN4 开发板+5V<->模块+ 开发板GND<->模块- 下载程序,然后接5V USB供电,按复位,可以看到步进电机先逆时钟转一圈不到,然后再顺时钟转回

2024-12-20

基于GD32的SR04超声波测距实验.zip

用杜邦线连接: 开发板3.3V <->模块VCC 开发板PA0脚 <->模块Trig 开发板PA1脚 <->模块Echo 开发板GND <->模块GND 模块灯亮说明电源连接成功,插上液晶 全速运行,可以看到液晶屏温度显示距离(单位CM)

2024-12-20

基于GD32的SR04超声波测距.zip

用杜邦线连接: 开发板3.3V <->模块VCC 开发板PA0脚 <->模块Trig 开发板PA1脚 <->模块Echo 开发板GND <->模块GND 模块灯亮说明电源连接成功,插上液晶 全速运行,可以看到液晶屏温度显示距离(单位CM)

2024-12-20

基于GD32的GPIO输出实验(8M内部晶振).zip

全速运行,可以看到LED D1(PB4引脚驱动)能间隔闪烁,间隔时间1s

2024-12-20

基于GD32的4位数码管显示实验.zip

用杜邦线连接: 开发板3.3V <->模块VCC 开发板A4(单片机PA4)脚<->模块SCLK 开发板A5(单片机PA5)脚<->模块RCLK 开发板A6(单片机PA6)脚<->模块DIO 开发板GND <->模块GND 全速运行,可以看到数码管显示43.21

2024-12-20

基于GD32的4位数码管显示.zip

用杜邦线连接: 开发板3.3V <->模块VCC 开发板A4(单片机PA4)脚<->模块SCLK 开发板A5(单片机PA5)脚<->模块RCLK 开发板A6(单片机PA6)脚<->模块DIO 开发板GND <->模块GND 全速运行,可以看到数码管显示43.21

2024-12-20

基于GD32的DS18B20温度传感器OLED屏显示实验.zip

用杜邦线连接: 开发板3.3V <->模块VCC 开发板PA0脚 <->模块DQ 开发板GND <->模块GND 模块灯亮说明电源连接成功,插上OLED液晶 全速运行,可以看到变量Temperature温度值跟实际温度相同,Temperature单位是度,如果值是16,液晶就显示16度

2024-12-20

基于GD32的红外避障检测实验.zip

用杜邦线连接: 开发板3.3V <->模块VCC 开发板PA0脚 <->模块OUT 开发板GND <->模块GND 全速运行,可以看到液晶屏幕显示障碍物是否有无,如果手接近模块,会显示有,手远离模块,会显示无。

2024-12-20

基于GD32的红外避障实验.zip

用杜邦线连接: 开发板3.3V <->模块VCC 开发板PA0脚 <->模块OUT 开发板GND <->模块GND 全速运行,可以看到液晶屏幕显示障碍物是否有无,如果手接近模块,会显示有,手远离模块,会显示无。

2024-12-20

基于GD32使用华邦W25Q32 SPI FLASH读写实验.zip

用6根杜邦线: 开发板3.3V <->模块VCC 开发板GND <->模块GND 开发板PA4 <->模块CS 开发板PA6 <->模块DO 开发板PA7 <->模块DI 开发板PA5 <->模块CLK 全速运行,可以看到ReadBuff数组8字节内容从FLASH中读出来的内容是0x55,说明写进去读出来没问题

2024-12-20

基于GD32的DS18B20温度传感器液晶屏显示实验.zip

用杜邦线连接: 开发板3.3V <->模块VCC 开发板PA0脚 <->模块DQ 开发板GND <->模块GND 模块灯亮说明电源连接成功,插上OLED液晶 全速运行,可以看到变量Temperature温度值跟实际温度相同,Temperature单位是度,如果值是16,液晶就显示16度

2024-12-20

基于GD32的ADC-DMA实验.zip

PA4口作为ADC采集口,PA4口接地或者接3.3V,PA4口接地,会发现Vol_Value值为0,然后把 PA4口接3.3V,会发现Vol_Value值约为3300(单位mV)

2024-12-20

基于GD32的CAN通信.zip

板子先与CAN转TTL板子用杜邦线对接 PA12 TX-Can转TTL TX PA11 RX-Can转TTL RX GND -Can转TTL GND 5V -Can转TTL VCC Can转TTL与USB转CAN用杜邦线对接,USB转CAN插电脑 全速运行,打开电脑CAN Tool,250k波特率,标准帧,ID:0x321,CAN Tool发送数据,板子就会回同样的数据

2024-12-20

基于GD32的RTC实时时钟.zip

全速运行,时间变量thh(时),tmm(分),tss(秒)每秒都会走

2024-12-20

基于GD32的USART串口通讯.zip

USB转TTL模块与开发板用杜邦线相连,板子PB6接RXD,PB7接TXD,GND接GND,全速运行,打开电脑串口调试器,9600波特率,8位数据,无校验,1位停止,发送HELLOWORLD,板子会回HELLOWORLD,说明实验成功

2024-12-20

基于GD32的IAP实验.zip

实验原理: 1.通过USB转TTL工具,把APP程序(0x8004000起始地址),通过BOOT(0x8000000起始地址)程序烧录到芯片。 2.BOOT程序:主要实现YMODEM协议以及内部FLASH编程,程序烧录完之后,再实现程序跳转。 3.APP程序:APP 生成的APP.Bin文件通过YMODEM协议烧录到APP程序的FLASH地址空间。 4.接线:通过杜邦线把板子与USB转TTL相连,板子PB6,PB7,GND分别于USB转TTL的RXD,TXD,GND相连。 实验步骤: 1.Keil5打开BOOT工程,编译,并烧录BOOT程序。 2.Keil5打开APP程序,编译,生成APP.bin文件,文件在工程Objects目录下。 3.打开Xshell6软件,配置好串口参数,115200波特率,无校验,COM口号是根据电脑自动识别,再点连接。会提示连接成功

2024-12-20

基于GD32移植FreeRTOS实验.zip

全速运行,可以看到LED D1(PB4引脚驱动)能间隔闪烁,说明FREERTOS系统跑起来了,vTaskLED与vTaskLEDFlash这两个任务调度正常

2024-12-20

基于GD32的ESP8266 WIFI通信实验.zip

开发板插上ESP8266 WIFI模块,全速运行,打开电脑上的TCP调试助手,TCP调试助手配成TCP Server,8888端口,打开监听,板子重新上电,板子就会自动登录上来,并发送中文内容

2024-12-20

基于GD32的FWDG看门狗实验.zip

全速运行,如果把main函数中改成delay_1ms(100),200ms喂狗一次,LED能正常闪烁,喂狗正常,如果把改成delay_1ms(1000),2000ms喂狗一次,LED能不能闪烁,看门狗把芯片复位。

2024-12-20

基于GD32的低功耗模式设计.zip

全速运行,可以看到LED会闪烁10秒左右然后停止闪烁,这时已经进入低功耗模式,再去按唤醒按键,会继续闪烁

2024-12-20

基于GD32的内部FLASH读写.zip

全速运行,可以看到,刷写的FLASH地址从0x08004000开始的地址,内容是0x01234567

2024-12-20

基于GD32的EEPROM读写实验.zip

全速运行,查看变量EEDATA,如果是0x33,跟写进去的值一致,说明EEPROM读写正确

2024-12-20

基于GD32的485通讯.zip

485转TTL模块插开发板子上,USB转485模块插电脑,把两个485模块通过杜邦线连接,A跟A连,B跟B连,打开电脑串口调试器,9600波特率,8位数据,无校验,1位停止,发送HELLOWORLD,板子会回HELLOWORLD,说明实验成功

2024-12-20

基于GD32实现定时器1ms.zip

LED (PB4引脚驱动)能间隔闪烁,间隔时间1s,定时器是1ms进入一次中断,时间积累到500ms,LED电平高低变换一次

2024-12-20

基于GD32的OLED显示.zip

把O-LED模块插在板子上,全速运行,可以看到液晶屏显示

2024-12-20

基于GD32的PWM输出.zip

用示波器连接PA1引脚,全速运行,PA1引脚输出1Khz方波

2024-12-20

基于GD32的ADC实验.zip

PA4口接地,会发现Vol_Value值为0,然后把 PA4口接3.3V,会发现Vol_Value值约为3300(单位mV)

2024-12-20

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除