uTenux——LED驱动讲解
LED驱动讲解,对于一个嵌入式的工程师还是一个刚开是学习相关电子设计的朋友,对于LED的驱动问题应该不甚陌生。我所说的LED驱动并不是类似大功率LED照明的那个驱动,而是简单的控制器对LED的控制驱动。
在uTenux\AT91SAM3S4C开发板上板载了三个LED等,分别位绿色灯、蓝色灯、红色灯。其中红色灯较为特殊,他既是开发板的电源指示灯,又可以由用户控制器亮灭,具体的电路原理我就在这里不在赘述了,不懂的朋友请查阅第二节的简介或参考开发板电路图及EB-SAM3S4C_Usermanual.pdf文档,如果这些都不能解决,您可以联系我,我会尽快的回复您的。
下面就LED的驱动做详细的讲述:
1、 按第三节中的工程模板建立相应的工程,我的工程组织关系如下图所示:
2、 对工程进行配置。添加工程头文件的包含路径,设置编译器位—gnu,设置Link等,具体参考第三节的两篇介绍。
3、 编写main.c函数,我的main.c如下:
//--------Include Head------------
#include "board.h"
#include <stdio.h>
//-------Port Defined------
//-------Data Defined-------
//--------Sub Function-------
/*---------------------------------
Description : None
Input : None
Output : None
Others : None
---------------------------------*/
//--------ISR Function----------
//---------Main Function--------
extern int main (void)
{
/* Disable watchdog*/
WDT_Disable( WDT ) ;
printf("\r\n\tHello EM-SAM3S-Kit\r\n");
printf( "\r\nCompiled: %s %s\r\n", __DATE__, __TIME__ ) ;
printf("\n\t -- ^_^ Bruce Lone\r\n");
if ( TimeTick_Configure( BOARD_MCK ) != 0 )
{
printf( "-F- Systick configuration error\n\r" ) ;
}
LED_Configure(LED_BLUE);
LED_Configure(LED_RED);
LED_Configure(LED_GREEN);
LED_Set(LED_BLUE);
LED_Clear(LED_RED);
LED_Set(LED_GREEN);
while(1)
{
Wait(100);//该函数是由定时器延时产生的,主要编写其中断函数
LED_Clear(LED_BLUE);
Wait(100);
LED_Clear(LED_GREEN);
Wait(100);
LED_Set(LED_BLUE);
Wait(100);
LED_Set(LED_GREEN);
}
}
涉及到Wait()函数的中断函数编写如下
/*
* FileName : Interrupt.C
* Description : Interrupt Service Route
* Purpose : ISR
* Setup Time : 2012-5-31
* Version : 00.00.00
* Author : Bruce Lone
* Others : None
______________________________________________________
Logs :
______________________________________________________
* 001 :
* Modify :
* Modification Time :
* Mender :
* Others :
======================================================
*/
//--------Include Head------------
#include "Interrupt.h"
//-------Data Defined-------
//--------Function-------
/*---------------------------------
Description : Time Tick Delay
Input : None
Output : None
Others : None
---------------------------------*/
void SysTick_Handler( void )
{
TimeTick_Increment() ;
}
4、 做好上面的这些,您就可以编译下载了。
5、 实验现象:(请连接串口线至PC机,PC机请打开串口软件baud = 115200)
您可以看到板载的蓝色灯和绿色灯交替亮灭,串口软件上显示最后编译的时间等信息。
由于本实验相对较为简单,就不做多余的讲解了,如果您有问题可以跟帖或发送信息给我,我会尽快回复您的。谢谢您阅读本文,如果您对本文有任何的异议或意见建议,麻烦您能够联系我,谢谢。
uTenux——LED驱动讲解的更多相关文章
- 兼容可控硅调光的一款LED驱动电路记录
1.该款电路为兼容可控硅调光的LED驱动电路,采用OB3332为开关控制IC,拓扑方案为Buck: 2.FB1:磁珠的单位是欧姆,而不是亨利,这一点要特别注意.因为磁珠的单位是按照它在某一频率 产生的 ...
- FL2440驱动添加(4)LED 驱动添加
硬件信息:FL2440板子,s3c2440CPU带四个LED,分别在链接GPB5,GPB6,GPB8,GPB10 内核版本:linux-3.8.0 led驱动代码如下: 值得注意地方地方: 1,定时器 ...
- linux设备驱动归纳总结(五):4.写个简单的LED驱动【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-84693.html linux设备驱动归纳总结(五):4.写个简单的LED驱动 xxxxxxxxxxx ...
- Android系统移植与驱动开发——第七章——LED驱动
LED驱动的实现原理 编写LED驱动: 测试LED驱动之前需要用USB数据线连接开发板,然后打开电源,成功启动之后,执行build.sh脚本文件编译和安装LED驱动,顺利则会自动连接 如果有多个设备文 ...
- 全志A33 linux led驱动编程(附实测参考代码)
开发平台 * 芯灵思SinlinxA33开发板 淘宝店铺: https://sinlinx.taobao.com/ 嵌入式linux 开发板交流 QQ:641395230 开发平台 * 芯灵思Sinl ...
- Linux驱动之LED驱动编写
从上到下,一个软件系统可以分为:应用程序.操作系统(内核).驱动程序.结构图如下:我们需要做的就是写出open.read.write等驱动层的函数.一个LED驱动的步骤如下: 1.查看原理图,确定需要 ...
- (笔记)linux设备驱动--LED驱动
linux设备驱动--LED驱动 最近正在学习设备驱动开发,因此打算写一个系列博客,即是对自己学习的一个总结,也是对自己的一个督促,有不对,不足,需要改正的地方还望大家指出,而且希望结识志同道合的朋友 ...
- JZ2440 启动NFS网络文件系统_初试led驱动
http://blog.csdn.net/emdfans/article/details/12260969 u-boot ---> q 修改bootargs变量 默认: bootargs=noi ...
- 基于sys文件系统的LED驱动的移植【原创】
基于RK3188平台LED驱动程序的移植的移植.如有不正确之处,欢迎大家指点. 本文的LED驱动程序不是通过打开设备节点来访问和控制LED的,是通过sys文件系统来控制LED. 板子上有四盏灯以及对应 ...
随机推荐
- openssh设置免密码登录远程服务器
主机 host | 远程机器 server 目标:从host登录到server,免密码输入 host机器: ssh-keygen -t rsa 在~/.ssh/中会生成两个文件 id_rsa.pub和 ...
- Workflow Mailer Notifications设置
参考:http://www.docin.com/p-651716490.html http://www.360doc.com/content/12/0218/15/3200886_187602886. ...
- Mysql索引总结(一)
数据库开发中索引的使用占了很重要的位置,好的索引会使数据库的读写效率加倍,烂的索引则会拖累整个系统甚至引发灾难. 索引分三类: index ----普通的索引,数据可以重复 unique ----唯一 ...
- SqlServer 在创建数据库时候指定的初始数据库大小是不能被收缩的
当你在SqlServer创建数据库的时候可以指定数据库文件的初始大小,比如下图中我们将新创建的数据库MyDB的大小设置成了1024MB 那么你建好的数据库的确也就会占用1024MB左右的磁盘空间 不过 ...
- ASP.NET 中通过Form身份验证 来模拟Windows 域服务身份验证的方法
This step-by-step article demonstrates how an ASP.NET application can use Forms authentication to ...
- Hadoop实战3:MapReduce编程-WordCount统计单词个数-eclipse-java-ubuntu环境
之前习惯用hadoop streaming环境编写python程序,下面总结编辑java的eclipse环境配置总结,及一个WordCount例子运行. 一 下载eclipse安装包及hadoop插件 ...
- SDK Manager failed to install 'java.exe' locking directory
转自:http://stackoverflow.com/questions/13587478/sdk-manager-failed-to-install-java-exe-locking-direct ...
- COM编程之四 引用计数
[1]客户为什么不应直接控制组件的生命期? 假设一个组件A正在使用另一个组件B,可想组件A(客户)代码中肯定有若干个指向组件B接口的指针. 那么这种情况下,当使用完一个接口而仍然在使用另一个接口时,是 ...
- android 学习随笔二十六(动画:属性动画)
属性动画,属性动画是真正改变对象的某个属性的值 * 补间动画,只是一个动画效果,组件其实还在原来的位置上,xy没有改变1.位移:* 第一个参数target指定要显示动画的组件* 第二个参数proper ...
- 关于 ActiveMQ
今天玩了下 ActiveMQ,希望实现服务器的消息可以通知到各个客户终端. 安装: 1.安装 ActiveMQ 之前必须安装 Java 的 jdk , 可以从此下载: http://www.ora ...