嵌入式学习
文章平均质量分 68
喜欢哲学的女孩
人生苦短,何必将就
展开
-
嵌入式中代码书写方法的一点总结
今天在看郭天祥老师的《新概念51单片机c语言教程入门、提高、开发》中看到这样一段话:在C语言代码中,如果有一些语句不知一次的用到,而且语句内容都相同,我们就可以把这样的一些语句写成一个子函数,当在主函数中需要用到这些语句时,直接调用这个函数就可以了。 就像本书中讲到的例子,在延时要求不高的情况下,完全可以用for循环延时。因此,我们可以把那些常用的延时时间(像1S,1Ms,5Ms)用一个带原创 2013-07-08 14:02:07 · 1186 阅读 · 0 评论 -
RAM和ROM和Flash ROM的区别
RAM(Random Access Memory)的全名为随机存取记忆体,它相当于PC机上的移动存储,用来存储和保存数据的。它在任何时候都可以读写,RAM通常是作为操作系统或其他正在运行程序的临时存储介质(可称作系统内存)。 不过,当电源关闭时RAM不能保留数据,如果需要保存数据,就必须把它们写入到一个长期的存储器中(例如硬盘)。正因为如此,有时也将RAM称作“可变存储器”。RAM转载 2014-11-21 11:36:35 · 823 阅读 · 0 评论 -
【嵌入式方向指南】作为一个新人,怎样学习嵌入式Linux?
作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下。 在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输入数字求和什么的。学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决;执行出错没关系,自己去分析。以转载 2014-05-22 15:15:28 · 1695 阅读 · 1 评论 -
【嵌入式方向指南】嵌入式学习路线
本文转载于:http://blog.chinaunix.net/uid-28458801-id-3753664.htmlARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9)(2)必须掌握一个嵌入式操作系统(初步定为uclinux或linux,版本待定)(3)必须熟悉嵌入式软件开发转载 2014-04-04 10:54:46 · 1400 阅读 · 0 评论 -
TQ2440学习【0】:win7下解决TQ2440Prolific USB-to-Serial Comm Port 黄色叹号问题
买了一块TQ2440开发板,在尝试安装USB转串口驱动的时候,出现了原创 2014-05-09 16:19:51 · 3594 阅读 · 0 评论 -
硬件知识【1】UART接口
1.UART UART(Universal Asynchronous Receiver and Transmitter)通用异步收发器(异步串行通信口),是一种通用的数据通信协议,它包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范,即UART是异步串行通信口的总称。 而RS232、RS499、RS423、RS422和RS485等,是转载 2014-02-28 10:20:30 · 1740 阅读 · 0 评论 -
硬件知识【0】:TTL电平和CMOS电平
1,TTL电平: 输出高电平>2.4V,输出低电平=2.0V,输入低电平2,CMOS电平: 1逻辑电平电压接近于电源电压,0逻辑电平接近于0V。而且具有很宽的噪声容限。 3,电平转换电路: 因为TTL和COMS的高低电平的值不一样(ttl 5vcmos 3.3v),所以互相连接时需要电平的转换:就是用两个电阻对电平分压,没转载 2014-02-27 16:09:36 · 1346 阅读 · 0 评论 -
Keil串口仿真调试
★用到的软件●Keil开发ruan原创 2014-07-08 01:50:58 · 22783 阅读 · 4 评论 -
Uboot笔记档案【0】:mkconfig分析
自己手头上一块TQ2440的开发板,为了避免浪费资源决定将其充分利用起来。正好现在自己也在学习Qt,就打算将Uboot、linux内核、驱动、应用程序(Qt)等知识全部整合起来做一个嵌入式音乐播放器。目的是通过这个实践,再深入研究Uboot、Linux、驱动等这些方面的知识。对于这个项目,最开始接触的将是Uboot的配置编译这一块的内容。以前配置Uboot的时候都是参考的文档,直接将Uboot原创 2015-09-03 22:57:38 · 853 阅读 · 0 评论 -
嵌入式系统文件系统比较 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs
Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统 进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。 Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统转载 2016-03-19 11:01:48 · 594 阅读 · 0 评论 -
嵌入式Linux学习计划
转载于:http://blog.csdn.net/yaozhenguo2006/article/details/6909410 自学嵌入式已经有一年的时间了,从刚开始的迷茫无助到现在的逐渐明朗,中间经历的太多太多了。俗话说万事开头难,刚开始的时候,根本就不知如何开始,上网查资料被一堆堆新名词搞的找不到北,去图书馆看书也是找不到方向。又是arm,又是linux,又是uboot头都大了。转载 2016-02-23 11:22:01 · 623 阅读 · 0 评论 -
Linux移植【0】NandFlash无法挂在根文件系统
最近在做移植内核的工作,将遇到的问题以及解决问题的过程记录在这里。在将Linux2.6.30.4内核移植到TQ2440开发板后,启动后会出现下列错误:刚开始怀疑是NandFlash分给内核的空间太小。因此想把空间扩大一些,但是只把内核中common-smdk.c中关于nandflash的分区表调整是不可以的,还要与Uboot中nandflash的参数保持一致才可以。由于之前烧写的U原创 2016-05-27 15:13:34 · 958 阅读 · 0 评论 -
socket通信阻塞模式下,设置发送和接受函数超时
今天公司项目上遇到了一个问题,就是用到socket与服务器通信时,接收数据会突然有一次接收不到数据。但是项目代码使用阻塞程序写的,所以程序就一直卡在接收函数不能动。开始为了解决这个问题可以说是费劲周折。先是用了定时器,但是项目代码用的是多进程,要涉及到进程间通信的问题。后面从网上搜到了下面这一段文字,帮助了我的大忙,真是太感谢了。在阻塞状态下,接收和发送函数同样可以设置接受发送超时时间,而只要原创 2017-01-19 17:15:24 · 8973 阅读 · 0 评论 -
【工具使用】CRT打印日志配置方法
原创 2019-05-24 15:48:06 · 1838 阅读 · 0 评论 -
ATMEGA16 IO端口相关总结
ATMEGA16 IO端口相关的寄存器总共有三个DDRX、PORTX和PINX。如果要对IO操作基本上就是对这三个寄存器进行相关的操纵。DDRX也称为数据方向寄存器、PORTX称为数据寄存器、PINX称为端口输入引脚。DDRX的作用:当DDRX = 0时,表示的是某端口的引脚为输入;当DDRX = 0xff时表示某端口的引脚为输出。引脚的状态:输入或者输出是根据什么定义的呢?是根据原创 2014-07-26 10:12:49 · 5281 阅读 · 0 评论 -
串行通信学习
★基本通讯方式●并行通讯方式通常是指数据字节中的各位上的数据通过多条数据线同时进行传送,每一位数据都需要一条数据线。这种方式的特点:传输速度相对较快,但是如果进行长距离的数据传送,成本会很高。●串行通讯方式串行通信就是将数据分成一位一位的,在一条数据线上逐个的进行传输。因此对于一个字节的数据至少需要分八次传输,相比并行通信,传输速度慢。串行通讯又分为:同步串行通信和异步串行通讯。原创 2014-07-15 17:14:55 · 1270 阅读 · 0 评论 -
多机串口通讯
★使用器件使用了3块80c51的单片机,其中U1为主机控制其他两个从机U2,U3。每个单片机上都有一个数码管用来显示数据。主机上有两个按键KEY_1,KEY_2,分别用来控制不同的从机。★实现目标主要实现的目标就是通过写多机通讯来了解他们其中的协议,以及简单协议的写法!本程序主要达到了一下效果,主机可以通过发送命令来控制从机:发送数据给从机、接收从机的数据。然后将从机或者主机显示的数据原创 2014-07-16 14:52:16 · 4293 阅读 · 1 评论 -
数码管消影问题总结
(1)消影方法1先送段选数据后送位选数据时,需要在中间加入一条语句P0=0xff,作用是消影。现在来分析一下是怎样产生影的?当dula = 0后锁住了P0口的数据,即P0口仍然保持着上次的段选数据,然后再执行接下来的打开味轩锁存器命令,原来保持在P0口的段选数据将立即通过位选锁存器直接加在数码管上,之后再次通过P0口给位选锁存送入数据,虽原创 2013-07-09 18:00:43 · 9864 阅读 · 3 评论 -
梳理一下学习串口过程中的一些知识点
(1)串口的作用:主要是用于计算机与单片机之间和单片机和单片机之间的通信。(2)串口中用到的寄存器: 中断允许寄存器IE:EA 全局中断位。 ES 串行口中断允许位 定时器/计数器工作方式寄存器TMOD 定时器/计数器控制寄存器TCON:TRx定时器启动 串行口控制原创 2013-07-12 14:20:15 · 1017 阅读 · 0 评论 -
电子时钟
lcd液晶屏,51单片机#include #define uint unsigned int#define uchar unsigned charsbit lcdrs = P2^4; sbit lcdrw = P2^5;sbit lcden = P2^6;sbit dula = P3^6;sbit wela = P3^7;sbit key原创 2013-07-15 08:47:56 · 1259 阅读 · 0 评论 -
在一个工程中,如何程序多文件化
如果在一个大的工程中,需要些很多的函数。如果,把它们写在同一个文件中,虽然自己清楚思路,但是别人就不愿意看。但是,把函数分文件来写,就会使程序看上去清晰很多。总结一下,今天我学的写多文件的方法:假设我要把自己写的延时函数单独拿出来作为一个函数,然后通过头文件调用来使用它,我的延时函数是这样的void delay_Ms(unsigned int x){ unsi原创 2013-07-18 15:03:08 · 932 阅读 · 0 评论 -
几个概念
(1)什么是编址? 存储器是由一个个存储单元组成的,为了更方便有效的利用存储器,就给每个单元一个地址码。(2)什么是寻址? 在存取数据时,通过地址码,再由硬件电路译码找到存储单元的过程。(3)什么是字长? 举个例子来理解: 一个字长是16位:就是说一个字是由16个基本单元(位)组成。 按字编址:就是说利用一个字所包含的基本单元的个数作为一个地原创 2014-01-10 13:13:40 · 659 阅读 · 0 评论 -
Atmage16 中断学习—了解中断
(1)中断是什么? 系统某一事件A发生时,CPU会暂停正在执行的事件B并且现场。而去执行事件A,当事件A执行完成后再回来执行事件B。这个过程就是中断。 举例说明:老师正在认真的讲课,当讲到书中某一知识点时,某同学突然举手提出一个问题。老师暂停正在讲解的知识点,然后去解答这位同学的问题。等解答完毕后,原创 2014-01-21 21:26:46 · 1182 阅读 · 0 评论 -
计算机硬件常识
本文转载于:http://www.360doc.com/content/09/0104/21/799_2262521.shtml一、关于CPU1.CPU频率越高性能就越高吗? 不一定。这是在很多新手当中存在的误区。CPU性能取决于很多综合参数,不一定根频率成正比。当然,在同系列的CPU中,比如都是赛扬4,频率越高性能越高。2.为什么赛扬高频低能?而速龙系列低频高能?转载 2014-01-29 14:57:10 · 2117 阅读 · 0 评论 -
AVR计数器—如何计算计数初始值
假设我想设置AVR定时器1定时时间为1秒。(1)求出分频后的频率M(HZ); 首先要确定未经过分频后的频率P,然后再确定分频系数N,则M = P/N;(2)此时就知道定时器1使用的频率为M,那么产生一次中断的时间为1/M秒。那么要想定时1秒就要累加M次。(3)因此我要设置的初值为K = 2^16 -M;(4)将K转化为十六进制。例:假设AVR单片机的系统时原创 2014-02-08 11:48:01 · 2458 阅读 · 1 评论 -
HC-SR04超声波测距代码
#include #define uint unsigned int#define uchar unsigned charsbit Trig = P1^0; //控制端sbit Echo = P1^1; //接收端sbit dula = P2^2;sbit wela = P2^3;uchar table[] = {0x3f,0x06,0x5b,0原创 2013-07-27 11:46:38 · 5040 阅读 · 0 评论 -
Atmage16中断学习—外部中断
(1)外部中断触发方式外部中断常用的触发方式有两种:电平触发、边沿触发。什么是电平触发?什么是边沿触发?电平触发其实就是依靠时钟脉冲的高电平或者低电平来引发中断的触发方式。边沿触发则是依靠时钟脉冲的高低电平变化过程来引发中断的触发方式。其中由低电平向高电平变化的过程叫做上升沿;由高电平向低电平变化的过程叫做下降沿。(2)什么是“中断向量”、“中断向量表”?中断向量实际上就是原创 2014-01-29 15:54:42 · 1657 阅读 · 0 评论 -
Atmage16中断学习—定时器/计数器
(1)定时器/计数器的工实质是什么?它的实质其实就是一个加1计数器,通过对其内部寄存器的操作来实现计数、定时的功能。(2)什么是分频器?为什么要用到分频器?分频器就是将一种频率通过它可以根据具体的需要转换成另一种频率的一种装置。单片机的系统时钟频率越高,单片机运行的越快,如果其外设的性能不高跟不上单片机运行的速度,就很容易造成程序跑飞。因此,需要将系统时钟降低,所采用的策略就是分频原创 2014-01-22 23:39:29 · 2842 阅读 · 0 评论 -
AVR中断优先级
AVR单片机在同一个优先级中,中断向量入口地址越低,其优先级越高。AVR单片机在响应中断以后,会禁止系统响应其余中断。如果程序需要在某个中断服务程序中响应其它中断事件,可以在该中断服务程序中用SEI指令或_SEI()(IAR)、 SEI()(ICCAVR)重新使能全局中断即可。否则,AVR单片机只有在退出中断进程时,才重新使能全局中断。AVR(至少是ATmega16)单片机采用转载 2014-02-09 20:52:32 · 1148 阅读 · 0 评论 -
HC-SR04调试
(1)超声波HC-SR04测距模块简介 HC-SR04 超声波测距模块可提供 2cm-400cm 的非接触式距离感测功能, 测距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。 基本工作原理: (1)采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号; (2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回; (3)有信号返回,通原创 2014-02-10 20:34:04 · 5633 阅读 · 0 评论 -
GPRS模块初始化流程(不断完善中)
推荐模块初始化流程 AT //确认串口正常,模块出厂默认波特率=9600 OK ATE0 //关闭回显 OK AT+CPIN? //检查SIM工作是否正常 +CPIN: READY OK AT%SLEEP=0 //关闭睡眠模式,GTM900-A模块默认是开启睡眠模式的,睡眠后,可以降低功耗,但是睡眠后的第一条AT指令会不响应 OK AT+CREG=1 //设转载 2014-03-02 16:02:12 · 4674 阅读 · 0 评论 -
软件开发技术文档编写规范
在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性。◇可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。◇项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件...转载 2019-08-07 09:41:55 · 1136 阅读 · 0 评论