摘要:
先简单的介绍下nRF24L01无线模块 (1) 2.4Ghz 全球开放ISM 频段免许可证使用 (2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合 (3) 126 频道,满足多点通信和跳频通信需要 (4) 内置硬件CRC 检错和点对多点通信地址控制 (5) 低功耗1.9 - 3.6V 工作,待机模式下状态为22uA;掉电模式下为900nA (6) 内置2.4Ghz 天线,体积小巧15mm X29mm (7) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便 通过SPI方式完成数据的交... 阅读全文
摘要:
Verilog HDL是一种用于数字系统设计的硬件描述语言,它可用来进行各种级别的逻辑设计,以及数字逻辑系统的仿真验证、时序分析和逻辑综合。Verilog HDL 是目前应用最广泛的一种硬件描述语言。 学好硬件的最高境界是心中要有电路,对于我们刚刚接触FPGA以及Verilog HDL的人来说,最重要的是要多理解,多练习,多思考,多总结。 下面将对Verilog HDL进行一系列的实例应用,让我们对Verilog HDL 语言有一些直观的理解,看看Verilog HDL能为我们做什么事。 PS:有颜色的是有对应链接的。一二部分总结比较简单,后面的部分可仔细看看。目录:一、组合逻辑实验... 阅读全文
摘要:
一、DS1337介绍 DS1337串行实时时钟芯片是一种低功耗、全部采用BCD码的时钟日历芯片,它带有两个可编程的定时闹钟和一个可编程的方波输出。其地址和数据可通过I2C总线串行传输,能提供秒、分、时、日、星期、月和年等信息。1.1DS1337的引脚说明 DS1337的引脚排列示意图如图1所示。... 阅读全文
摘要:
1、点击工具栏中【放置焊盘】按钮2、按键盘Tab键弹出【焊盘】对话框3、设置【空洞信息】相关尺寸(根据自己所需实际设置)这里左边的单选按钮选择“槽”,通孔尺寸输入20mil,长度为80mil,旋转为90.0004、设置尺寸和外形(根据自己所需实际设置)这里选择:简单的,X=30mil,Y=90mil,外形可以根据自己需要选择,这里选择Round设置后的如下图所示外形选择“Rounded Rectangle”Octagonal 阅读全文
摘要:
这里使用的处理器是C8051F005。红外接收头接处理器引脚,中断方式接收按键数据。一 PCA介绍 1.1 PCA 可编程计数器阵列(PCA)提供增强的定时器功能,与标准8051计数器/定时器相比,它需要较少的CPU干预。PCA包含一个专用的16位计数器/定时器和5个16位捕捉/比较模块。每个捕捉/比较模块有其自己的I/O线(CEXn)。当被允许时,I/O线通过交叉开关连到端口I/O。 计数器/定时器由一个可配置的时基信号驱动,可以在四个输入源中选择时基信号:系统时钟12分频、系统时钟4分频、定时器0溢出或ECI线上的外部时钟信号。对PCA的配置和控制是通过系统控制器的特殊功能寄存... 阅读全文
摘要:
一、SMBus总线 SMBus串行I/O接口完全符合系统管理总线规范 1.1 版。它是一个双线的双向串行总线,与I2C串行总线兼容。系统控制器对总线的读写操作都是以字节为单位的,由SMBus接口自动控制数据的串行传输。其接口工作电压3.0V~5.0V之间,总线上不同器件的丁作电压可以不同。时钟线SCL和数据线SDA都是双向的,按照SMBus的标准,两条线上都需要上拉电阻将他们接到电源电压。在没有数据传输时,两条线都处于高电平.使得器件能够检测到总线的空闲状态。 二、工作过程 一次典型的 SMBus 数据交换包括一个起始条件(START)、一个地址字节、一个或多个字节数据和一个停止(STOP). 阅读全文
摘要:
一是想总结一下SPI总线的特点与注意点,二是总结一下SPI DMA的使用一、SPI信号线说明 通常SPI通过4个引脚与外部器件相连:MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。MOSI:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。SCK:串口时钟,作为主设备的输出,从设备的输入NSS:从设备选择。这是一个可选的引脚,用来选择主/从设备。它的功能是用来作为“片选引脚”,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。二、原理 MOSI脚相互连接,MISO脚相互连接。这样,数据在主和从之间串行地传输(MSB位在前... 阅读全文
摘要:
一、直接插入排序 最简单的排序,其基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。void InsertSort(int* pData,int Count) { int iTemp; int iPos; for(int i=1;i<Count;i++) { iTemp = pData[i]; iPos = i-1; while((iPos>=0) && (iTemp<pData[iPos])) { pData[iPos+1] = pData[iPos]; ... 阅读全文
摘要:
一.BitBlt将一幅位图从一个设备场景复制到另一个,即复制像素,前面参数为目标,后者为源case WM_PAINT: hdcClient = BeginPaint (hwnd, &ps) ; hdcWindow = GetWindowDC (hwnd) ; for (y = 0 ; y < cyClient ; y += cySource) for (x = 0 ; x < cxClient ; x += cxSource) { ... 阅读全文
摘要:
在MFC程序中,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int、float和double这些数字类型转换为CString字符串只需一行代码就可以实现。 先看看Format用于转换的格式字符: %c 单个字符 %d 十进制整数(int) %ld 十进制整数(long) %f 十进制浮点数(float) %lf 十进制浮点数(double) %o 八进制数 %s 字符串 %u 无符号十进制数 %x 十... 阅读全文
摘要:
毕业后工作也快有两个月,试用期期间也没有太大的压力,工作日正常上班,平时住在公司,晚上加点班,整理整理学习到的知识。上班的感觉还不错,毕竟也有能力养活自己,比在学校的时候状态要好些,更容易约束自己。这里是不是也潜伏着很多Dotaer呢,毕业了,对DOTA的热情慢慢的淡下来了。咱还是安心的工作吧。 学校 在学校的时候主要跟着导师学习嵌入式方面的一些知识,参与割草机项目的开发,每学期领着导师发的微薄的“工资”,两年半的时间很快,现在想想还是比较肤浅的,范围不是很广泛,使用C语言完成一些简单的功能,也不会考虑深层次方面的东西,例如:代码的优化上,内存的分配,代码的健壮性等。 公司 进入进... 阅读全文
摘要:
C++ INI文件 INI文件多用于存储程序的初始化信息。例如,记录程序连接数据库的名称、上一次用户登录的名称、用户的注册信息等。一. INI 文件格式[Section1 Name]KeyName1=value1KeyName2=value2...... ......[Section2 Name]KeyName1=value1KeyName2=value2 Section:节名;KeyName:键名;value:键值。对于一个INI文件,可以有多个节,每个节可以包含多个键。二.读写INI文件1. GetPrivateProfileInt - 从INI文件的指定Section 指定key 的.. 阅读全文