自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (5)
  • 收藏
  • 关注

原创 多个.C文件被编译为一个可执行文件的详细过程

C语言经典的 “hello world ” 程序从编写、编译到运行,看到屏幕上输出,如此简单的一行代码一个文件,估计那么你都知道它是如何运行的。在C的世界里,一个函数,一个变量都只是一砖一瓦,一个由多个C语言文件文件组成的项目又是如何从砖瓦筑到高台的?

2024-05-10 22:40:42 1167

原创 gdb调试功能描述

gdb 调试:只对可执行文件进行调用,无法直接用gdb调试.c文件

2024-05-10 22:31:50 209

原创 STM32八种I/O口模式

作为两年嵌入式软件攻城狮,还没仔细去理解过STM32的GPIO的八种使用模式,俗话说嵌入式软硬件不分家,软件不懂硬件,出了问题有时候只能拿“抓虾”,今天有点时间,特此总结一下学过的有关STM32的GPIO模式的硬件知识。

2024-03-31 21:57:00 1204

原创 推挽输出与开漏输出

在使用GPIO口时,会遇到两种配置,一种叫推挽输出,一种叫开漏输出,今天就简聊一聊这两种模式的差异和选择。

2024-03-31 21:41:05 730

原创 NPN型三极管与PNP型三极管基本原理

三极管是电子电路中最基本、最常见、重要的器件,其主要功能是对电流的放大和开关作用,从半导体结构上可以分为NPN型和PNP型,本文简单介绍其原理、区别及基本用法:

2024-02-29 23:16:50 1020

原创 P沟道与N沟道MOSFET的基本概念

MOSFET:M~(Metal金属)~O~(Oxide氧化物)~S~(Semiconductor半导体)~,FET(Field Effect Transistor场效应晶体管),即以金属氧化物场效应半导体场效应晶体管,是一个三端控制器,电压控制、高输入阻抗的单极器件。在电路中可视为一个开关管,其通断频率和峰值电压都非常高,且价格便宜,因此被广泛应用于各种电子电路中。后文将以N沟道增强型MOSFET为例讲其工作原理,P沟道MOSFET可进行类比。

2024-02-29 23:07:45 1668

原创 关于μC/OS消息队列的注意事项

之前在μC/OS系统中使用消息队列传递串口信息,由于数据帧数量多但数据量小,使用一个变量接收数据,有数据将其接收并丢入队列中,再单独起一个任务死等该队列,一有消息立即执行相关回调函数,构想非常完美,但是在使用中,该任务总是会不明不白卡死,而进入HardFault,当时非常不解,后来这个构想被推翻,直到后来使用FreeRTOS时发现一些值得注意的问题.......

2024-01-31 23:12:50 171

原创 C语言笔试例题_指针专练30题(附答案解析)

指针一直是C语言的灵魂所在,是掌握C语言的必经之路,收集30道C语言指针题目分享给大家,测试环境位64位ubuntu18.04环境,如有错误,恳请指出,文明讨论!!!

2023-12-10 22:16:09 3302 1

原创 typedef 与#define 的区别

typedef : 给一个已经存在的数据类型(注意:是类型不是变量)取一个别名,而非定义一个新的数据类型#define宏定义: #define宏定义:在预编译时直接进行简单的文本替换

2023-12-10 22:05:42 554

原创 基于 Linux 内核驱动模块的简介

内核编程的最简单表现就是内核模块, 它可以作为一段可动态加载的成熟的内核级的代码使用。使用时一般不限制模块个数和类型,即插即用, 高效快捷、 性能稳定。缺点为性能和内存利用缺失, 模块间的依赖关系有着严密的逻辑结构,使用不当可能造成系统崩溃, 因为对于一般程序而言, 内核都会有安全保护机制以防其止造成内核故障。 但是在运行内核级代码的时候, 使用不当可能会出现异常而影响整个系统,造成系统锁定、内存泄漏或引入死循环等问题。 所以在编写内核代码时首先要保证代码的严谨性,其次要遵循内核库的标准, 最后在卸载内核模

2023-12-09 21:11:07 667

原创 C语言_常见位操作

设置某位为1或者对某位清0、获取某位的值、对某位取反。对x从p位到n位的值进行取反。获取x从p位到n位的值。设置x从p位到n位的值。

2023-12-09 19:15:36 472

原创 printf二进制输出

在C标准库中使用printf函数几乎可输出任意格式,但C语言标准库中并没有提供%b格式控制符用来输出二进制,我们可以使用递归自己写一个输出二进制的函数,输出的二进制形式为按位输出的字符格式:

2023-12-08 23:42:38 3628

原创 循环结构中 break、continue、return 和exit() 的区别

总结一下常见的 break、 continue、 return 和 exit 在循环结构中的区别和注意事项

2023-12-08 18:25:38 1034

原创 嵌入式_基于STM32F4标准库的Flash读写操作

在STM32芯片内有一个Flash存储器断电后数据不会丢失,所以Flash中经常存储一些关键数据,例如:运行的程序、属性文件、密钥、累计运行时间、故障日志等,所以Falsh读写操作非常重要。

2023-12-07 23:16:16 2610 2

原创 C语言的条件编译格式

条件编译的功能使得我们可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件。这对于程序的移植和调试是很有用的。条件编译有三种形式,下面分别介绍,欢迎指正,谢谢!

2023-12-07 21:18:09 421

原创 使用Keil-MDK生成*.bin格式可执行文件

在使用Keil MDK的集成开发环境中,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行文件。虽然文件可以直接使用仿真器的下载和调试,但是出于用户需求或使用IAP升级,∗∗.bin格式的文件更简约也更有优势,所以在Keil下将*.axf格式文件或*.hex格式文件转换成*.bin格式的文件的方法是必须掌握的,本文所述就是这种转换方法

2023-12-06 22:53:24 1259

原创 *p++、(*p)++与*(p++)区别

*和++是同优先级操作符,且都是从右至左结合的

2023-12-06 22:49:26 775

原创 GD32F103*固件库移植FreeRTOS详细教程与解析

FreeRTOS是一个可以基于ROM运行的、可裁剪的、抢占式、实时多任务内核,具有高度可移植性,特点:公开源代码、可移植性、可固化、可裁剪、多任务、占先式,特别适合于微处理器和控制器,适合很多商业操作系统性能相当的实时操作系统(RTOS)。在使用GD32F103单片机项目使用过FreeRTOS,这里作为一个基础教学版简单记录一下移植过程,最终成果后续上传更新,欢迎指正!

2023-12-05 22:05:55 2399

原创 FreeRTOS简介

Free 和 RTOS,Free 就是免费的、自由的、不受约束的意思,RTOS 全称是 Real Time Operating System,中文名就是实时操作系统。可以看出 FreeROTS 就是一个免费的 RTOS 类系统,FreeRTOS 是 RTOS 系统的一种,FreeRTOS 十分的小巧,可以在资源有限的微控制器中运行,当然了,FreeRTOS 不仅局限于在微控制器中使用。但从文件数量上来看 FreeRTOS 要比UCOSII 和 UCOSIII 小的多。

2023-12-05 21:58:59 2019

原创 Error: L6406E: No space in execution regions with .ANY selector matching tasks.o(.data).解决办法

应该是Flash中堆栈分配不适配,导致.bss段和.data段空间不够导致的。

2023-11-30 19:31:00 1866

原创 Ubuntu安装nfs服务步骤

NFS:网络文件系统(Network File system File)缩写,可通过网络让不同的机器,不同操作系统之间可以彼此共享文件和目录。

2023-11-29 21:27:27 600

原创 Ubuntu安装ssh

ssh:安全外壳协议(secure shell)的缩写,安全外壳协议(安全的shell),是一个计算机网络协议(默认端口号为22)。通过ssh协议可以在客户端安全(提供身份认证、信息加密)的远程连接LInux服务器或其他设备。

2023-11-29 21:27:00 504

原创 “非旺玖原装的PL2303,......“解决办法

windows安装PL2303串口驱动提示“非旺玖原装的PL2303,请联系您的供货商”的解决办法:主要原因:驱动版本无法兼容,需要降低使用版本

2023-11-20 23:25:48 5926 5

原创 GD32_ADC采样+DMA多通道扫描传输

所使用的MCU 片上集成了 12 位逐次逼近式模数转换器模块(ADC),可以采样来自于 16 个外部通道和 2 个内部通道上的模拟信号。这 18 个 ADC 采样通道都支持多种运行模式,采样转换后,转换结果可以按照最低有效位对齐或最高有效位对齐的方式保存在相应的数据寄存器中。我们主要介绍其多通道扫描转换和DMA传输功能,在多个通道轮询采集ad数据,并使用DMA分别保存各个数据值,其能大大提高ADC的工作效率。以下为ADC 模块框图:

2023-11-15 23:35:52 1988 1

原创 μCOS-Ⅲ中断管理,这样理解非常简单!

