摘要: #include <iocc2430.h>void init_led() //初始化三个LED,开始时熄灭{ //P1_0 接RLED P1_1 接GLED P1_2接YLED P1SEL &= 0x07; //P1_0,P1_1,P1_2通用IO P1DIR |= 0x07; //作输出,1--输出,0--输入 P1_0 = 1; P1_1 = 1; P1_2 = 1; //全熄灭}//P0_6按下为低电平void init_key_interrupt() //出事话P0_6按键中断,下降沿中断{ P0SEL &= 0x40; //通用IO P0DIR & 阅读全文
posted @ 2012-07-31 11:41 平湖之下 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 外部中断实验是使用两个按键来翻转LED状态,但这里两个按键,一是做键盘用,二是产生中断触发信号。实验共用到P1、P1/P0DIR、P1/P0SEL、P1/P0INP、PICTL、IEN1和P0IFG几个个寄存器。其中前几个的作用前面的文章里应经介绍过了,这里就不再重复说明了。这里主要是讲一下后几个寄存器的作用。其中PICTL为P口中断控制寄存器;P0IFG为P1口中断标志寄存器;IEN1为中断使能寄存器1。这个实验是到目前为止我改动最大的一个实验了,我想主要还是这个基础实验以前不是跑在2430上的原因吧,在无限龙的这个开发板上的按键管脚并不是P1_2和P1_3,所以要把管脚好好的改动一下才可以 阅读全文
posted @ 2012-07-31 11:40 平湖之下 阅读(487) 评论(1) 推荐(0) 编辑
摘要: 学了那么多程序语言,总是有一个Hello world开头,不禁感叹Hello world的强大。linux嵌入式也不例外、、、(1)linux开源当然少不了源代码的贡献#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){ printk(KERN_ALERT "Hello,world\n"); return 0;}static void hello_exit(void){ 阅读全文
posted @ 2012-07-30 21:05 平湖之下 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 与Linux嵌入式系统开发之Led开发——驱动篇(一),对于的应用篇看看咱们的开发板,有四个led灯,对吧,这次就是向办法用程序来点亮它,请看下边的代码:#include <stdlib.h>#include <stdio.h>#include <unistd.h>#include <sys/ioctl.h>int main(int argc, char **argv){ int on; int led_no; int fd; if(argc != 3 ||sscanf(argv[1],"%d",&led_no) != 阅读全文
posted @ 2012-07-30 10:44 平湖之下 阅读(527) 评论(0) 推荐(0) 编辑
摘要: Linux下的大部分驱动程序都是字符设备驱动程序,通过下面的学习我们将 会了解到字符设备是如何注册到系统中的,应用程序是如何访问驱动程序的数据的,及字符驱动程序是如何工作的。设备号通过前面的 学习我们知道应用程序是通过设备节点来访问驱动程序及设备的,其根本是通过设备节点的设备号(主设备号及从设备号)来关联驱动程序及设备的,字符设备也不 例外(其实字符设备只能这样访问)。这里我们详细讨论Linux内部如何管 理设备号的。设备号类型Linux内核里用“dev_t”来表示设备 号,它是一个32位的无符号 数,其高12位用来表示主 设备号,低20位用来表示从 设备号。它被定义在<linux/ty 阅读全文
posted @ 2012-07-30 01:08 平湖之下 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 这章将介绍Linux系统的设 备,这样我们才能清楚的知道应用程序和设备驱动程序是如何的工作的,或者说应用程序是如何控制驱动程序的,进而知道应用程序是如何通过驱动程序操作设备 的,另外会详细的介绍设备号及设备文件。Linux设备分类Linux下的设备通常分为三类,字符设备,块设备和网络设 备。字符设备一个字符设 备是一种字节流设备,对设备的存取只能按顺序按字节的存取而不能随机访问,字符设备没有请求缓冲区,所有的访问请求都是按顺序执行的。Linux下的大多设备都是字符设备。应用程序是通过字符设备节点来访问 字符设备的。设备节点一般都由mknod命令都创 建在/dev目录下,下 面的例子显示了串口设 阅读全文
posted @ 2012-07-30 01:02 平湖之下 阅读(1658) 评论(0) 推荐(0) 编辑
摘要: 在mini2440中LED链接线使用引脚GPB5~8外接4个LED,操作方法是:1)引脚功能设为输出。2)要点亮LED,令引脚输出为0.3)要熄灭LED,令引脚输出为1.好了下边,给出详细的源码注释:#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <asm/irq.h>#include <mach/regs-gpi 阅读全文
posted @ 2012-07-30 00:23 平湖之下 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 定时器1是一个16位定时器,具有定时器/计数器/脉宽调制功能。它有3个单独可编程 输入捕获/输出比较 信道,每一个信道都可以用来当做PWM输出或用来捕获输入信号的边沿时间(关于什么是输入捕获/输出比较,以及如何实现PWM输出,读者可自行查阅CC2430中文手册)。要求定时器的溢出周期为0.5s。为此,需要计算出相应的溢出值(暂设为N)。系统时钟频率选为32MHz,提供给定时器的时钟频率默认为16MHz(两者都由特殊功能寄存器CLKCON来配置,具体可查阅CC2430中文手册)。对于定时器1,设置其时钟分频为128分频。综上所述,可列式如下:求出N=62500,其十六进制为 0xF424,即需要 阅读全文
posted @ 2012-07-22 23:48 平湖之下 阅读(605) 评论(0) 推荐(0) 编辑
摘要: CC2430基础——IAR的安装及配置 IAR是一个强大的嵌入式开发平台,支持非常多种类的芯片。IAR中的每一个Project,都可以拥有自己的配置,具体包括Device类型、堆/栈、Linker、Debugger等。一、IAR的安装 其实,IAR的安装是比较容易的,只需要软件和注册机就行了,我安装的是EW8051-EV-720D.exe。 但是cc debugger识别不了,出现以下现象。CC DebuggerIAR解决的方法,就是重装系统,然后换个低版本的IAR,原因是可能是仿真器固件版本较低二、IAR的配置(1)新建 Workspace 和 Project 首先新建文件夹 ledte.. 阅读全文
posted @ 2012-07-19 11:54 平湖之下 阅读(1431) 评论(0) 推荐(0) 编辑
摘要: void InitialAD(void){ADCH &= 0X00;//清EOC标志ADCCON3=0xbf;//单次转换,参考电压为电源电压,对1/3 AVDD进行A/D转换//14位分辨率ADCCON1 = 0X30;//停止A/DADCCON1 |= 0X40;//启动A/D//因没有取外部电压作为A/D输入,所在没有配置ADCCFG}数据处理INT16U readadc(void){temp[1] = ADCL;//取AD值temp[0] = ADCH;ADCCON1 |= 0x40;//开始下一转换temp[1] = temp[1]>>2;temp[1] |= t 阅读全文
posted @ 2012-07-10 12:18 平湖之下 阅读(246) 评论(0) 推荐(0) 编辑