资源简介
需要两个CC2530模块,一个是接收红外波形后解码发送端,另一个是接收显示端(串口显示)。对于NEC红外协议遥控器解码。

代码片段和文件信息
#include “ioCC2530.h“
#include
#include
#define LED P2_0
#define RDATA P1_3 //红外接收口
#define REMOTE_ID 0
#define FLAG (1<<3)
#define u32 unsigned long
#define u8 unsigned char
u32 Remote_Odr=0; //命令暂存处
u8 Remote_Cnt=0; //按键次数此次按下键的次数
u8 Remote_Rdy=0; //红外接收到数据
u8 res=0; //中断变量
u8 OK=0;
u8 RODATA=0;
unsigned int key[4];
u8 bufer[7];
char rf_rx_buf[128];
char serial_rxbuf[128];
char rfbbf[128];
int serial_rxpos = 0;
int serial_rxlen = 0;
char is_serial_receive = 0;
void uart0_init();
void uart0_sendbuf(char *pbuf int len);
void uart0_flush_rxbuf();
void timer1_init();
void timer1_disbale();
void timer1_enable();
u8 zh(u8 *g u8 *d);
/*@@@@@@@@@@@ add @@@@@@@@@@@@@@@@*/
void InitKey();
void rf_send( char *pbuf int len);
void rf_receive_isr();
void uart0_init()
{
CLKCONCMD &= ~0x40; //设置系统时钟源为32MHZ晶振
while(CLKCONSTA & 0x40); //等待晶振稳定
CLKCONCMD &= ~0x47;
PERCFG = 0x00;
P0SEL |= 0x0C;
U0CSR |= 0xC0;
U0GCR |= 11;
U0BAUD = 216; // 115200
UTX0IF = 1;
URX0IE = 1;
}
void uart0_flush_rxbuf()
{
serial_rxpos = 0;
serial_rxlen = 0;
memset(bufer07);
}
void timer1_init()
{
T1CTL = 0x0C;
T1CCTL0 = 0x44;
T1STAT = 0x00;
T1IE = 1;
T1CC0L = 250;
T1CC0H = 0;
}
void timer1_disbale()
{
T1CTL &= ~( 1<< 1);
}
void timer1_enable()
{
T1CTL |= ( 1 << 1 );
T1STAT = 0x00;
T1CNTH = 0;
T1CNTL = 0;
}
void rf_init()
{
FRMFILT0 = 0x0C;
TXPOWER = 0xD5;
FREQCTRL = 0x0B;
CCACTRL0 = 0xF8;
FSCAL1 = 0x00;
TXFILTCFG = 0x09;
AGCCTRL1 = 0x15;
AGCCTRL2 = 0xFE;
TXFILTCFG = 0x09;
RFIRQM0 |= (1<<6);
IEN2 |= (1<<0);
RFST = 0xED;
RFST = 0xE3;
}
void rf_send( char *pbuf int len)
{
RFST = 0xE3;
while( FSMSTAT1 & (( 1<<1 ) | ( 1<<5 )));
RFIRQM0 &= ~(1<<6);
IEN2 &= ~(1<<0);
RFST = 0xEE;
RFIRQF1 = ~(1<<1);
RFD = len + 2;
for (int i = 0; i < len; i++)
{
RFD = *pbuf++;
}
RFST = 0xE9;
while (!(RFIRQF1 & (1<<1)));
RFIRQF1 = ~(1<<1);
RFIRQM0 |= (1<<6);
IEN2 |= (1<<0);
}
void rf_receive_isr()
{
int rf_rx_len = 0;
int rssi = 0;
char crc_ok = 0;
rf_rx_len = RFD - 2;
rf_rx_len &= 0x7F;
for (int i = 0; i < rf_rx_len; i++)
{
rf_rx_buf[i] = RFD;
}
rssi = RFD - 73;
crc_ok = RFD;
RFST = 0xED;
if( crc_ok & 0x80 )
{
if(rf_rx_buf[0] == ‘L‘)
{
uart0_sendbuf( rf_rx_buf rf_rx_len-1);
printf(“[%d]“rssi);
}
else
{
}
}
else
{
printf(“\r\nCRC Error\r\n“);
}
}
void main(void)
{
P2DIR |= 0x01; // P2.0
LED = 1;
EA = 0;
InitKey();
uart0_init();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 57 2013-07-28 11:09 红外解码无线发送\.hg\00changelog.i
文件 92 2013-08-10 09:03 红外解码无线发送\.hg\cache\branchheads
文件 92 2013-07-31 21:45 红外解码无线发送\.hg\cache\branchheads-served
文件 44 2013-07-31 21:45 红外解码无线发送\.hg\cache\tags
文件 16 2013-08-10 09:06 红外解码无线发送\.hg\cur-message.txt
文件 190 2013-07-31 21:45 红外解码无线发送\.hg\dirstate
文件 116 2013-07-31 21:45 红外解码无线发送\.hg\last-message.txt
文件 33 2013-07-28 11:09 红外解码无线发送\.hg\requires
文件 1023 2013-07-31 21:45 红外解码无线发送\.hg\store\00changelog.i
文件 659 2013-07-31 21:45 红外解码无线发送\.hg\store\00manifest.i
文件 6171 2013-07-31 21:45 红外解码无线发送\.hg\store\data\main.c.i
文件 2097 2013-07-28 11:10 红外解码无线发送\.hg\store\data\_t_r_x.ewd.i
文件 3563 2013-07-28 11:11 红外解码无线发送\.hg\store\data\_t_r_x.ewp.i
文件 193 2013-07-28 11:11 红外解码无线发送\.hg\store\data\_t_r_x.eww.i
文件 64 2013-07-28 11:10 红外解码无线发送\.hg\store\data\~2ehgignore.i
文件 265 2013-07-28 11:11 红外解码无线发送\.hg\store\data\~c7~e5~b3~fd~b9~a4~b3~cc.bat.i
文件 96 2013-07-28 11:11 红外解码无线发送\.hg\store\fncache
文件 43 2013-07-28 11:11 红外解码无线发送\.hg\store\phaseroots
文件 57 2013-07-31 21:45 红外解码无线发送\.hg\store\undo
文件 43 2013-07-31 21:45 红外解码无线发送\.hg\store\undo.phaseroots
文件 2 2013-08-10 17:32 红外解码无线发送\.hg\thgstatus
文件 0 2013-07-31 21:45 红外解码无线发送\.hg\undo.bookmarks
文件 7 2013-07-31 21:45 红外解码无线发送\.hg\undo.branch
文件 9 2013-07-31 21:45 红外解码无线发送\.hg\undo.desc
文件 190 2013-07-31 21:45 红外解码无线发送\.hg\undo.dirstate
文件 0 2013-07-28 11:09 红外解码无线发送\.hgignore
文件 107497 2014-01-17 15:45 红外解码无线发送\Debug\Exe\TRX.d51
文件 51995 2014-01-17 15:45 红外解码无线发送\Debug\Obj\main.r51
文件 146 2014-01-17 15:45 红外解码无线发送\Debug\Obj\TRX.pbd
文件 6876 2014-01-17 15:45 红外解码无线发送\main.c
............此处省略22个文件信息
- 上一篇:基于VHDL的卷积码编解码器的设计
- 下一篇:基于神经网络的印刷体字母数字识别
相关资源
- cc2530寄存器手册
- IEEE 802.15.4的CC2530无线数据收发设计
- IEEE 802.15.4的CC2530无线数据收发设计
- ZStack-CC2530-2.5.1a
- 基于ZigBee温室环境监测系统电路设计
- 智能分户供暖监控系统的无线温控器
- CC2530的分布式无线数据采集系统设计
- CC2530 BasicRFTI源文件
- cc2530-contiki读取DHT11并发送数据例程
- CC2530中文数据手册完全版.pdf
- CC2530 (zigbee) 中文数据手册完全版
- SampleApp_dht11.zip
- zigbee基于cc2530指导
- 基于cc2530的温湿度检测点对点无线传
- 基于CC2530的温湿度数据采集系统
- 基于cc2530的zigbee的无线led灯控制程序
- TI公司推出的CCS3.3开发环境中文入门指
- 基于Zigbee的室内自定位
- Zigbee CC2530 振动传感器开发源码 项目
- Zigbee CC2530 酒精传感器开发源码
- Zigbee CC2530 火焰传感器开发源码
- CC2530+DHT11温湿度传感器+HC-SR04超声波传
- cc2530中文数据手册完全版
- Zigbee CC2530模块电路图和原理图
- STM32和CC2530串口通信
- cc2530无线点灯实验
- CC2530无线点灯
- TIMAC-CC2530-1.4.0
- ZStack-CC2530-2.3.0-1.4.0 完整文档,多个
- 光照低功耗.rar
评论
共有 条评论