- 博客(35)
- 资源 (6)
- 收藏
- 关注
原创 NUC972DF71Y--linux系统构建(系统移植)
1、系统组成(1)硬件系统cpu核心(arm926ejs)SOC (NUC972DF71Y)其他(2)软件系统u-bootuImagefilesystem(rootfs)2、嵌入式系统构建(1)烧写u-boot、uImage、rootfs、环境变量env-yaffs2 的烧写请参考新唐7200资料包注:都是固化好的,烧录完就可登陆系统,登陆账号密...
2019-11-05 10:46:38
1650
原创 C51中的data和idata和code有什么区别
先来个总结:code用的是ROM空间,data类用的是RAM空间下面是总结的资料:51单片机有以下几个内存模块组成ROM或者FLASH就不说了。RAM有---内部RAM 的 低 128字节(00-7F)---内部RAM的 高 128字节(80-FF)---[80C51没有这段空间]---特殊功能寄存去(SFR)(80-FF)---外部RAM 64K(0000-...
2019-10-18 09:12:37
1924
原创 单片机运行的程序是在ram中的还是在rom中的
下文来说明单片机与x86cpu的具体途径:pc机在运行程序的时候先把程序从硬盘中,调入RAM中运行,cpu从RAM中读取程序和数据.而单片机的程序则是固化在flash 中,cpu运行的时候直接从flash 中读取程序,从RAM中读取数据.造成这种差别的原因:x86架构的cpu是基于冯.诺伊曼体系的,即数据和程序储存在一起,而且pc机的RAM资源相当丰富,从几十M到几百M甚至是几个G...
2019-10-15 15:47:26
8833
原创 单片机定义unsigned char code ds[]={.....};是什么意思
指定数组ds存储在code 区。也就是rom或者是flash ,这样看单片机 程序存储器 的构成,像7的就是EPROM如87C51;0的是掩膜,如80C51;9的就是flash,将建的89S51。code 去掉也行,不过是把变量存放到别的区域。这要根据编译器的设定存储模式来定。如果体积大了,就要定义在code区。毕竟51系列的ram不够,尤其是程序比较大的时候。...
2019-10-15 15:22:46
3562
原创 结构体中a->b和(*a).b的用法是等价的
有的时候看不懂的时候转换一下会比较好看例:((RCC_TypeDef*)RCC_BASE)->APB2ENR |=((1)<<3);就等同于(*(RCC_TypeDef*)RCC_BASE)).APB2ENR|=((1)<<3);可以看出在寄存器的操作中操作的是一个普通变量,不是地址变量综上所述,以下 3 种形式是等价的:结构体变量...
2019-06-22 14:14:44
3017
原创 STM32如何控制某个IO口为输出模式
以cortex-m3内核的GPIOB为例子:1、控制APB2寄存器使得外设时钟使能2、控制CRL寄存器使得IO口模式为输出模式3、控制ODR寄存器使得相应位置输出注:不要忘记时钟使能...
2019-06-05 00:18:29
2385
原创 为什么STM32在内存上能访问4个GB而在偏移量上只能访问4个字节?
1、32位系统最多可以访问4个G的内存:因为寻址的最小单位为Byte,所以2^32/1024/1024/1024=4G2、32位系统中的偏移地址都为4个字节:因为寻址最小单位为bit,所以32/8bit=4Byte为什么同样是32位,一个是4个G,另一个却是4Byte呢?直观的说:用在内存时是:0x0000 0000到0xFFFF FFFF ----> 换成10进制是0到4...
2019-06-04 16:34:32
952
转载 C语言中static关键字的作用
在C语言中static的作用如下第一、在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。 第二、static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。 第三、static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的局部变量存...
2018-03-28 17:00:11
292
原创 C语言中的volatile——让我保持原样
volatile译为:易变的。这不是和题目的让我保持原样矛盾了吗?其实不然,在变量前加上该关键字修饰,确实是告诉编译器,这个变量是一个容易改变的变量,不要对它进行优化,每次都要到变量的地址中去读取变量的数据,但正因为这样,才是保持了变量的原样,因为变量已经发生改变了,你却操作的是没有变化时的数据,这样才让变量失去了本应该保持的属性。eg:int a=1;a=2;a=3;....编译器看到这样的代码...
2018-02-12 13:04:42
209
原创 Qt 5.8无法启动此程序 计算机丢失Qt5Widgetsd.dll....
缺少环境变量:D:\Qt\5.8\mingw53_32\binD:\Qt\Tools\QtCreator\bin环境变量加上这两个。(具体路径按照自己的安装路径来,环境变量自行百度)
2018-01-28 20:15:16
1433
转载 linux 权限rwxrwxrwx(4 2 1)详细说明
三个三个一组看:1. 第一段表示文件所有者对此文件的操作权限2. 第二段表示文件所有者所在组对些文件的操作权限3. 第三段表示除上述两种外的任何用户/组对此文件的操作权限r读取:4w写入:2x执行:1加起来就好了。比如rwxrwxrwx是777rwx------ 是700
2018-01-25 10:18:42
6171
1
转载 C语言中的sizeof用法
C语言中的sizeof是一个很有意思的关键字,经常有人用不对,搞不清不是什么。我以前也有用错的时候,现在写一写,也算是提醒一下自己吧。反正现在来看,还在搞sizeof是什么意思,怎么用正确,还是有点搞笑,都经常用的东西,没有理解透彻,就差的太远了。第一 sizeof是什么 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等,sizeof操作符以字节形式给出了
2018-01-24 19:16:15
3682
转载 C语言中各种数据类型的大小
C语言 1.几条规则 (1)char类型一般是8bit,但ANSI C里没有硬性规定其长度,某些嵌入式编译器可能是16bit (2)short和long类型的长度不相同 (3)int类型通常同具体机器的物理字长相同 (4)short通常是16bits, int通常是16bits or 32bits每种编译器可以根据硬件的不同自由确定, 但是shor
2018-01-24 15:20:01
2076
转载 exit和return的区别
1. exit用于结束正在运行的整个程序,它将参数返回给OS,把控制权交给操作系统;而return 是退出当前函数,返回函数值,把控制权交给调用函数。2. exit是系统调用级别,它表示一个进程的结束;而return 是语言级别的,它表示调用堆栈的返回。3. 在main函数结束时,会隐式地调用exit函数,所以一般程序执行到main()结尾时,则结束主进程。exit将删除进程使用的内存空间
2017-12-07 21:09:41
326
转载 vector中的push_back
vector v; v.push_back(1); //v里面为: 1 v.push_back(2); //v里面为: 1,2 v.push_back(3); //v里面为: 1,2,3vector中 push_back函数的意思是在vector的末尾插入一个元素。
2017-11-12 20:51:42
3254
转载 try catch 和 throw
要防止因为异常产生的内存泄漏,可以使用智能指针,也可以用 __try { } __finally { } 《Windows核心编程》一书第23~25章是很好的参考资料。----------------------------------------------------try,catch,throw:try包含你要防护的代码 ,称为防护块. 防护块如果出现
2017-11-12 08:24:46
800
转载 #pragma
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。#pragma once(比较常用)只要在头文件的最开始加入这条
2017-11-08 18:24:11
380
人脸识别考勤系统 Face-Attendance.py
2023-04-21
一个简单的演示MEC-092人脸识别系统
2023-04-21
使用 Zoneminder、YOLO 和 OpenCV 进行物体和面部检测的摄像机监控 毕业设计
2023-04-21
U-EC5 Keil调试驱动
2019-08-19
DPO4000用户手册.zip
2019-07-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人