前言 电路原理在文章http://www.cnblogs.com/lknlfy/p/3583806.html中已经说明,两个LED的原理图是一样的.要使两个LED交替闪烁,只需要在点亮蓝色LED,熄灭绿色LED之后延时一段时间,然后再点亮绿色LED,熄灭蓝色LED,延时一段时间,如此不断循环即可,过程如图1所示. 图1 LED交替闪烁流程图 一.目的 通过编写裸机程序,使板载的两个LED交替闪烁. 二.源代码说明 程序比较简单,已给出详细注释,直接看代码好了,如下所示: /* * (C) Cop…
前言 CUbieboard2板载两个LED,一个绿色的,一个蓝色的,其中绿色LED通过三极管与PH20管脚连接,蓝色LED通过三极管与PH21管脚连接,这里只以蓝色LED为例,电路原理图如图1和图2所示. 图1 LED所使用的管脚 图2 LED与三极管连接图 由此可知,当PH21输出高电平时,三极管处于导通状态,从而蓝色LED会被点亮:当PH21输出低电平时,三极管处于截止状态,蓝色LED熄灭. 一.目的 编写第一个裸机程序,点亮板载的蓝色LED. 二.源代码说明 程序很简单,已给出详细注释,直…
因为在开发ESP-01s远程控制中觉得接线麻烦,又因为ESP-01s板子上带有LED灯,那就先点亮板载LED,  如图所示: 打开Arduino 把代码copy进去,再编译烧录,就可以看见LED灯每隔1秒亮和熄. 经过测试本代码只实用于ESP-01S,ESP8266-01S. //ESP-01S #include <ESP8266WiFi.h> int ledPin = 2; // GPIO2 of ESP8266-01S void setup() { pinMode(ledPin, OUTP…
前言 在Cubieboard2裸机开发之(三)里用到了一个延时函数delay,它的延时时间是不精确的,因此为了能够精确延时,就需要定时器的配合.定时器可以精确延时的一个重要原因是它的计时时钟(或者说频率)是精确的,计时时钟越小,能实现的延时时间就越小. A20的定时器模块比较强大,它不仅有6个普通的定时器,还有4个高速定时器,计时频率可达上百MHz,更重要的是它们操作起来非常简单.易懂. 一.目的 学习使用A20的普通定时器,实现精确延时. 二.源代码说明 start.S文件.首先禁止CPU的I…
前言 前面通过汇编语言点亮LED,代码虽然简单,但并不是很直观.这次使用熟悉的C语言来控制LED,但是需要注意的地方有两点,第一,要想使用C语言,首先需要在调用C语言代码之前设置好堆栈:第二,调用C语言函数时,是需要相对跳转还是绝对地址跳转,还是两者都可以,这就需要知道代码是否运行在链接地址处,是位置无关的还是位置有关的.从前面分析可以知道,我们的代码是运行在链接地址处的,因此可以用直接进行函数的调用. 一.目的 使用C语言的方式操作板载LED. 二.源代码说明 start.S文件.首先禁止CP…
Beaglebone Black教程项目1闪烁板载LED 项目1闪烁板载LED 当设置完你的Beaglebone Black的时候,可能早就非常期待你的第一个项目了.下面就来满足大家的愿望,当然,这个项目可不是惊天动地的大项目,但万事总是有个开始的.这个项目不需要额外的电子器件,这可以让你的精力集中在编程这方面来.这也可以确保你的Beaglebone Black板子所有的设置都是正确的. 闲话少叙,我们的这个项目是编写代码控制Beaglebone Black的板载LED.如果你之前有过编程经验,…
转载请注明:https://www.cnblogs.com/rockyf/p/11691622.html 开篇 开篇一定要精彩,不然路人不理睬!下述是笔者作为arm小白的填坑之旅 没错,这个之前一直从事软件开发的笔者,开始搞硬件了,当然仅仅是数电!模电需要有很扎实的电路基础,而笔者有的只有"扎实"的逻辑基础. 那为什么笔者要开始搞硬件呢? 其实早在大学期间,笔者所在专业(计算机科学与技术)中就有一门课就专门讲了硬件-软件的连接以及实现,只怪当初没有好好学,只是心中有那么个印象,就是时钟…
前言 说到看门狗,应该不会陌生,看门狗说白了就是一个定时器,但是它有一个非常重要的功能就是复位系统.在A20里,看门狗的操作非常简单,只有两个寄存器,不需要操作时钟相关的东西,系统起来后可以直接使用,它的最大定时时间为16秒. 一.目的 学习使用A20的看门狗,实现软件复位系统. 二.源代码说明 start.S文件.首先禁止CPU的IRQ和FIQ,设置为管理模式,需要注意的是,这里设置异常向量表的起始地址为start.S文件里的第一指令的地址,学过ARM的都知道,ARM的异常向量表可以设置在低地…
一.arm-9 TQ2440 key.h #ifndef __KEY_H__ #define __KEY_H__ #define GPFCON (*(volatile unsigned long *)0x56000050) #define GPFDAT (*(volatile unsigned long *)0x56000054) extern void key_init(void); extern int key1(void); extern int key2(void); extern in…
修改script.bin  找到最后节点[led_para] 修改leds_used = 0 script.bin 一般在系统盘的第一个分区 例如nand就在/dev/nanda sdcard就在/dev/mmcblk0p1 修改需要bin2fex和fex2bin 这些都在sunxi-tools 具体安装方法http://forum.cubietech.com/forum.php?mod=viewthread&tid=141…