自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(72)
  • 收藏
  • 关注

转载 一些C代码

1 #include <stdio.h> 2 3 void foo(void) 4 { 5 unsigned int a = 6; 6 int b = -20; 7 (a+b>6)?puts(">6"):puts("<6"); 8 } 9 10 int main(void)11 {...

2019-09-15 08:55:00 419

转载 数组的内存布局

  先看下面的例子:int a[5];  所有人定明白这里定义了一个数组,其包含了5个int型的数据。我们可以用 a[0]、a[1]等来访问数组里面的每一个元素,那么这些元素的名字就是a[0]、a[1]...吗?  如图所示,当我们定义一个数组a时,编译器根据指定的元素个数和元素类型分配确定大小(元素类型大小*元素个数)的一块内存,并把这块内存的名字命名为a。名字...

2019-08-08 00:08:00 305

转载 数组名a作为左值和右值的区别

  简单而言,出现在赋值符“=”右边的就是右值,出现在赋值符“=”左边的就是左值。  比如,x=y。  左值:在这个上下文环境中,编译器认为x的含义是x所代表的地址。这个地址只有编译器知道,在编译的时候确定,编译器在一个特定的区域保存这个地址,我们完全不必考虑这个地址保存在哪里。  右值:在这个上下文环境中,编译器任务y的含义是y所代表的地址里面的内容。这个内容是什么,只有到...

2019-08-08 00:07:00 491

转载 &a[0] 和 &a 的区别

  这里 &a[0] 和 &a 到底是什么区别呢?  a[0]是一个元素,a是整个数组,虽然&a[0] 和 &a 的值一样,但其意义不一样。前者是数组首元素的首地址,而后者数数组的首地址。  举个例子:湖南的省政府在长沙,而长沙的市政府也在长沙。两个政府都在长沙,但其代表的意义完全不同。转载于:https://www.cnblogs.com/d...

2019-08-07 23:43:00 695

转载 如何将数值存储到指定的内存地址

  假设现在需要往内存地址0x12ff7c上存入一个整型数0x100,那么怎样才能做到呢?  我们知道可以通过一个指针向其指向的内存地址写入数据,那么这里的内存地址0x12ff7c其本质不就是一个指针嘛,所以我们可以用下面的方法:int *p = (int *)0x12ff7c;*p = 0x100;  需要注意的是,将地址0x12ff7c赋值给指针变量p的...

2019-08-07 22:14:00 1829

转载 int *p=NULL 和 *p=NULL有什么区别

  很多初学者搜无法分清这两者之间的区别。先看下面的代码:int *p = NULL;  这时候我们可以通过调试器查看p的值为0x00000000。这句代码的意思是:定义一个指针变量p,其指向的内存里面保存的是int类型的数据;在定义变量p的同时,把p的值设置为0x00000000,而不是把*p的值设置为0x00000000。这个过程叫做初始化,是在编译的时候进行的。...

2019-08-07 21:54:00 577

转载 “*”与防盗门钥匙

  指针变量p前的“*”号作用?  这里这个“*”号怎么理解呢?举个例子:当你回到家门口时,你想进屋第1件事就是拿出钥匙来开锁,试想防盗门的锁芯是不是很像这个“*”号?你要进屋必须要用钥匙,试想防盗门的锁芯是不是很像这个“*”号?你要进入必须要用钥匙,那你去读/写一块内存是不是也要一把钥匙呢?这个“*”号是不是就是我们最好的钥匙?使用指针的时候,没有它,你是不可能读/写某块内存的。...

2019-08-07 21:32:00 131

转载 指针的内存布局

