随笔分类 -  zigbee

CC2430 CC2530
摘要:#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 平湖之下 阅读(348) 评论(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 平湖之下 阅读(531) 评论(1) 推荐(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 平湖之下 阅读(626) 评论(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 平湖之下 阅读(1514) 评论(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 平湖之下 阅读(262) 评论(0) 推荐(0)
摘要:那就是WDCTL(看门狗定时器控制寄存器)。我们先来看一下这个寄存器的具体的定义。位号位名复位值操作性功能描述7:4CLR[3:0]0000R/W看门狗复位,先写入0x0A再写入0x05复位看门狗,两次写入不超过0.5个看门狗周期,读出为00003EN0R/W看门狗定时器使能位,在定时模式下写0停止计数,在看门狗模式下写0无效0停止计数1启动看门狗/开始计数2MODE0R/W看门狗定时器模式0看门狗模式1定时器模式1:0INT[1:0]00R/W看门狗时间间隔选择001秒010.25秒1015.625毫秒111.9毫秒具体的寄存器介绍就是上面的这些。下面我们还是来看一下这两个实验里的比较重要的 阅读全文
posted @ 2012-07-10 12:13 平湖之下 阅读(263) 评论(0) 推荐(0)
摘要:void initUART(void){IO_PER_LOC_UART0_AT_PORT0_PIN2345();SET_MAIN_CLOCK_SOURCE(CRYSTAL);UART_SETUP(0, 9600, HIGH_STOP);U0CSR = 0xC5;}其中#define IO_PER_LOC_UART0_AT_PORT0_PIN2345() do { PERCFG = (PERCFG&~0x01)|0x00; } while (0)是用来设置寄存器PERCFG的SET_MAIN_CLOCK_SOURCE(CRYSTAL);用来设置晶振的UART_SETUP(0, 9600, 阅读全文
posted @ 2012-07-10 11:52 平湖之下 阅读(403) 评论(0) 推荐(0)