📄 main._c
字号:
/***************************************
*2008,浙江工业大学信息与控制研究所
*All rights reserved
*
*文件名称:main.c
*摘 要:无线接收发送测试程序(发送端)
*
*当前版本:1.0
*作 者:董齐芬
*完成日期:2008.8.20
****************************************/
#include "cc2420.h"
#include "spi.h"
unsigned char Data_TXFIFO[TX_length]; //要写入TXFIFO中的数据,包括帧长度,MAC头,MAC有效负载等部分
unsigned char serial_num=0; //数据序号
void main(void)
{
unsigned char i;
unsigned int j;
initled();
init_spi();
LED_YELLOW;
PORTB |=(1<<CSn); //CSN引脚置位,停止SPI操作,
PORTB |=1<<SCK; // Spi clock line init high
PORTE |=1<<RST; //注意该引脚低电平时,cc2420处于复位状态
Data_TXFIFO[0]=TX_length+1; //第一字节为帧长度,不包括长度域本身的字节,但包含帧校验序列2字节
//帧控制域,无安全,确认要求,数据帧,包含16位的目标地址,源地址,目标PAN标识符,源PAN标识符
Data_TXFIFO[1]=0x88; //高字节
Data_TXFIFO[2]=0x01; //低字节
//目的PAN标识符
Data_TXFIFO[4]=0x23;
Data_TXFIFO[5]=0x45;
//目的地址
Data_TXFIFO[6]=0x15;
Data_TXFIFO[7]=0x73;
//源PAN标识符
Data_TXFIFO[8]=0x86;
Data_TXFIFO[9]=0x49;
//源地址
Data_TXFIFO[10]=0x59;
Data_TXFIFO[11]=0x04;
//有效负载
for (i=12;i<TX_length;i++)
{
Data_TXFIFO[i]=i-12;
}
Set_Configure(); //初始化设置配置字
PwDown_Idle(); //从掉电模式转换到空闲模式
j=0;
while(1)
{
j++;
if (j==2048)
{
break;
}
AllStates_Idle();
//序列号
Data_TXFIFO[3]=serial_num;
serial_num++;
if(serial_num==250)
{
serial_num=0;
}
Write_TXFIFO(TX_length,Data_TXFIFO); //将数据写入到TXFIFO中
Idle_Tx(); //启动发送
Delay10ms();
Delay10ms();
Delay10ms();
Delay10ms();
Delay10ms();
}
LED_RED;
while(1){;}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -