![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
嵌入式 || C
文章平均质量分 60
这个作者超级懒,简介都懒得想~
IT狼~
这个作者很懒,什么都没留下…
展开
-
linux下如何查看某个目录下所有文件的实际大小?
之前查看文件的大小基本都是用到"ll -h”命令,但是这个命令只能查看某个文件下的目录与文件的大小,而不能递归的看下一级目录下的文件大小,也会给我们日常开发中带来一些不便,因此一直在找一些命令。由于之前接触过tree命令可以显示递归的显示某个目录所有文件,因此就想着这个命令是否可以一起显示上文件的大小。原创 2022-10-23 11:49:11 · 6858 阅读 · 1 评论 -
分享一个嵌入式中Makefile的通用Demo
国庆在家事情比较少,之前因为稍微学了点Makefile的基本语法,所以就想着自己写个Makefile,一来以后自己作参考,二来也是可以复习下之前的一些命令,三来就是分享啦~,哈哈。原创 2022-10-05 16:53:34 · 577 阅读 · 1 评论 -
linux下如何用gcc编译器生成lst文件?
简单来说就是linux下可以直接运行的可执行文件。即我们用gcc -o命令生成的可执行文件。如下,hello其实就是elf文件,用file hello命令就可以看到。只是linux中不区分文件类型而已。原创 2022-08-26 00:05:33 · 1450 阅读 · 0 评论 -
什么是奇偶校验?如何用C语言实现?
在串口工具以及在代码中配置串口时,经常会看到奇偶校验。那么奇偶校验是什么,它的作用是什么呢?且听博主娓娓道来~原创 2022-07-22 22:16:43 · 3821 阅读 · 1 评论 -
嵌入式开发为什么会跑操作系统?
我们知道,在单片机的**裸机系统**中,是用一个while死循环保证程序的运行,偶尔加点中断去执行其他的功能。这种方式的优点就是简单,方便理解,我们初学者刚开始接触的就是这种方式。但是这种方式的缺点也很显然:**1.实时性不强,不能优先保证重要或者优先级较高的程序的运行**。在一些代码较少的程序中还不明显,但是如果程序功能复杂,代码量大,运行时间长,这种方式就显得更加难以运行下去。因为这种裸机while循环的方式相当于走的流水线,你得等CPU运行到了这里才能执行,即使你是个极度紧急的程序,任何之前的延时原创 2022-06-22 21:10:35 · 192 阅读 · 0 评论 -
C语言中如何对字符串中的整数进行求和?
1.前言这几天闲来无事,刷到一个题:输入一串字符串,将其中的整数剔除出来并且求和。在这里会用到一个函数:int atoi(const char *str)作用:将str 所指向的字符串转换为一个整数使用这个函数的过程中需要注意的是输入的字符串最好是数字的字符串,比如“1234”,而不是字母等和数字的混合,这样的话是无法转换出来其中的整数的。但是亲测了一种情况是可以的:字符串中先是数字,然后是其他字符。比如:“1234aaa”,“1234aaa666”这样的话是可以返回1234这个整数的。2原创 2022-05-09 19:14:33 · 5069 阅读 · 0 评论 -
C语言中格式输出二进制的两种方法
1.前言在我们日常的编程中,有时候需要格式化输出一个整形数据的二进制,但是在我们C语言中只有输出十进制:%d;输出十六进制:%x;输出单个字符:%c;输出字符串:%s,输出变量所在的地址:%p。而并没有这种二进制对应的格式,所以需要我们手动来实现。2.源码实现本篇博客给大家介绍两种方法:1.通过库函数itoa,需要包含头文件:#include <stdlib.h>;2.通过十进制转成二进制的常用方法——短除法;为方便大家使用,将两种方法都封装成了函数,源码如下:#include &原创 2022-05-05 22:36:27 · 57760 阅读 · 10 评论 -
C语言中转换大小写的另外一种简便算法
平常我们在写转换字符串大小写的算法时,一般的思路就是先依次判断单个字符的ASCII码值:位于45–90的为字母的大写,然后转换成对应的小写就是+32;位于97–122的为字母的小写,然后转换成对应的大写就是-32。其实还有一种更加简单的方法,利用的原理就是大小写之间相差32,即转换成2进制之后第五位为1则为小写,第五位为0则为大写;举个例子就懂了:‘A’:ASCII码为65,二进制:0100 0001‘a’:ASCII码为97,二进制:0110 0001‘M’:ASCII码为 77, 二进制:0原创 2022-04-27 18:26:42 · 1115 阅读 · 0 评论 -
嵌入式开发神器—SourceInsight 4的使用教程(附安装包)
很多入门嵌入式的初学者所用的代码编写软件都是IAR、Keil等IDE(集成开发环境),这类软件的优点就是既可以编写代码,也可以编译、调试、下载程序,是我们初学者嵌入式开发的利器。今天给大家介绍的是公司基本上都会用到的神器——SourceInsight,因为在公司项目中,代码量都非常大,少的的可能几百几千个文件,多的可能数万个文件,所以此时查找代码以及阅读代码成为了我们程序员在日常开发中非常重要的部分。那么对于上文所说的IAR、Keli等软件的弊病就显现出来了,用过的同行应该有所感触,他们阅读代码并没有那么原创 2022-04-24 18:58:52 · 11409 阅读 · 4 评论 -
华为LiteOS操作系统中的LOS_DL_LIST_ENTRY怎么理解?
一、引入介绍在阅读华为LiteOS的源码过程中,经常可以看到LOS_DL_LIST_ENTRY这个东东,给它展开其实它就是这样的一个宏定义:#define LOS_DL_LIST_ENTRY(item, type, member) \ ((type *)(VOID *)((CHAR *)(item) - LOS_OFF_SET_OF(type, member)))二、宏定义解读首先,先告诉大家它的功能:返回item所在结构体的首地址,也就是这个结构体第一个成员的地址*。再给大家解读下它的原创 2022-03-31 19:02:01 · 1101 阅读 · 0 评论 -
双向循环链表的C语言实现
在工作中的项目有用到双链表,尤其是跟着别人写双链表代码的思路,自己去看总觉得没那么顺,感觉以后也会经常用到,所以索性自己写一个出来,细节由自己去把握,终于是理解了这一块,以下是实现双链表的所有源码:#include <stdio.h>#include <malloc.h> typedef struct List{ struct List *pre; struct List *next; int data;}List_t;typedef struct HeadNo原创 2021-11-05 19:14:36 · 723 阅读 · 0 评论 -
单片机编程中,如何用一个按键同时检测点按与长按
在我们平常使用按键的编程过程中,一般说来,某一个按键实现的是单一的功能,比如简单的点亮一盏LED灯,再次按一次就是原创 2021-06-18 18:39:38 · 1015 阅读 · 0 评论 -
单片机编程中,如何用串口调试助手直接打印出十进制数
1.前言我们知道,串口调试助手的接收窗口能够看到十六进制数和字符串,如果我要发送33这个数,直接用平常的串口字符发送函数,16进制显示的是21,而要是没有勾选“16进制显示”,那么显示的就是33在ASCII码中对应的字符“!”,显然这都不是我们想看到的显示结果。那么如何编程才能在我们串口接收窗口直接看到我们日常熟悉的十进制数呢?别急,看IT狼为大家解惑~2.原理由于串口调试助手像之前说的,可以显示字符串,那么我们就可以把我们的十进制数每个数字变为字符,然后用串口发送字符串函数不就可以出来了?好的,那原创 2021-04-24 09:57:48 · 9806 阅读 · 20 评论 -
IIC通信协议C语言代码分享及调试过程中的一些小误区分享
1.前奏很久没有更新博客了,hiahia,之前忙着考研,现在却忙着找工作,哎咦呦~,但也没事,研没考上也可以好好学学我感兴趣的东西,用这些来找工作也挺好,做自己喜欢的事情,研究生还是想考,等快到暑假再看吧。这段时间重新把以前学的东西又巩固了一遍,和我想的一样,以前的基础果然不牢。这次感觉花的时间挺久的就是IIC协议了,经过这次自己敲代码写,对协议的理解更加深了。所以想分享给大家,主要是代码,虽然网上有很多,但是就是想把自己的代码分享出来,当然,其中也有一些走过的小误区,可以给大家做一个参考,也可以让自己以原创 2021-01-28 13:22:46 · 977 阅读 · 0 评论 -
广义互相关算法用FFT加速的C语言实现
广义互相关算法如何用C语言实现?在声音测距的原理中,我们可以利用麦克风对采集的声音信号利用互相关算法测出音源与麦克风距离的差值,而大致求出音源的方位。这也是第十五届智能车竞赛声音信标组寻灯的基础,因为我参加的是这个组别,所以当时在这方面找了很多相关的资料互相关的原理基本上懂,但是用C语言实现起来感觉和书本上的知识结合不了,但是真的运气好,试了很多很多次,终于写出来了,可能是乐于分享的人运气都不会太差吧,O(∩_∩)O哈哈~小说明:我的这个代码不是完整的工程,只是把核心的互相关算法及一些相关的代码分享出来原创 2020-08-29 18:46:40 · 8036 阅读 · 33 评论 -
如何实现用串口助手实时绘制16位数据波形图
如何实现用串口助手绘制16位数据波形图先和大家kuan两句,哈哈。因为之前参加智能车想用波形显示来调节PID,找了很多工具也没有成功,心里也知道串口一次就是只能发送八位数据,很多时候可以用字符显示16位的,但是就不是数据,而是字符串,字符串和数据最大的不同应该在于是否能计算的差别吧,所以字符串肯定是不能用图形表示的。之后看到山外这款串口助手虚拟示波器“类型”中明明有无符号16位的,但是查了很多资............原创 2020-05-06 11:53:51 · 11303 阅读 · 20 评论