专注于嵌入式技术分享!
【Linux】make工程管理工具(一) 【Linux】make工程管理工具(一)
1、如何编译具有多个源码(.c文件)的工程上一篇笔记写了如何使用gcc的编译命令编译:【Linux笔记】Linux下编译C程序。当源文件较少时,使用gcc编译命令编译就比较方便,在gcc编译命令中依次列出各个源文件就好,比如: gcc s
2019-05-15
【C语言】#运算符与##运算符 【C语言】#运算符与##运算符
接上篇笔记我们分享的是RTT的PIN设备驱动:【RT-Thread笔记】IO设备模型及PIN设备,其中用到PIN驱动框架中的pin_mode函数来设置引脚的模式: void rt_pin_mode(rt_base_t pin,rt_ba
2019-05-07
【Linux】系统目录结构 【Linux】系统目录结构
前言在 Linux 或 Unix 操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可
2019-05-05
【Linux】Vi/Vim编辑器 【Linux】Vi/Vim编辑器
1、什么是vi/vim?vi编辑器是Linux和Unix上最基本的文本编辑器(所有版本的 Linux 都带有 vi 编辑器),工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的
2019-04-29
【Linux】文件的权限 【Linux】文件的权限
Linux是多用户操作系统,不同的用户对于文件的操作拥有不同的权限。我们可以使用 ls -l 命令列出当前目录下的文件及目录的详细信息: 我们重点看前10个字符,如hello文件详细信息中的前10个字符为 -rw-rw-rw- 。这10个
2019-04-29
【Linux】文本文件查看命令 【Linux】文本文件查看命令
我们要查看一些文本文件的内容时,要使用文本编辑器来查看。在Linux下,可以使用一些命令预览文本文件中的内容,而不必使用文本编辑器打开查看。这篇笔记分享几个常用的文本查看命令。分别是: cat:从第一行开始显示文本内容(适用于内容较少的)
2019-04-27
【Linux】文件及目录管理命令 【Linux】文件及目录管理命令
之前分享的Cygwin是一个在windows平台上运行的Linux(类UNIX)模拟环境(关于Cygwin的介绍,可移步至往期笔记:【C语言笔记】Windows下体验Linux环境),但毕竟与真实的Linux环境还是有所不同的。我们学习L
2019-04-21
基于合泰单片机的高校公寓远程能源监控系统 基于合泰单片机的高校公寓远程能源监控系统
1、前言合泰半导体隶属台湾盛群半导体集团,合泰杯单片机应用设计竞赛的比赛形式为:作品自由发挥,要在几个月之内完成,且必须使用合泰单片机。比赛分为三个环节:初赛、复赛、决赛,每一环节都会刷掉一部分队伍。 2、作品分享2.1 作品简介这是我们
2019-04-16
【实践】基于STM32+ATT7022的单相用电器分析监测装置 【实践】基于STM32+ATT7022的单相用电器分析监测装置
1、前言大学期间,电子类的比赛比较重要的比赛应该就是每年暑假的省/国家级大学生电子设计竞赛吧,其中省赛是偶数年,国赛是奇数年,小编都有参加过,上一篇分享了我们团队参加2016年省赛做的循迹小车,感兴趣的朋友可移步至基于STM32
2019-04-07
基于STM32+LDC1000的循迹小车 基于STM32+LDC1000的循迹小车
1、前言这是2016年TI杯电子设计竞赛的作品,并获得了省一等奖。 2、竞赛题目每年的TI杯电子设计竞赛都会出A题~G题共七个题,我们团队平时主要做控制的多,所以这次竞赛我们选择控制类题目——自动循迹小车。该题题目及要求如下: 3、方
2019-04-02
【C语言】带参宏定义(二) 【C语言】带参宏定义(二)
1、什么是带参宏?带参宏在我们的嵌入式编程中使用得非常多,其定义如下: define 标识符(参数列表) 字符序列 其中参数列表中的参数之间用逗号分隔,字符序列中应包含参数表中的参数。在定义带参数的宏时,宏名标识符与左圆括号之间不允许有空
2019-03-26
【C语言】带参宏定义(一) 【C语言】带参宏定义(一)
公司某项目用到DSP+FPGA架构(当然不是著名的ARM+DSP+FPGA点灯项目,哈哈),我的发展方向为DSP方向。其中DSP与FPGA通过两个带参宏进行数据交互(DSP与FPGA通过一块共享内存来实现数据交互,我这边的DSP只要往共享
2019-03-23
【C语言】指定初始化器 【C语言】指定初始化器
C99增加了一个新特性:指定初始化器(designated initializer)。利用该特性可以初始化指定的数组元素,也可以初始化指定的结构体变量(往期笔记【C语言笔记】结构体有用到这个特性对结构体变量进行初始化)。 本笔记主要分享
2019-02-16
【C语言】操作位的技巧 【C语言】操作位的技巧
一、操作位的方法操作位有两种方法,一种是位字段,另一种是使用按位运算符。位字段的方法可查看往期笔记:【C语言笔记】位域。本文介绍使用按位运算符操作位的方法。下表为几种位操作符及其含义: 二、不改变其他位的值的状况下,对某几个位进行设值。
2019-02-15
【C语言】什么是位域? 【C语言】什么是位域?
一、位域的概念有些数据在存储时并不需要占用一个完整的字节,只需要占用一个或几个二进制位即可。例如开关只有通电和断电两种状态,用 0 和 1 表示足以,也就是用一个二进位。正是基于这种考虑,C语言又提供了一种数据结构,叫做位域或位段。 位域
2019-02-14
【RT-Thread】RT-Thread启动过程 【RT-Thread】RT-Thread启动过程
我们学习编程,特别是嵌入式编程,不仅仅要多写代码进行练习,还要多看看一些例程。最近在学习RT-Thread,原子的某例程的的主函数如下(这是在keil5下的截图): 这是主函数中的全部代码,主要是创建一个led线程并启动。那么问题来了,
2019-01-23
【C语言】结构体 【C语言】结构体
一、同时定义多个变量我们都知道C语言中变量的类型决定了变量存储占用的空间。当我们要使用一个变量保存年龄时可以将其声明为int类型,当我们要使用一个变量保存某一科目的考试成绩时可以将其声明为float。 那么,当我们要做一个学生信息管理系统
2019-01-22
【C语言】枚举 【C语言】枚举
一、前言首先,提一下宏定义#define,其一般形式为: #define 宏名 字符串 这个知识点很重要,到处能用得到。其可以与typedef来进行类比进行理解(可查看【C语言笔记】define与typedef的区别?)。除此之外,其还
2019-01-15
12 / 15