dengbai5758
码龄8年
关注
提问 私信
  • 博客:37,249
    37,249
    总访问量
  • 暂无
    原创
  • 1,158,832
    排名
  • 6
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:西班牙
  • 加入CSDN时间: 2017-03-30
查看详细资料
个人成就
  • 获得13次点赞
  • 内容获得0次评论
  • 获得57次收藏
创作历程
  • 23篇
    2019年
  • 38篇
    2018年
  • 11篇
    2017年
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

一些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 ·
446 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

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

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

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

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

数组的内存布局

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

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

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

&a[0] 和 &a 的区别

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

指针的内存布局

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

“*”与防盗门钥匙

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

进程间通信

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

进程控制开发

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

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 ·
174 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

FreeRTOS_软件定时器

FreeRTOS 软件定时器实验创建2个任务,start_task、timercontrol_task。start_stask:创建timercontrol_task任务;创建周期定时器AutoReloadTimer 和单次定时器OneShotTimer;创建二值信号量BinarySemaphore。BinarySemaphore:接收串口命名,在中断中释放...
转载
发布博客 2019.06.25 ·
195 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

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 ·
255 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

FreeRTOS_事件标志组

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

FreeRTOS_信号量

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

FreeRTOS笔记

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

DES

DES全称为Data Encryption Standard,即数据加密标准,是一种使用秘钥加密的块算法。DES算法入口参数:  DES算法的入口参数有三个:Key、Data、Mode。其中Key为7个字节共56位,是DES算法的工作秘钥;Data为8个字节64位,是要被加密或解密的数据;Mode为DES的工作方式,有两种:加密或解密。DES基本原则:DES设计中使...
转载
发布博客 2019.06.16 ·
149 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

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

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

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

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

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

from:第010课_掌握ARM芯片时钟体系第001节_S3C2440时钟体系结构S3C2440是System On Chip(SOC),在芯片省不仅仅有CPU,还有一堆外设。至于有哪些外设,可以查看参考手册。在S3C2440参考手册的第一章PRODUCT OVERVOEW里面有个BLOCK DIAGRAM图:可以把该图分为上中下三块,上面的是誉CPU紧密...
转载
发布博客 2019.04.02 ·
182 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多