-
C语言常用的延时方法,有如图 4-2 所示 4 种。
 ...
-
我们在上一章学习数码管静态显示的时候说到,74HC138 只能在同一时刻导通一个三极管,而我们的数码管是靠了 6 个三极管来控制,那我们如何来让数码管同时显示呢?这就用到了动态...
-
前边介绍单片机资源的时候,我们提到过 STC89C52 共有 512 字节的 RAM,是用来保存数据的,比如我们定义的变量都是直接存在 RAM 里边的。但是单片机的这 512 ...
-
要研究指针,我们得先来深入理解内存地址这个概念。打个比方:整个内存就相当于一个拥有很多房间的大楼,每个房间都有房间号,比如从 101、102、103 一直到 NNN,我们可以说...
-
我们上一节的这个液晶滚屏移动程序,大概有 160 行左右。随着我们硬件模块使用的增多,程序量的增大,我们往往要把程序写到多个文件里,方便代码的编写、维护和移植。
...
-
我们前边学串口通信的时候,比较注重的是串口底层时序上的操作过程,所以例程都是简单的收发字符或者字符串。在实际应用中,往往串口还要和电脑上的上位机软件进行交互,实现电脑软件发送不...
-
EEPROM 写数据流程
第一步,首先是 I2C 的起始信号,接着跟上首字节,也就是我们前边讲的 I2C 的器件地址,并且在读写方向上选择“写&r...
-
我们读取 EEPROM 的时候很简单,EEPROM 根据我们所送的时序,直接就把数据送出来了,但是写 EEPROM 却没有这么简单了。给 EEPROM 发送数据后,先保存在了 ...
-
一、五大内存分区:
内存分成5个区,它们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
1、栈区(stack):FIFO就是那些由编译器在...
-
举例说明volatile:
volatile int i=10;
int j = i;
...
int k = i;
volatile 告诉编译器i是随时可能发生变化的,...
-
装MDK时用的是keil5.14版本,但是装上后运行环境界面的配置通不过。 CMSIS总是亮红。感到莫名其妙,以前电脑上都很正常的。这台怎么就这么奇怪。其实pack装得很顺利啊,其...
-
相信学ARM的童鞋大多数都是先学过51的,你如果用keil这样的编译环境的话,也许你会发现之前学校51的keil开发环境无法兼容ARM,或者你在做项目,同时要用到keil开发51单...
-
目前单片机有多种C编译器,不同编译器之间有很多区别。总结后,主要有以下几点,需要弄清楚:
1.寄存器的定义
不少编译器已经自带了寄存器的定义文件,比如AT89S52, 使用KE...
-
用keilMDK试了一个STM32F107的例子,打开后编译链接,结果编译通过,链接却提示有5个函数没有声明,但是回头再看文件,明明有引用头文件啊,为什么还不过呢?
我又试了...
-
阅读了《单片机与嵌入式系统应用》2005年第10期杂志《经验交流》栏目的一篇文章《keil C5l对同一端口的连续读取方法》(原文)后,笔者认为该文并未就此问题进行深入准确的分析。...
-
Protel
PROTEL是Altium公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开...
-
网上大多数介绍的都是用IAR for ARM来开发STM32,但是,偶觉得RealView MDK到底是ARM公司亲手栽培出来的,呵呵,对Cortex?-M3 CPU有很好的支持。...
-
A51的程序执行时间可能通过指令周期计算出来,而C51的却无从下手,很多程序员为了得到精确的执行时间而研读反汇编代码,何等的悲哀。巧妙的使用keil中的debug功能,问题就迎刃而...
-
今天来分析一个例程《BLE实验1:蓝牙工程样例》,注意这里并不是十分专业的讲解,完全是本人的一点小笔记,并没有太大的参考价值,但是如果幸运的话,能让我们有点小的灵感这...
-
光盘里得jlink 4.10驱动版本有问题,我在ADS,IAR, keil下都存在找不到那个DLL得问题,而且很容易跑飞,换个低版本得就可以了;强烈建议使用4.08l或者以下版本!...