- 博客(21)
- 收藏
- 关注
转载 关于全局变量,如何被多个.c文件共享问题
这里有三个问题,都是比较类似的。1. 如果我要在别的文件引用本文件的全局变量你有哪几种方法?extern、使用函数传参、使用引用头文件的方式。2. 全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在不同的C文件中以static形式来声明同名全局变量。 可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变
2016-09-30 23:03:38 475
转载 spi协议及工作原理分析
说明.文章摘自:SPI协议及其工作原理浅析 http://bbs.chinaunix.NET/thread-1916003-1-1.html一、概述. SPI, Serial Perripheral Interface, 串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术. SPI 总线在物理上是通过接在外围设备微控制器(PICmicro) 上面的微处
2016-09-29 23:03:17 330
转载 C语言的良好编程习惯
从编程菜鸟一路走来,慢慢对编程习惯有了一个新的认识。因为曾经我写的代码的可读性令自己也感到哭啼皆非,搞得自己晕头转向。今天特意来分享一下自己的一些关于编程习惯的心得。很多人以为代码一敲完,能得到预期的结果,就万事ok,其实不然。后面的程序调试、维护和升级是一个项目中很重要的一部分,这就要求我们必须规范编程习惯。(1)模块化编程试想一下,如果一个项目的所有功能都在一个main
2016-09-28 23:10:21 363
转载 sd卡---spi协议
SPI概述 SPI:高速同步串行口。3~4线接口,收发独立、可同步 进行. SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。 是MOTOROLA 首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH , 实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是
2016-09-27 23:19:19 2367
转载 C语言高效编程的四大绝招(1)
编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就是针对编程工作中的一些体会和经验做相关的阐述。 第一招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。比如说字符串的赋值: 方法A:通常的办法 _NOBR> _CODE>#define LEN 3
2016-09-26 23:20:46 633
转载 51单片机驱动SD卡
单片机:STC12C5A60S2 晶振:24MHZ51单片机读sd卡资料:http://download.csdn.net/detail/sparkstrike/7982195sd卡引脚一.IO接口[cpp] view plain copysbit CLK = P3^4;//同步时钟
2016-09-25 14:13:57 1778
转载 51单片机寄存器
21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、
2016-09-24 23:24:32 1611
原创 51单片机 指纹模块 串口问题4
陆陆续续的再弄指纹模块,之前考虑板子供电和串口下载程序的问题买了转串口模块,只要把4根线接好就可以用了,VCC就接单片机上的VCC,GND就接板子上的GND,这很简单,要注意的是板子和串口模块上的串口接收和发送是反过来的,即板子上的TXD接到串口模块上的RXD,板子上的RXD接到串口模块上的TXD。 是可以用了不过有两个问题,一个是现在我只能冷启动,虽然我可以通过拔一下VCC模拟上电过程,
2016-09-23 23:20:56 1686
转载 关于全局变量,如何被多个.c文件共享问题
这里有三个问题,都是比较类似的。1. 如果我要在别的文件引用本文件的全局变量你有哪几种方法?extern、使用函数传参、使用引用头文件的方式。2. 全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在不同的C文件中以static形式来声明同名全局变量。 可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此
2016-09-22 15:20:11 1385
原创 51单片机 指纹模块 按键部分
今天下午没课就有看看自己的程序感觉按键需要重新修改,之前的按键是按第一个按键选择第一个功能,但随着功能的增加,需要的按键也越多非常不方便,而且后面还有输入id的操作,这样需要的按键就很多了,不方便。所以我准备重新写按键(用的还是独立按键),只需要四个按键就可以啦,一个是确认和菜单,一个是指针往下,一个是指针往右,还有一个是取消按键。 在确认和菜单中用switch case 来区分
2016-09-21 22:17:06 2252
原创 DXP使用小技巧
DXP的一些小技巧。Ctrl+m测量距离l查看PCB的层次Ctrl+拖动网络编号保持电气连接Ctrl+g设置格点Ctrl+z撤销空格旋转x镜像y上下镜像
2016-09-20 23:58:22 3005
转载 单片机的供电
通常单片机的供电电压为DC5V; 如何得到单片机的DC5V电压? 一般来说,有以下几种方案: 1、AC220V-》DC5V 1)采用AC220V-AC9V变压器+大电解电容+7805+大电解电容-》DC5V 2)采用AC220V-AC9V变压器+大电解电容+LM2575+电感+肖特基二极管+电解电容-》DC5V 3)采用开关电源得到DC5V 2、DC9V~DC40V-》DC5V 采用电解电容+LM
2016-09-19 23:16:02 8091
转载 micro SD(TF)卡详解
一、SD miniSD microSD SDHC的区分SDSD卡(Secure Digital Memory Card)是一种基于半导体闪存工艺的存储卡。为了满足数码产品不断缩小存储卡体积的要求,SD卡逐渐演变出了Mini SD,Micro SD两种规格。 SD卡背面共有9个引脚,包含4根数据线,支持1bit/4bit两种数据传输宽度,时钟最高频率为25MHZ,故理论最
2016-09-18 19:37:51 21816 2
原创 51单片机 指纹模块 波特率问题解决和命令分析2
波特率问题解决昨天查到无法通信的原因是因为波特率指纹模块的波特率默认的是57600,我想把它改小,指纹模块最小的波特率为9600先要将上位机的波特率改为57600,本来我想用电脑改,但不能用单片机开发板,要用转串口工具,我还没买,所以就只能用单片机程序去改了。在出口初始化的时候设置(晶振用11.0592的)再使用指令修改这个修改波特率的指令只需要写一
2016-09-17 00:30:44 2867
原创 51单片机 指纹模块心路历程1
做指纹模块的项目首先是要把这个模块用起来所以我就在开发板上试,因为是第一次自己做单片机项目,一开始不知道怎么入手,就选择先看手册。这个指纹模块是fpm10,首先了解其指标。供电电压3.6-6V(VCC可以),上位机接口UART,波特率(默认的是57600)了解了硬件接口然后是和例程一起看命令命令很多但需要用到的不多。我想先用起来,但例程中的l
2016-09-15 23:22:41 1685
原创 乐乐的部分面试题总结1
1 进程的调度算法有哪些?先来先服务调度算法、优先数调度算法、时间片轮转算法、分级调度算法 、最短作业时间优先(抢占式和非抢占式)、最高响应比调度算法。。。。。2 iic的起始结束应答信号?起始终止应答3 二维数组名地址,一维数组名地址?二维数组名地址是首个一维数组的地址,一维数组名地址是首元素的地址4 写链表逆序?3个指
2016-09-14 22:49:09 328
转载 漫谈如何学习操作系统原理
操作系统怎么学,首先要想操作系统是怎么来的,在没有操作系统的年代里,人们是怎么编程的。这是首要的问题。不知道有没有人看过INTEL官方的CPU文档,总是分为应用级编程、系统级编程、指令集这三块。其中系统级编程这一块最复杂,我不说内容,就单从文件的大小来看,IA-64编程手册的应用级编程卷是2MB,系统卷却有6MB。就连IA-32编程手册上的系统卷部分也远比应用卷的要多。当然这些内容我还没有看,不过
2016-09-13 23:18:29 1032
原创 uC/OS_Ⅱ笔记
任务调度 P59在多任务系统中,令CPU中止当前正在运行的任务转而去运行另一个任务的工作叫做任务切换,而按某种规则进行任务切换的工作叫做任务调度在uC/OS_Ⅱ中,任务调度器的主要工作有1在任务就绪表中查找具有最高优先级的就绪任务2实现任务切换。在uC/OS_Ⅱ中,两种调度器一种任务级的调度器(OSSched()),另一种是中断级的调度器(OSIntExt())调度器主要工作:获得
2016-09-12 22:38:23 250
原创 us_os_Ⅱ 笔记
任务控制块及其链表任务控制块:记录任务的堆栈指针、任务的当前状态、任务的优先级别等一些管理有关的属性表。用来感知和管理任务的。 任务控制块链表P53uC/OS_Ⅱ需要两条链表:一条空任务块链表(其中所有任务控制块还未分配给任务)和一条任务块链表(其中所有任务控制块已分配给任务)(将OSTCBTbl[]连起来)初始化空任务块链表元素一共是用户任务的最大数目(OS_MAX_TASK
2016-09-11 22:59:26 445
原创 uC/OS_Ⅱ笔记
任务:任务程序代码(保存任务属性),任务堆栈(保存任务工作环境),任务控制块(代码的执行部分)。 用户任务,系统任务 任务的五种状态:睡眠状态,就绪状态,运行状态,等待状态,中断服务状态 超循环结构:无限循环结构,并且在这个循环中可以响应中断us_os_Ⅱ任务代码结构:带有临界段的无限次循环 us_os_Ⅱ系统任务:空闲任务(OSTaskIdle()),统计
2016-09-10 18:42:22 260
原创 us_os_Ⅱ笔记
嵌入式是对对象进行自动控制而使其具有智能化并可嵌入对象体系中的专用计算机系统 嵌入式计算机特点:VS通用计算机系统1 专用性强 2可裁剪性好 3实时性和可靠性 4功耗低 嵌入式操作系统:运行在嵌入式硬件平台上,对整个系统及其所操作的部分,装置等资源进行统一协调、指挥和控制的系统软件 嵌入式操作系统VS 普通操作系统:微型化,可裁剪性,实时性,高可靠性,易移植性
2016-09-10 18:34:32 260
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人