自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 收藏
  • 关注

原创 出现Command ‘locate‘ not found,but can be installed with:apt install mlocate解决方法

出现Command ‘locate’ not found,but can be installed with:apt install mlocate解决方法在使用Ubuntn出现Command ‘locate’ not found,but can be installed with:apt install mlocate是因为没有安装解决步骤:1.切换root用户(如果有root用户可以直接su root)1.1设置密码sudo passwd root1.2需要输入两次密码1.3切换ro

2021-04-05 17:47:43 8230

原创 【正点原子】STM32开发板实验教程(F103)第36讲OLED显示实验

OLEDOLED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机电激光(Organic Electroluminesence Display,OLED)。OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制造较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。OLED显示技术...

2019-10-15 11:43:42 4218

原创 【正点原子】STM32开发板实验教程(F103)第17讲按键输入实验—GPIO做输入

GPIO输操作说明读取IO口输入电平调用库函数为:uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);2.读取IO口输入电平操作寄存器为:GPIOx_IDR:端口输入寄存器3.使用位带操作读取IO口输入电平:PEin(4) -读取GPIOE.4口电平PEin(n) -读取GPIOE.n口电平...

2019-10-15 10:26:43 2546

原创 第一次考核_开始

考试时间30分钟,满分100分列出5个常用的linux命令,并说明功能ls 显示当前目录的内容cd 进入文件夹pwd 显示当前路径mv 重命名文件rm 删除ls命令如何显示隐藏文件,写出命令ls -a拷贝当前目录下的test文件夹到/tmp目录,写出命令cp test /tmp -a写出下列程序的运行结果void func(int a) {switch (a)...

2019-10-14 15:00:18 254

原创 【正点原子】STM32开发板实验教程(F103)第52讲 I2C通信实验

IIC通信I2C(IIC,Inter-Integrated Circuit),两线式串行总线,由PHILIPS公司开发用于连接微控制器及外围设备。它是由数据线SDA和时钟线SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,告诉IIC总线一般可达400bps以上。IIC是半双工通信方式I2C协议空闲状态开始信号停止信号应答信号数据的有效性...

2019-10-14 14:34:36 2367

原创 51单片机的串口部分

串口的概念1.什么是串口含义:串口通信 //串行通信接口或串口通讯接口作用:有线通信分类:RS232 TTL RS485特点:数据一位一位地按顺序传送通信线路简单,只要一对(两根)传输线就可以通信双向通信速度较慢2.串口通信原理3.串口通信协议4.串口编程...

2019-10-14 13:49:22 529

原创 static局部静态变量

int x=4;void incre(){static int x=1;x*=x+1;printf(“%d”,x);}int _tmain(int argc,_TCHAR* argv[]){int I;for(i=1;i<x;i++){incre();}return 0;}解析:static初始化一次,使得函数结束时局部变量x不被释放,下一次使用函数时x使用上...

2019-10-14 11:12:45 970

原创 unsigned char 溢出怎么办?

int main(){unsigned char i = 1;i -= 4;printf(“the value of i is: % d”, i);}解析:unsigned char 总共8位,1-4 = -3. -3用8位二进制表示为 1111 1101,因为是无符号数,所以最高位的1不做符号位,作为数值为,11111101对应的十进制数为253发生了类型转换,由unsigne...

2019-10-14 11:11:38 1500

原创 静态存储变量具有局部的生存期.说法是否正确?

正确错误解析:局部变量存在栈区new出的变量存在堆区static变量和全局变量由操作系统释放

2019-10-14 11:10:19 731

原创 C语言数据结构——day1、03数据结构基本理论

数据结构的基本概念算法5个特性:输入 输出 有穷 确定 可行性数据结构分类逻辑结构集合 元素之间没有关系,都是平等,不去探讨线性1:1关系 除了第一个元素没有前驱,最后一个元素没有后继,其他元素都有唯一的前驱和后继树形 1:n圆形 n:n物理结构顺序存储链式存储1.1数据数据:是描述客观事实的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符...

2019-10-12 12:03:31 135

原创 Linux网络编程

1.网络编程概述TCP/UDP对比(面试题)TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的,UDP没有拥塞控制,因此网络出现拥塞不...

2019-10-12 10:29:53 289

原创 c语言考点答案

1. 头文件 ifndef/define/endif的作用反正头文件多次引用2. 定义一个宏实现MAX,找出a,b中的最大值#define MAX(a, b) ((a) > (b)?(a):(b))3.1 某32位系统下, C++程序,请计算sizeof 的值void main { char str[] = "xmgcc"; void *p = malloc(100); ...

2019-10-08 22:47:11 566 1

原创 嵌入式linux开发实践——项目2Linux使用基础22、23、24

22.进程管理查看进程信息ps命令用途:查看静态的进程统计信息格式:ps auxps -elftop命令用途:查看动态的进程排名信息终止进程的运行Ctrl+Z组合键中断正在执行的命令kill、killall命令kill用于终止指定PID号的进程killall用于终止指定名称的所有进程-9选项用于强制终止23.编辑工具VI(一)文本编辑器文本编辑器的作用创建或修改...

2019-10-05 19:46:41 262

原创 嵌入式linux开发实践——项目2Linux使用基础网络管理

19.网络管理—ifconfig查看网络接口信息查看所有活动网络接口的信息执行ifconfig查看指定网络接口信息查看格式:ifconfig 网络接口名设置网络接口参数——ifconfig设置网络接口的ip地址、子网掩码格式:ifconfig 接口名 ip地址 [netmask 子网掩码]ifconfig 网络接口 ip地址[/掩码长度]禁用或者重新激活网卡格式:ifcon...

2019-10-05 18:34:09 323

原创 嵌入式linux开发实践——Linux使用基础17.磁盘分区18.挂载磁盘

17.磁盘分区新增一个硬盘在系统里面新增一个硬盘时,应该有哪些动作需要做的呢:对磁盘进行分区,以创建可用的partition;对该partition进行格式化(format),以创建系统可用的filesystem;若想要仔细一点,则可对刚刚创建好的filesystem进行检验;在Linux系统上,需要创建挂载点(亦即使目录),并将他挂载上来;确认系统中的磁盘设备fdisk命令...

2019-10-05 17:47:38 504

原创 嵌入式linux开发实践——项目2Linux使用基础16.压缩与归档

归档及压缩命令.Z compress程序压缩的文件;*.gz gzip程序压缩的文件;*.bz2 bzip2程序压缩的文件;*.tar tar程序打包的数据,并没有压缩过;*.tar.gz tar程序打包的文件,其中并且经过gzip的压缩*.tar.bz2 tar程序打包的文件,并且经过bzip2的压缩gzip命令、bzip2命令用途:制作压缩文件、解开压缩文件格式 gz...

2019-10-05 14:59:17 249

原创 嵌入式linux开发实践——Linux使用基础14.用户管理15.文件权限管理

添加用户账号useradd命令格式:useradd [选项]… 用户名常用命令选项-u:指定UID标记号-d:指定宿主目录,缺省为/home/用户名-e:指定账号失效时间-g:指定用户的基本组名(或UID号)-G:指定用户的附加组名(或UID号)-M:不为用户建立并初始化宿主目录-s:指定用户登入的Shelluseradd testusermore +/testuser /...

2019-10-05 14:27:06 313

原创 嵌入式Linux开发实践——Linux使用基础管理Linux文件

管理Linux文件(一)文件相关命令目录操作命令pwd、cd、ls、mkdir、du文件操作命令touch、file、cp、rm、mv、which、find、ln文件内容操作命令cat、more、less、head、tail、wc、grep目录操作命令pwd命令用途:查看工作目录(Print Working Directory)cd命令用途:切换工作目录(Change Di...

2019-10-05 11:27:10 118

原创 嵌入式linux开发实践——项目2Linux使用基础6、7、8

6.文件系统Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。Linux最早的文件系统是Minix,但是专门为Linux设计的文件系统——拓展文件系统第二版(EXT2)被设计出来并添加到Linux中,这对Linux产生了重大影响。常用的文件系统ext2swapvf...

2019-10-05 03:57:38 293

原创 嵌入式linux开发实战——项目1认识嵌入式系统

1嵌入式系统学习路线主要招聘的行业企业:智能家居、消费电子、医疗、工业自动化、通信设备、汽车电子学习路线:Linux入门、C语言、linux应用开发、linux系统开发、linux驱动误区:今天学这、明天学那,资料太多,只看资料不动手2什么是嵌入式系统别动,你已经被嵌入式设备包围了我们生活已经处处可见嵌入式系统,医疗电子、智能家居、物流管理、电力控制、所有带数字接口和程序控制的设备...

2019-10-05 01:56:36 10262 1

原创 18C语言深入浅出提高day7—02链表的反转以及统计长度的实现

1.链表作业反转链表 通过3个辅助指针变量实现链表的翻转统计链表长度 int size_Linklist(struct LinkNode *pHead);测试代码:#include <stdio.h>#include "linklist.h"void test02(){ struct LinkNode *pHead = init_Linklist(); ...

2019-10-03 10:22:39 107

原创 18C语言提高深入浅出day7—03回调函数案例-实现对任意数据类型排序

提供一个函数,可以对任意类型的数据进行排序,排序规则 选择排序阅读本代码之前,先要复习一下选择排序。代码:#include <stdio.h>#include <string.h>#include <stdlib.h>void selectSort(void *arr, int eleSize, int len, in...

2019-10-02 19:42:29 173

原创 18C语言深入浅出day6——回调函数

08函数指针的定义QT中打印地址不会改变,或者改变很小函数指针指向函数的地址 如何定义函数指针返回值 函数名 (参数列表) void(*pFuncPointer)(int) = (void(*)(int))4199952;先定义函数类型,再通过类型定义出函数指针typedef void(FUNC_TYPE)(); FUNC_TYPE *pFunc = Func;先...

2019-10-02 13:27:09 162

原创 电动车防盗报警器

单片机概念快速理解模块架构图:C51精细震动传感模块蜂鸣器模块遥控模块单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片...

2019-10-01 14:57:45 1434

原创 Linux系统编程--进程编程

问1:什么是程序,什么是进程,有什么区别?程序是静态的概念,gcc xxx.c -o pro,磁盘中生成pro文件,叫做程序进程是程序的一次运行活动,通俗点意思是程序跑起来了,系统中就多了一个进程问2:如何查看系统中有哪些进程?使用ps指令查看,实际工作中,配合grep来查找程序中是否存在某一进程grep3级标题3级标题3级标题...

2019-09-30 00:03:47 249

原创 Linux系统编程——文件编程

1.文件编程概述文件系统原理及访问机制文件在内核中的管理机制什么事文件信息节点inode文件的共享文件权限,其他用户对其权限(应用为王)操作系统提供了一系列的API如Linux系统:打开 open读写 write/read光标定位 lseek关闭 close2.文件打开及创建原型NAME open, creat - open and possibly...

2019-09-29 21:42:07 243

原创 C深入浅出提高——day6(链表)

1.链表的基本概念1.1链表引出数组有缺陷静态空间,一旦分配内存就不可以动态扩展,要不分配不够,要不分配过多对于数组头部进行插入和删除效率低1.2链表的组成链表是由节点组成的节点由数据域和指针域组成struct LinkNode {int num, struct LinkNode *next};1.3链表的分类方式1 静态链表 动态链表方式2 单向链表 双向链表 单...

2019-09-28 13:13:39 100

原创 进程间的通信(笔记一)

IPC(进程间的通信)有:无名管道、命名管道、消息队列、共享内存、信号量无名管道特点:半双工(同一时间数据单向)父子进程或者兄弟进程存在于内存,是特殊文件管道数据,读走就没有了(类似水管)无名管道拿到读端和写端不以文件的形式存在磁盘eg:#include <stdio.h>#include <unistd.h>#include <string...

2019-09-26 09:47:14 114

转载 (每日好几题)如何引用一个已经定义过的全局变量?

extern关键字可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。...

2019-09-19 10:38:08 1237

转载 C语言中static、const的用法(能说出越多越好)

1、C语言中static、const的用法(能说出越多越好)static在C语言中主要是两种用法1、修饰局部变量2、修饰函数和全局变量static修饰局部变量时该变量是存放在静态存储区,生命周期是整个程序结束。static局部变量初次定义时就要初始化,且只能初始化一次。如果在定义的时候不初始化,编译器就会自动赋值为0;(也就是说如果重复调用同一个函数,在第二次调用时,就不会再执行stat...

2019-09-19 10:32:57 1310

原创 64位环境,写出变量占用几个字节?

类型字节char1unsigned char1short2unsigned short2int4unsigned int4long8unsigned long8float4double8指针8代码验证int a;printf(“sizeof(int)%ld”, sizeof(a));...

2019-09-10 15:13:17 496

原创 树莓派+超声波模块+linux环境程序实现

作为一名小白非常理解做出一个效果的成就感,网上资料纷繁复杂,不如化繁为简,捡一个最简单实现的,且行且珍惜。保护头发!硬件设备:树莓派(Raspberry Pi 3Mode| B V1.2)(我以为是一种吃的。。。)超声波模块(HC-SRO4)杜邦线四条电源线(给树莓派供电)代码附上:(C语言版本,linux下就可以使用)#include <wiringPi.h>#i...

2019-08-26 15:18:11 640

原创 分析:浮点数的比较不可以用 = = 或者 !=

int i, n = 0;float x = 1, y1 = 2.1 / 1.9, y2 = 1.9 / 2.1;for ( i = 1; i < 22; i++ )x = x * y1;while ( x != 1.0 ){x = x * y2; n++;}printf( “ %d / n ”, n );请问执行结果是:正确答案: C 你的答案: C (正确)21...

2019-08-20 17:19:03 835

原创 执行如下代码后输出结果为( )

int main(){int a[5] = {1, 2, 3, 4, 5};int ptr = (int)(&a + 1);printf("%d, %d", *(a + 1), *(ptr - 1));return;}正确答案: D 你的答案: D (正确)1,11,33,32,5&a + 1: 取数组a 的首地址,该地址的值加上sizeof(a) 的...

2019-08-20 16:43:18 2304

原创 以下程序运行后的输出结果是()?(会跳出循环嗷)

main(){ int p[7]={11,13,14,15,16,17,18};inti=0,j=0;while(i<7 && p[i]%2==1) j+=p[i++];printf("%d\n",j);}正确答案: B 你的答案: B (正确)23242526i等于0时,p[0]为奇数,进入while循环,j累加了p[0]的值为11; i加1为1...

2019-08-20 16:36:04 1346

原创 sizeof(float)是()

正确答案: B 你的答案: C (错误)一个双精度型表达式一个整型表达式一种函数调用一种参数调用【解释】sizeof 是计算某数据类型的变量所占内存大小的运算符,其值是占用内存的字节数,为一整型值,所以正确答案是B。sizeof 是一个操作符 不是一个函数,sizeof(float)是一个整型表达式...

2019-08-20 11:17:45 26581

原创 失策,switch语句有没有break

int func(int a){int b;switch (a){case 1: b = 30;case 2: b = 20;case 3: b = 16;default: b = 0;}return b;}则func(1) = ?正确答案: D 你的答案: C (错误)3020160func(1)=0,因为没有break语句,switch中会一直计算到b=...

2019-08-20 11:14:30 300

原创 下列关于构造函数的说法,错误的是()

正确答案: A 你的答案: A (正确)构造函数不可以是私有的(private)一个类中可以有多个构造函数无论何时,只要类的对象被创建,就会执行构造函数构造函数没有返回类型...

2019-08-20 10:54:22 9949

原创 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 ________ ( )(我觉得就是可以自己定义呗)

正确答案: B 你的答案: D (错误)地址传递单向值传递由实参传给形参,再由形参传回实参传递方式由用户指定个人认为:这里的简单变量应该是指内置类型,内置类型数据在传入函数时,使用值传递方式的效率要高于引用传递和指针传递,因此编译器会采用效率最高的方式来实现参数传递,所以选B(当然也允许用户更改),事实上包括STL中的迭代器和函数对象也都是默认采用值传递的方式来实现的。至于其他类型...

2019-08-20 10:53:41 27752 7

原创 char和int做个加法?

char a=101;int sum=200;a+=27;sum+=a;printf("%d\n",sum);3279932872D 72. char类型的范围是-128—+127,当a+=27 ,之后a的值超出可表示范围会变为-12841a为char型,-128~127,a=101,a+=27后溢出a=-128:a=127时不溢出 01111111(127补码)a...

2019-08-20 10:36:35 4055

空空如也

空空如也

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

TA关注的人

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