
嵌入式开发
华哥-2088
目前主要从事嵌入式开发工作,linux系统,linux驱动,QT软件,shell脚本,图像处理,计算机视觉,python学习.
联系方式:
QQ:549556029
邮箱地址:liuchunjie11@163.com或者549556029@qq.com
展开
-
STM32生成hex和bin 程序,下载之后有的功能不行
项目名称:二合一阅读器功能要求: 1、能够对身份证ID读取和身份证里面具体信息(姓名,性别,地主,图片,指纹)进行读取 2、能够普通IC、CPU卡进行操作(这里不对它进行讲解)硬件平台:STM32 THM3070 公安部模块(SAM模块,对身份证里面信息进行编码和解码用的)编译软件:keil5下载工具:ST_LINK V2下载软件:S...原创 2018-04-02 16:06:57 · 2246 阅读 · 1 评论 -
C语言宏定义使用方法和注意事项
C语言宏定义使用方法和注意事项一、总结 1、 2、 3、二、代码测试(ubuntu 10 gcc平台) 1、代码:#include <stdio.h>#define ERROR -1#define PATH1 "D:/test/test.c"#define PATH2 D:/test/test.c#define PATH3 ...原创 2018-05-28 21:06:22 · 6545 阅读 · 1 评论 -
C语言struct和union和sizeof关键字
C语言struct、union、sizeof简单的我就不讲了,直接上代码#include <stdio.h>#include <malloc.h>//空的结构占用多少个内存呢(实际gcc编译器不占用内存,bcc和vc编译器编译错误,因为结构体创建之初就是为了集合各种不同变量,但是创建空的结构体就是违背了结构体意图,所以编译错误)struct TS{ };...原创 2018-05-24 10:51:43 · 634 阅读 · 0 评论 -
C语言内存分布图
C语言内存分布原文章在这里:https://blog.youkuaiyun.com/love_gaohz/article/details/41310597一.在学习之前我们先看看ELF文件。ELF分为三种类型:.o 可重定位文件(relocalble file),可执行文件以及共享库(shared library),三种格式基本上从结构上是一样的,只是具体到每一个结构不同。下面我们就从整体上看看这3种格式从文...转载 2018-05-24 10:48:58 · 7898 阅读 · 2 评论 -
C语言enum和typedef
C语言enum和typedef原创 2018-05-27 14:30:26 · 783 阅读 · 0 评论 -
C语言#error和#line使用方法
C语言#error和#line使用方法一、使用方法: 1、#error方法: 2、#line方法: 二、代码测试: 1、#error #include <stdio.h>#ifdef __cplusplus #error this file should be processed with C+...原创 2018-05-29 19:34:22 · 27993 阅读 · 3 评论 -
C语言#pragma使用方法
C语言#pragma pack使用方法原创 2018-06-03 18:40:11 · 68957 阅读 · 4 评论 -
C语言实现字符串循环左移和右移
C语言实现循环左移和右移这个没有什么好说的,直接上代码:#include <stdio.h>//写一个函数 实现功能:输入字符串,向右循环或者逆时针移动N字节,再输出这个字符串/* //比如:左移2字节 //左边不变,右边变 p[0] = s[4]; //LEN - (n - i)%LEN i = 0 p[1] = s[5]; //LEN - ...原创 2018-06-19 18:36:53 · 12003 阅读 · 1 评论 -
C语言#和##操作符使用方法
C语言#和##操作符使用方法一、总结 1、#操作符 1:#操作符用于预处理阶段,将宏参数转换为字符串,只有宏定义中使用(#define) 使用方法: #define STRING(x) #x printf("%s\n",STRING(Hello...原创 2018-06-03 20:33:35 · 7864 阅读 · 0 评论 -
你真的理解了const和volatile关键字么?(我看不一定)
C语言const和volatile关键字 这部分内容比较简单,我这里直接先做总结,然后通过写三个测试代码,体会其中关键一、总结 1、const使得变量具有只读属性 2、const不能定义真正意义上的常量 3、const将具有全局生命期的变量存储于只读存储区 4、volatile强制编译器减少优化,必须每次从内存中取值 5、const修饰...原创 2018-05-20 23:29:55 · 10882 阅读 · 5 评论 -
C语言三目运算符和逗号表达式
一、三目运算符定义:(a ?b : c) 当a的值为真时,返回b的值;否则返回c的值 二、三目运算符(a ?b : c) 返回类型: 1、通过隐试类型转换规则返回b和c中的较高类型 2、当b和c不能隐试转换到同一类型时将编译出错 下面通过写一段代码测试下: ...原创 2018-05-08 23:34:50 · 5396 阅读 · 3 评论 -
C语言 交换两个变量数值多种方法
在我们学习编程过程中一定编写过交换两个变量数值方法,这里我也搜集网络一些方法平台:ubuntu10 gcc编译器下面再写下交换两个变量值的方法:#include <stdio.h>//第一种不讲了,太简单了,大部分都会想到,看着很LoW,所以接着往下看#define SWAP1(a, b) \{ \ int t = a...原创 2018-04-22 18:49:34 · 1830 阅读 · 1 评论 -
C语言 单引号和双引号
刚开始学习C语言时没有注意过这个问题,最近看了狄泰软件的唐老师C进阶视频时发现这里面还有东西需要注意的,下面我讲下,希望对新人有所帮助(这里面讲的内容主要参考狄泰软件的唐老师C进阶教程中的单引号和双引号课题) 单引号:单引号实际就是字符字面量,字符字面量就是字符(就是ASCII对应字符),就是整数 双引号:双引号实际就是字符串字面量,字符串字面量就是字符指针,就是字符...原创 2018-04-22 22:59:36 · 21840 阅读 · 6 评论 -
C语言 接续符和转义符
C语言接续符和转义符这个主题可能没有太多要讲的, 接续符:\ 接续符是用来告诉编译器行为的符号,那编译器遇到接续符是什么行为呢,就是去掉接续符,然后把下一行连接到现在这行上面 转义符:转义符是主要用于表示无回显字符,也用于表示常规字符,转义符必须放在单引号或者双引号里面 注意:反斜杠同时具有接续符和转义符的作用 1...原创 2018-05-01 17:54:12 · 633 阅读 · 0 评论 -
C语言 Base64算法
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128...原创 2018-04-23 22:44:38 · 5592 阅读 · 4 评论 -
C语言 转义符\t占用几个空格
这个问题,在你学习编程过程中可能会考虑到,有时为了字节对齐而使用转义符中\t,但是到底\t占用几个空格呢?下面我们首先通过程序来体验下,然后在总结#include <stdio.h>int main(){ printf("123456\t123\t45\n"); printf("12\t123456\t78\n"); printf("----...原创 2018-05-01 22:58:09 · 40958 阅读 · 12 评论 -
C语言编译和链接过程简介
C语言编译和链接过程简介一、编译过程简介 编译过程可以分为4部分内容组成 预处理器->编译器->汇编器->链接器 1、预处理器 (1)、处理所有的注释,以空格代替 (2)、讲所有的#define删除,并且展开所有的宏定义 (3)、处理条件编译指令#if,#ifdef、#eli...原创 2018-05-27 16:56:58 · 15930 阅读 · 5 评论 -
你真的理解了C语言++和--运算符么?
这个主题对于刚开始学习C语言时可能会觉得很简单啊,那好你告诉我下面几个题目的输出是什么,你要是能说对,并且说出为什么,那你就可以不用往下看了 int i = 0,j = 0; 1、j = (i++)+(i++)+(i++); //而不是j = i++i++i++; 2、j = (++i)+(++i)+(++i); //而不是j = ++i++i+...原创 2018-05-08 17:17:24 · 18612 阅读 · 13 评论 -
深入理解C语言指针类型
C语言指针类型原创 2018-05-24 15:01:46 · 6713 阅读 · 5 评论