指针的内存布局    先看下面的例子int *p;  大家都知道这是定义了一个指针p,但是p到底是什么东西呢?还记得第1章里说过“任何数据类型我们都可以把它当成一个模子”吗?p,毫无疑问,是某个模子“咔”出来的。我们也讨论过,任何模子都必须有特定的大小,这样才能“咔咔咔”。那“咔”出p这个模子到底是什么样子呢?它占多大的空间呢?现在用sizeof测试一下(32位系...

2019-08-07 08:59:00 173

转载 进程间通信

  进程间通信  在进程控制开发中,读者已经学会了如何创建进程以及如何对进程进行基本的控制,这些都只是停留在父子进程之间的控制,本章将样学习不同的进程间进行通信的方法。通过本章学习,读者将会掌握以下内容:掌握Linux中管道的基本概念掌握Linux中管道的创建掌握Linux中管道的读写掌握Linux中有名管道的创建读写方法掌握Linux中消息队列的处理掌握...

2019-07-08 16:13:00 257

转载 进程控制开发

进程控制开发  文件是linux中最常见最基础的操作对象,而进程则是系统调度的单位。Linux下进程概述  进程相关的基本概念  进程的定义  进程是一个独立的可调度的活动;进程是一个抽象实体,当执行某个任务是将要分配和释放各种资源;进程是可以并行执行的的计算部分。  以上进程的概念都不相同,但其本质是一样的。它指出了进程是一个程序的一次执行的过程。它和程序是由本...

2019-07-05 13:10:00 319

转载 ubuntu1604中安装arm-linux-gcc

1. 在 /usr/local中新建文件夹armsudo mkdir /usr/local/arm2. 改变arm文件夹属性sudo chmod 777 /usr/local/arm3. 将安装包复制到 arm目录下cp arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2 /usr/local/arm4. ...

2019-07-01 11:06:00 156

转载 FreeRTOS_软件定时器

FreeRTOS 软件定时器实验创建2个任务,start_task、timercontrol_task。start_stask:创建timercontrol_task任务;创建周期定时器AutoReloadTimer 和单次定时器OneShotTimer;创建二值信号量BinarySemaphore。BinarySemaphore:接收串口命名,在中断中释放...

2019-06-25 13:32:00 185

转载 ubuntu 使用apt命令时报错 E: Could not get lock /var/lib/dpkg/lock - open...

问题描述:刚刚安装好Ubuntu16.04。使用apt命令时,提示报错信息:abc@pc:~$ sudo apt-get install openssh-serverE: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)E: Unable to ...

2019-06-20 21:17:00 227

转载 FreeRTOS_事件标志组

FreeRTOS事件标志组事件标志组简介1. 事件位(事件标志)事件位用于表明某个事件是否发生,事件位通常用作事件标志,比如下面的几个例子:  当收到一条消息并且把这条消息处理掉以后就可以将某个位(标志)置1,当队列中没有消息需要处理的时候就可以将这个位(标志)置0。  当把队列中的消息通过网络发送输出以后就可以将某个位(标志)置1,当没有数据需要从网络发送出去的话就...

2019-06-20 13:47:00 324

转载 FreeRTOS_信号量

FreeRTOS信号量信号量是操作系统总重要的一部分,信号量一般用来进行资源管理和任务同步,FreeRTOS中信号量又分为二值信号量、计数型信号量、互斥信号量和递归互斥信号量。不同的信号量其应用场景不同,但是有些场景是可以互换着使用的。信号量简介信号量常常用于控制对共享资源的访问和任务同步。举一个很常见的例子,某个停车场有100个停车位,这100个停车位大家都可以使用,...

2019-06-16 14:46:00 461

转载 DES

DES全称为Data Encryption Standard,即数据加密标准,是一种使用秘钥加密的块算法。DES算法入口参数:  DES算法的入口参数有三个:Key、Data、Mode。其中Key为7个字节共56位,是DES算法的工作秘钥;Data为8个字节64位,是要被加密或解密的数据;Mode为DES的工作方式,有两种:加密或解密。DES基本原则:DES设计中使...

2019-06-16 11:08:00 134

转载 FreeRTOS笔记

任务的创建和删除(静态方法)任务创建后要开启调度器。FreeRTOSConfig.h1. 改宏 使能静态创建函数。  会出现,有两个函数未定义。Cortex-M中断管理(上)NVIC:嵌套向量中断控制器。与中断有关的寄存器都在NVIC和SCB中Cortex-M中断管理(下)中断优先级设置IP[240U]中断向量表中定义具体对应关系...

2019-06-05 18:14:00 213

转载 第4章 裸机系统和多任务系统

在真正动手写RTOS之前,我们先来讲解下单片机编程中的裸机系统和多任务系统的区别。4.1 裸机系统裸机系统通常分为轮询系统和前后台系统,有关这两者的具体实现方式请看下面的讲解。4.1.1 轮询系统轮询系统即是在裸机编程的时候,先初始化好相关的硬件,然后让主程序在一个死循环里面不断循环,顺序完成各种事情,大概的伪代码具体见代码清单 4-1。轮询系统是一种非常简单的软件结构,...

2019-05-24 14:29:00 478

转载 第008课_第1个ARM落版程序及引申

form:第008课_第1个ARM裸板程序及引申第001节_辅线1_硬件知识_LED原理图当我们学习C语言的时候,我们会写个Hello程序。那当我们下ARM程序,也该有一个简单的程序引领我们入门,这个程序就是点亮LED。我们怎样去点亮一个LED呢?分为三步:  1. 看原理图,确定控制LED的引脚;  2. 看主芯片的芯片手册,确定如何控制这个引脚  3. 写程序...

2019-04-02 18:42:00 122

转载 第011课_串口(UART)的使用

from: 第011课_串口(UART)的使用第001节_辅线1_硬件知识_UART硬件介绍1. 串口的硬件介绍UART的全称是 Universal Asynchronous Receiver and Transmiter ,即异步发送和接收。串口在嵌入式中用途非常广泛,主要的用途有:  1. 打印调试信息;  2. 外接各种模块:GPS、蓝牙等;串口因为结构...

2019-04-02 13:52:00 650

转载 第010课_掌握ARM芯片时钟体系

from:第010课_掌握ARM芯片时钟体系第001节_S3C2440时钟体系结构S3C2440是System On Chip(SOC),在芯片省不仅仅有CPU,还有一堆外设。至于有哪些外设,可以查看参考手册。在S3C2440参考手册的第一章PRODUCT OVERVOEW里面有个BLOCK DIAGRAM图:可以把该图分为上中下三块,上面的是誉CPU紧密...

2019-04-02 09:45:00 172

转载 第009课 gcc和arm-linux-gcc和MakeFile

from:第009课 gcc和arm-linux-gcc和MakeFile第001节_gcc编译器1_gcc常用选项_gcc编译过程详解gcc的使用方法gcc [选项] 文件名gcc常用选项gcc常用选项选项功能-v查看gcc编译器的版本,显示gcc执行时的详细过程-o <file>指定输...

2019-03-31 18:15:00 262

转载 博客目录

ARM_S3C2440第009课 gcc和arm-linux-gcc和Makefile(链接)第010课 掌握ARM芯片时钟体系(链接)第011课 串口(UART)的使用 (链接)FreeRTOS  FreeRTOS信号量  FreeRTOS软件定时器  FreeRTOS事件标志组  FreeRTOS任务通知算法  DES加密Py...

2019-02-11 17:51:00 92

转载 基于Python的Web应用开发实战——3 模板

要想开发出易于维护的程序,关键在于编写形式简洁且结构良好的代码。当目前为止,你看到的示例都太简单,无法说明这一点,但Flask视图函数的两个完全独立的作用却被融合在了一起,这就产生了一个问题。视图函数的作用很明确,即生成请求的响应。如第2章中的示例,对简单的请求来所,这就足够了。但一般而言,请求会改变程序的状态,而这种变化也会在视图函数中产生。例如,用户在...

2018-11-03 13:57:00 200

转载 基于Python的Web应用开发实战——2 程序的基本结构