我们已经知道了STM32只使用了中断优先级配置寄存器的[7:4]位来配置中断优先级(共计16个中断优先级等级),并且知道其五个优先级分组的基本含义,(不知道的翻本专栏:[μCOS-Ⅲ+GD32_SysTick与PendSV中断管理配置浅解](https://blog.csdn.net/Yin_w/article/details/132184044)),现在来聊一聊μCOS-Ⅲ的中断管理。

2023-10-25 22:09:19 365

原创 GD32_定时器输入捕获波形频率

之前项目上用到一个使用定时器捕获输入采集风扇波形频率得到风扇转速的模块,作为笔记简单记录以下当时的逻辑结构和遇到的问题,有需要参考源码、有疑问或需要提供帮助的可以留言告知

2023-10-25 22:08:00 1261 1

原创 基于STM32_DHT11单总线温湿度传感器驱动

趁热打铁,接上篇DS18B20的介绍再出一篇关于单总线传感器DHT11的介绍,相比之下,DHT11的时序和操作更简单易懂。

2023-10-14 18:30:05 1053

原创 基于STM32_DS18B20单总线传感器驱动

本文以一款典型的单总线传感器及其驱动——DS18B20为例,简单对1-Wire总线接口的传感器做个示例讲解,该项目基于硬件平台STM32F407,使用标准库本完成。

2023-10-12 23:02:09 2795

原创 下载调试器 JTAG和SWD

作为嵌入式工程师,下载调试器 JTAG和SWD是经常使用的,但你真正了解其SWD 和 JTAG接口的含义和区别吗?

2023-10-11 22:31:32 236

原创 关于µC/OS-III 多任务的基本理解

任务和任务管理是 RTOS 的核心,且大多数项目使用 RTOS 的目的就是为了使用 RTOS 的多任务管理能力。 µC/OS-III作为经典的RTOS,了解并学习其任务管理机制,是非常有必要的。

2023-09-10 14:42:45 403 1

原创 C语言_通过函数调用改变指针参数的指向

函数的参数为指针类型,对一般指针参数执行间接访问操作是允许函数修改原先的数组元素的,但是函数所接收到的参数是原参数的一份拷贝,所以函数对参数进行操作而不会影响实际的参数,就是说正常情况下函数内无法改变指针参数的指向,但可以改变指针参数所指向的值。

2023-08-27 21:00:34 637

原创 char *str 与char str[]的区别与联系

常用以下两种方式定义字符串:一种是字符数组,另一种是指向字符串的指针。

2023-08-27 20:59:07 2349

原创 指针变量、指针常量与常量指针的区别

指针变量、指针常量与常量指针的区别

2023-08-27 20:57:20 1361 1

原创 C语言指针运算

1,:这种形式只能用于指向数组中某个元素的指针;输出结果:2,:此形式只能用于两个指针变量都指向同一个数组中的元素时才运行指针减指针,才有意义,结果是两个元素之间的位差;输出结果:3,:指针一般是十六进制格式,再加减一个十六进制数,这种形式称为地址偏移,一般用于各个变量位置关系基本固定,有明确的首地址偏移量(偏移多少个字节),例如通过某个结构体首地址来操作该结构体某个成员变量,(一般不使用减法操作)输出结果:p->e = 10p->e = 15。

2023-08-27 20:47:52 280

原创 μCOS-Ⅲ_简介

μcos-III是一个可以基于ROM运行的、可裁剪的、抢占式、实时多任务内核,具有高度可移植性,在一段学习后留个笔记简单记录下相关知识欢迎大佬指正!!!!

2023-08-18 22:33:55 275

原创 μCOS-Ⅲ+GD32_SysTick与PendSV中断管理配置浅解

GD32移植μCOS-Ⅲ时,需要特别关注的两个与系统相关的且非常重要的中断,一个是提供OS系统时基的滴答定时器(SysTick_Handler中断),另一个是跟任务调度有关的(PendSV_Handler中断),成功移植后简单扒了一下GD32中断知识和μCOS-Ⅲ关于这两个中断的配置和管理方式。

2023-08-10 17:24:08 389

原创 GD32F103*固件库移植μCOS-Ⅲ详细教程与解析(最终版本已上传,可下载)

μcos-III是一个可以基于ROM运行的、可裁剪的、抢占式、实时多任务内核,具有高度可移植性,特点:公开源代码、可移植性、可固化、可裁剪、多任务、占先式,特别适合于微处理器和控制器,适合很多商业操作系统性能相当的实时操作系统(RTOS)。在使用GD32F103单片机项目使用过μcos-III,这里作为一个基础教学版简单记录一下移植过程,欢迎大佬指正!!!!最终成果放在此处,欢迎大家下载!

2023-08-05 16:51:27 358

原创 Keil ARM Compiler(Use default compliler version 5)error: ‘#pragma import‘...解决办法

Use default compliler version 5

2023-08-04 11:26:04 1258

原创 STM32F*/GD32F*在线调试打断点出现 BP could not be set....Probably too many Breakpoints defined?解决办法

STM32F*/GD32F*在线调试打断点出现 BP could not be set....Probably too many Breakpoints defined?解决办法

2023-08-03 16:34:19 1622

原创 嵌入式_GD32使用宏开关进行Debug串口打印调试

串口Debug是一种将数据通过串口发送的方法。通过使用printf函数,我们可以将需要发送的数据格式化为字符串,并通过串口发送出去。在C语言中,通常使用串口发送数据的函数为printf函数,但是需要将标准输出重定向到串口。

2023-08-03 15:46:31 932 1

ser2pl64.sys是电脑重要系统文件,主要用于串口转USB,描述:USB-to-Serial Cable Driver

ser2pl64.sys是电脑重要系统文件,字面意思就是64位的串口Pl驱动系统配置文件,如果你的电脑安装PL2303等问题弹出”非旺玖原装的PL2303,请联系您的供货商“或者出现提示信息”ser2pl64.sys丢失“或者“ser2pl64.sys损坏”等错误弹窗信息提示,将会导致电脑出现蓝屏,甚至其他一些未知的问题,影响电脑的正常使用,若要解决这问题,需要重新下载一个ser2pl64.sys文件来进行修复

2023-11-20

CRC校验计算器-包含常见的21个CRC校验模型

操作简单,功能实用,支持离线使用,体积小,直接可以放到U盘中,包含CRC4、CRC5、CRC6、CRC7、CRC8、CRC16、CRC32等21个常见的CRC校验计算模型,非常简单使用好的CRC校验工具,值得推荐。

2023-10-31

GD32F103*系列使用固件库移植μCOS-Ⅲ的Demo版本

GD32F103*系列使用固件库移植μCOS-Ⅲ的Demo版本,本项目基于GD32F103RE6硬件平台, 使用标准库GD32F10x_Firmware_Library_V2.2.4进行移植的,使用内部时钟配置108MHz作为主时钟频率。使用Keil可直接编译下载,Demo内含三个基本任务,使用Usart0打印输出三个任务运行状态。主要适用于GD32F103*+μCOS-Ⅲ作开发项目的基带版本,或者作为初学者当做GD32移植μCOS参考。欢迎大家下载使用和指正,使用方法和移植讲解可联系本人:2334405083或参考本人本片关于GD32移植μCOS-Ⅲ的博客:https://blog.csdn.net/Yin_w/article/details/132097444?spm=1001.2014.3001.5502

2023-08-05

μCOS-Ⅲ源码(uC-CPU-1.32.01/uC-LIB-1.39.01/uC-OS3-3.08.01)

μCOS-Ⅲ源码(uC-CPU-1.32.01/uC-LIB-1.39.01/uC-OS3-3.08.01)可免费获取

2023-08-04

基于GD32F103RET6和固件库搭建的简易Demo版本(下载即可使用,无需修改代码)

硬件平台:兆易创新(GigaDevice) GD32F103RE 固件库版本:GD32F10x_Firmware_Library_V2.2.4 联系方式qq:2334405083 简介:使用内部时钟配置108MHz作为主时钟频率,可使用安装GD32开发环境的Keil直接编译下载和使用,开发已初始化usart0,并循环打印输出"Enter system success !!!!" 此版本作为项目使用最小软件系统,所有可以将该Demo作为基带版本,直接在此版本上进行学习或搭建项目。 如有问题或建议欢迎咨询。

2023-08-04

JLink-Windows-V754b-x86-64 驱动

JLink_Windows_V754b_x86_64 JLINK驱动,集成了多种调试下载工具,也可以单独用来下载代码,并且效率高于串口下载;支持多种芯片和市面上大多数主流IDE环境,可作为J-link驱动,可独立使用其集成的十几款调试工具,非常方便,使用参见:https://blog.csdn.net/Yin_w/article/details/129868887

2023-03-30

GD32F10x-Firmware-Library-V1.0.0.zip

GD32标准固件库(老版本)

2023-03-16

svm算法动态库以及测试文件.zip

IDE:VS2010,SVM生成动态库算法以及测试文件,使用方法详见readme

2021-03-06

fastboot.zip

适用于i-TOP4412等支持Fastboot下载内核镜像和文件系统的开发板

2021-03-06

C&C++面试题强化.pdf

C&C++面试题强化,高清PDF版

2021-03-06

GD32C10x-AddOn-V1.0.0.zip

国产芯片GD32f10x固件库,适用于国产芯片GD32嵌入式开发

2021-03-06

udp-chat.zip

基于Ubuntu16.04-linux终端版本udp聊天室,使用简单无bug,如有问题欢迎各位批评指正加以改进,不胜感激,谢谢

2020-08-10

空空如也

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

TA关注的人

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