嵌入式
文章平均质量分 93
小土豆dy
学习永无止境
展开
-
元器件篇——电阻
电阻电阻是电子设计中最常用的器件,在各类电子设备中占30%以上的份额。电阻的选择以及电阻质量的好坏,深刻地影响着设计的稳定性。十分有必要对电阻的知识系统地掌握。一个好的电子设计从最基本的元件做起。电阻的主要作用是稳定电路中的电流和电压,其次可以作为分流器与分压器。图片中R6和R12的作用就是进行分压操作。我们在学校学的电阻无非就是R=U/I等这种基础的知识。而我们在设计电路时,这些知识,就显得那么苍白,一、主要用途电阻的主要用途是稳定和调节电路中的电流和电压,其次可以作为分流器与分压器。原创 2021-05-15 14:22:57 · 1036 阅读 · 0 评论 -
嵌入式day09
数组在函数间传参全局数组传递方式复制传递方式 实参为数组的指针,形参为数组名(本质是一个指针变量)地址传递方式 实参为数组的指针,形参为同类型的指针变量编写函数,计算一个一维整型数组的所有元素的和#include<stdio.h>int array_sum(int data[], int n);int main(int argc, char *argv[]){...原创 2019-08-04 20:51:36 · 228 阅读 · 0 评论 -
嵌入式day05
循环结构goto语句当函数有很多个出口,使用goto把这些出口集中到一处是很方便的,特别是函数中有许多重复的清理工作的时候。原因:无条件跳转易于理解可以减少嵌套可以避免那种忘记更新某一个出口点的问题算是帮助编译器做了代码优化while语句基本形式:while(表达式){ statments;}do while语句基本形式:do{ statm...原创 2019-07-26 21:50:01 · 125 阅读 · 0 评论 -
嵌入式day08
指针数组所谓指针数组是指由若干个具有相同存储类型和数据类型的指针变量构成集合形式:<存储类型> <数据类型> *<指针数组名>[大小]指针数组名表示该数组指针数组的起始地址多级指针多级指针的定义:把一个指向指针变量的指针变量,称为多级指针变量对于指向处理数据的指针变量称为一级指针变量,简称一级指针,而把指向一级指针变量的指针变量称为二级指针...原创 2019-08-01 16:23:41 · 121 阅读 · 0 评论 -
嵌入式day10
unix的起源1969年,由KenThompson在AT&T贝尔实验室发现的。使用的是汇编语言。1970年,KenThompson和DennisRitchie使用C语言对整个系统进行加工和编写,使得Unix能够很容易的移植到其他硬件的计算机上。GNU&GPLGNU由Richard Stallman在1984年创建GPL:General Public LicenseLin...原创 2019-08-05 21:37:05 · 131 阅读 · 0 评论 -
嵌入式day13
条件编译编译器根据条件真假决定是否编译相关的代码常见的条件编译有两种方法根据宏是否定义#ifdef <macro>......#else......#endif根据宏的值#if <macro>......#else......#endif结构体在实际的处理对象中,有许多信息是由多个不同类型的数据组合在一起进行描述,而且这些不同类...原创 2019-08-08 20:22:13 · 161 阅读 · 0 评论 -
嵌入式day11
shell简介英文单词shell可直译为“贝壳”。“贝壳”是动物作为外在保护的一种工具。Linux中的shell就是Linux内核的一个外层保护工具,并负责完成用户与内核之间的交互。命令是用户向系统内核发出控制请求,与之交互的文本流。shell是一个命令行解释器,将用户命令解析为操作系统所能理解的指令,实现用户与操作系统的交互。当需要重复执行若干命令,可以将这些命令集合起来,加入一定的控...原创 2019-08-06 21:38:48 · 199 阅读 · 0 评论 -
嵌入式day12
shell脚本的本质shell脚本语言是解释型语言shell脚本的本质:shell命令的有序集合shell编程的基本过程建立shell文件——包含任意多行操作系统命令或shell命令的文本文件;赋予shell文件执行权限——用chmod命令修改权限;执行shell文件——直接在命令行上调用shell程序;shell变量shell允许用户建立变量存储数据,但不支持数...原创 2019-08-07 17:13:57 · 148 阅读 · 0 评论 -
嵌入式day14
Makefiletest:f1.o f2.o main.o gcc f1.o f2.o main.o -o testf1.o:f1.c gcc -c -Wall f1.c -o f1.of2.o:f2.c gcc -c -Wall f2.c -o f2.omain.o:main.c gcc -c -Wall main.c -o main.oclean: rm *.o test...原创 2019-08-09 19:17:51 · 5761 阅读 · 0 评论 -
嵌入式day17
栈栈是限制在一端进行插入和删除操作的线性表(俗称堆栈),允许进行操作的一端称为“栈顶”,另一固定端称为“栈底”,当栈中没有元素时称为“空栈”。特点:先进后出(LIFO)。基本运算:创建空栈:CreateStack(len)清空栈:ClearStack(S)判断是否栈空:EmptyStack(S)判断是否栈满:FullStack(S)元素进栈:PushStack(...原创 2019-08-19 20:49:59 · 134 阅读 · 0 评论 -
嵌入式day15
数据结构-算法算法定义算法(Algorithm)是解决特定问题的步骤的描述。在计算机中算法是一个有穷规则(或语句、指令)的有序集合。它确定了解决某一问题的一个运算序列。对于问题的初始输入,通过算法有限步的运行,产生一个或多个输出。算法与程序算法是解决问题的思想方法程序是计算机语言的具体实现算法与数据结构算法设计:取决于选定的逻辑结构算法实现:依赖于采用的存储结构瑞士科学家沃思(...原创 2019-08-10 18:10:23 · 105 阅读 · 0 评论 -
嵌入式day16
基本运算的相关算法建立单链表算法思路:依次读入表L=(a0…,an-1)中每一个元素ai(假设为整形),若ai≠结束符(-1),则为ai创建一节点,然后插入表尾,最后返回链表的头结点指针H.算法描述:linklist CreatLinklist(){ data_t a; linklist_t h, p, r, h=(linklist_t(malloc(sizeof(linknod...原创 2019-08-15 16:12:57 · 144 阅读 · 0 评论 -
嵌入式day18
队列的链式存储typedef int datatype; //定义链队列中数据元素的数据类型typedef struct node{ datatype data; //数据域 struct node *next; //链接指针域}linklist; //链表元素类型定义typedef...原创 2019-08-24 18:36:25 · 119 阅读 · 0 评论 -
嵌入式day07
指针运算指针的算术运算:运算符计算形式意义+px+n指针向地址大的方向移动n个数据-px-n指针向地址小的方向移动n个数据++px++指针向地址大的方向移动1个数据–px–指针向地址小的方向移动1个数据-px-py两个指针之间相隔数据元素的个数注意:不同数据类型的两个指针实际加减整数运算是无意义的px+n表示的实际位置...原创 2019-07-31 19:15:49 · 119 阅读 · 0 评论 -
嵌入式day01
Linux部分由于前面已经学习了Linux,所以在这里只做简单的补充;vi编辑器三种模式 命令行模式: 用户在用vi编辑时文件时,最初进入的该模式。课以进行复制、粘贴等操作。 插入模式: 进行文件编辑,按ESC键可以回到命令行模式。 底行模式: 光标位于屏幕底行。可以进行文件的保存、退出、查找、替换、列出行号等。Vi光标命令命令功能h方向...原创 2019-07-22 18:15:55 · 106 阅读 · 0 评论 -
嵌入式复习
第一章嵌入式系统概念:以应用为中心,以计算机为基础,软件、硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统(国内);用于控制、监控或辅助操作机器和设备的装置(IEEE);嵌入式发展阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段;嵌入式应用领域:工业控制、交通管理、信息家电、家庭智能管理、网络及电子商务、环境监测和机器人等方面。嵌...原创 2019-04-28 12:49:34 · 4168 阅读 · 0 评论 -
Linux常用命令
1. 文件管理ls命令 – 显示指定工作目录下的内容及属性信息ls 命令是Linux下最常用的指令之一。ls命令为英文单词 list 的缩写,正如英文单词 list 的意思,其功能是列出指定目录下的内容及其相关属性信息。默认状态下,ls命令会列出当前目录的内容。而带上参数后,我们可以用ls做更多的事情。作为最基础同时又是使用频率很高的命令,我们很有必要搞清楚ls命令的用法,那么接下来一起看看...原创 2019-06-11 21:51:00 · 485 阅读 · 0 评论 -
Linux学习(二)
七、高级指令1.hostname指令作用:操作服务器的主机名(读取、设置)语法:#hostname——含义:表示输出完整的主机名语法:#hostname -f——含义:表示输出当前主机名中的FQDN(全限定域名)37.png2.id命令作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id...),该指令如果不指定用户则默认当前用户。语法1:...原创 2019-07-16 16:45:15 · 148 阅读 · 0 评论 -
Linux学习(四)
Linux自有服务自有服务:即不需要用户独立安装的服务,而是当系统安装好之后就可以直接使用的服务(内置)一、运行模式运行模式也可称之为运行级别在Linux中存在一个进程:init(initialize,初始化),进程id是1;查看init进程:#ps -ef | grep init该进程存在一个对应的配置文件:inittab(系统运行级别配置文件,位置/etc/init...原创 2019-07-18 22:51:59 · 189 阅读 · 0 评论 -
嵌入式day02
由于以前学过C语言,现在只是来复习和拓展一下。数据类型基本数据类型逻辑类型。只有两个量true和false,表示逻辑真值和逻辑假植。整数类型。包括char,short,int和long。浮点类型。包括float和double。void类型。主要用于说明不返回的函数或指针。bool类型。非零(true),零(false)。需要加头文件<stdbool.h>。char类型...原创 2019-07-23 20:30:23 · 120 阅读 · 0 评论 -
Linux补(一)
终端tty控制台终端tty1-tty6tty1既是图形界面(默认)图形界面切换到字符界面终端:ctrl + shift + alt + F2~F6字符界面切花到图形界面终端:alt + F1pts虚拟终端ctrl + alt + t 打开新终端查看系统和BIOS硬件时间:指的是bios时间Linux如何获得帮助?方法1:加参数-h 或–help;方法2:man 加命令;...原创 2019-07-19 17:21:19 · 203 阅读 · 0 评论 -
Linux学习(三)
八、vim的介绍vi是所有unix和Linux系统下的标准编辑器。vi和vim都是linux中的编辑器,不同的是,vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。vim重点是光标的移动,模式切换店,删除,查找替换,复制,粘贴,撤销命令的使用。九、vim三种模式(重点)vim中存在三种模式(大众的认知):命令模式、编辑模式(输入模式)、末行...原创 2019-07-17 22:02:12 · 149 阅读 · 0 评论 -
嵌入式day03
运算符算术运算符C提供的算术运算符:+,-,*,/,%,++注意:float或double不能取余关系运算符逻辑运算符位运算符位移位运算的一般形式:<运算量> <运算符> <表达式>其中:<运算量> 必须为整型结果数值;<运算符>为左移位(<<)或 右移位(>>)运算符;<表...原创 2019-07-24 21:43:06 · 135 阅读 · 0 评论 -
Linux补(二)
进入单用户找回root身份编辑/etc/passwd,vim /etc/passwd将root:x:变成root::文件基本权限(不适用于root)对于文件:r读 w写 x执行对于目录:r读(看到目录里面有什么)w建文件、删除、移动x进入修改权限命令chmod作用:修改文件权限u + rg - wo = xa + x a表示所有(u、g、o)修改文件夹...原创 2019-07-20 21:20:59 · 162 阅读 · 0 评论 -
嵌入式day06
字符串C语言中无字符串常量,用字符数组处理字符串,字符串结束标志’\0’;输入一个字符串,让其逆序输出#include<stdio.h>#define N 20int main(int argc, char *argv[]){ char arr[N] = {0}; int i, n; printf("Please input a string:"); gets(...原创 2019-07-30 16:15:35 · 161 阅读 · 0 评论 -
嵌入式day04
输入函数留下的“垃圾”#include<stdio.h>int main(int argc, char *argv[]){ int x; char y; scanf("%d", &x); scanf("%c", &y); printf("x=%d, y=%c\n", x, y); return 0;}当执行上面程序时,容易输入一个数字...原创 2019-07-25 22:24:21 · 169 阅读 · 0 评论