2.1 初始化所有Flaks程序都必须创建一个程序实例。Web服务器使用一种名为Web服务器网关接口(Web Server Gateway Interface,WSGI)的协议,把接收自客户端的所有请求都转交给这个对象处理。程序实例是Flask类的对象,经常使用下述代码创建:1 from flask import Flask2 app = Flask(__n...

2018-10-29 22:35:00 139

转载 makefile 工程管理

GNU makeLinux程序员必须学会使用GNU make来构建和管理自己的软件工程。GNU 的 make 能够使整个软件工程的编译、链接只需要一个命令就可以完成。Makefilemake在执行时,需要一个名为Makefile的文件。Makefile文件描述了整个工程的编译,链接等规则。  其中包括哪些源文件需要编译以及如何编译;  需要创...

2018-10-20 23:56:00 135

转载 GDB

简介GDB是GNU发布的一款功能强大的程序调试工具。GDB主要完成以下三方面的功能:1. 启动被调试的程序。2. 让被调试的程序在指定的位置停住。3. 当程序被停住时,可以检查程序状态(如变量值)。起步 1 #tst.c 2 #include <stdio.h> 3 void main() 4 { 5   int i;...

2018-10-20 22:36:00 70

转载 算法:2选择排序

选择排序时间:O(n^2)实现功能:将数组元素按从小到大的顺序排列。思路:先找出数组中的最小元素,将最小的元素复制给新的数组。使用python实现。(python中列表与数组相似) 1 //找出列表中最小的元素 2 def findSmallest(arr): 3 smallest = arr[0] //存储最小的值 4 ...

2018-09-19 22:54:00 67

转载 Centos7 安装python3.5.3

使用root用户安装:切换到root用户su回车,然后输入密码,切换到root用户。新建一个脚本,如installPython.sh#!/bin/bashyum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-de...

2018-09-13 22:54:00 242

转载 random模块

random 模块随机:在某个范恩内取到每一个值的概率是相同的用于:抽奖,彩票,随机红包,验证码,洗牌随机小数import random#随机小数ret = random.random() # [0,1)之内的随机小数ret = random.uniform(1,5) # [1,5)之间的随机小数随机整数#随机整数ret...

2018-08-17 17:12:00 69

转载 HTML

HTML是什么?超文本标记语言超文本:页面内可以包含图片、链接,设置音乐、程序等非文字元素标记语言:标记(标签)构成的语言网页 = HTML文档,由浏览器解析,用来展示。静态网页:静态的资源,如 xxx.html动态网页:HTML代码是由某种开发语言根据用户请求动态生成的HTML文档树形结构图:HTML的基本结构 1 <...

2018-08-17 17:09:00 100

转载 百度百灯问题

题目:有100盏灯泡,第一轮点亮所有电灯,第二轮每两盏灯熄灭一盏,即熄灭第2盏,第4盏,以此类推,第三轮改变编号为3的倍数的电灯,第3盏,第6盏,如果原来那盏灯是亮的,就熄灭它,如果原来是灭的,就点亮它,以此类推,直到第100轮。问第100结束后,还有多少盏灯泡是亮的?思路:灯的编号越大,被操作的次数就会越多。例如:第5次操作的时候,前4盏灯就不会再被操作了,第5盏及后...

2018-07-28 23:46:00 232

转载 Redis持久化的几种方式

1.前言  Redis是一种高级的key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集合,有序集合。支持在服务器端计算集合的并,交和补集(difference)等。还能支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。  Redis的所有数据都保存在内存中,然后不定期的通过异步方式保存到磁盘上(这成...

2018-07-28 00:55:00 145

转载 CentOS 6.5下安装Python 3.5.2(与Python2并存)

CentOS 6.5下安装Python 3.5.2(与Python2并存)安装步骤1,准备编译环境(环境不对,在安装过程中可能遇到各种问题。比如wget无法下载链接的文件)yum groupinstall 'Development Tools'yum install zlib-devel bzip2-devel openssl-devel ncurses-...

2018-07-21 22:19:00 72

转载 Linux目录结构及详细介绍

/:根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中。/bin,/usr/bin:该目录为命令文件目录,也称为二进制目录。包含了供系统管理员及普通用户使用的重要的linux命令和二进制(可执行)文件,包含shell解释器等。/boot: 该目录中存放系统的内核文件和引...

2018-07-21 22:15:00 88

转载 ndarray数组变换

1 import numpy as np维度变换1 a = np.arange(24)2 aarray([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23])reshape(),视图,不修改...

2018-07-13 00:09:00 164

转载 ndarray数组自动创建

为了实现某些运算,需要快速构造符合要求的大数组Numpy函数生成的数组,如不指定类类型,几乎全为浮点型(arange除外,它是整形),因为科学计算中测量值,例如温度、长度,都是浮点数1 import numpy as np2 import matplotlib.pyplot as plt3 plt.style.use('seaborn')1 np.aran...

2018-07-12 23:40:00 130

转载 python_对字符串操作.join() 效率 比 + 效率高

将列表中的字符拼接成字符串时,有两种方式方式1:使用join()方法,将列表转为字符串方式2:使用+运算符,循环遍历 1 import time 2 str1 = ['a','b','c','d','e','f','g']*100000 3 4 start_time = time.time() 5 output1 = '' 6 for v in st...

2018-07-11 08:32:00 376

转载 进程池_Pool

当需要创建子进程数量不多的时候,可以直接利用multiprocessing中的Process动态生成多个进程但是如果是成百甚至上千个任务,手动地创建它的工作量很大,此时就可以利用到multiprocessing下的pool初始化Pool时,可以指定一个最大的进程数,当有新的请求提交到Pool中时,如果池子还没有满,那么就会创建一个新的进程来执行该请求,但如果满了(池子中的进程...

2018-07-10 14:23:00 73

转载 数学计算展示图像

1 import matplotlib.pyplot as plt 2 plt.rcParams['font.family'] = ['Arial Unicode MS', 'Microsoft Yahei', 'SimHei', 'sans-serif'] 3 4 5 x = [-15,-5,0,5,8,10] 6 7 a = 2 8...

2018-07-10 14:18:00 131

空空如也

空空如也

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

TA关注的人

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