您好,欢迎光临本网站![请登录][注册会员]  
文件名称: nrf905相关资料以及出租车计费,一些的士呼叫系统
  所属分类: C
  开发工具:
  文件大小: 13mb
  下载次数: 0
  上传时间: 2010-04-07
  提 供 者: yjiw****
 详细说明: #include #include #include #include //---------------------------------------------------------------------------------------------------------------- #define uint unsigned int #define uchar unsigned char //---------------------------------------------------------------------------------------------------------------- #define BYTE_BIT0 0x01 #define BYTE_BIT1 0x02 #define BYTE_BIT2 0x04 #define BYTE_BIT3 0x08 #define BYTE_BIT4 0x10 #define BYTE_BIT5 0x20 #define B YTE_BIT6 0x40 #define BYTE_BIT7 0x80 bdata unsigned char DATA_BUF; #define DATA7 ((DATA_BUF&BYTE_BIT7) != 0) #define DATA0 ((DATA_BUF&BYTE_BIT0) != 0) sbit flag =DATA_BUF^7; sbit flag1 =DATA_BUF^0; //---------------------------------------------------------------------------------------------------------------- #define TxRxBuf_Len 4 unsigned char TxRxBuf[TxRxBuf_Len]= { 0x29,0x30,0x31,0x32, }; //--------------------------------------------------NRF905端口配置------------------------------------------------ sbit TXEN=P1^0; sbit TRX_CE=P3^4; sbit PWR=P1^1; sbit MISO=P1^6; sbit MOSI=P1^5; sbit SCK=P1^7; sbit CSN=P1^3; sbit AM=P1^4; sbit DR=P3^2; sbit CD=P1^2; //---------------------------------------------------NRF905寄存器配置--------------------------------------------------- unsigned char idata RFConf[11]= { 0x00, //配置命令// 0x4c, //CH_NO,配置频段在430MHZ 0x0C, //输出功率为10db,不重发,节电为正常模式 0x44, //地址宽度设置,为4字节 0x04,0x04, //接收发送有效数据长度为4字节 0xCC,0xCC,0xCC,0xCC, //接收地址 0x58, //CRC充许,8位CRC校验,外部时钟信号不使能,16M晶振 }; code TxAddress[4]={0xcc,0xcc,0xcc,0xcc}; //----------------------------------------------------NRF905控制指令---------------------------------------------- #define WC 0x00 #define RC 0x10 #define WTP 0x20 #define RTP 0x21 #define WTA 0x22 #define RTA 0x23 #define RRP 0x24 //----------------------------------------------------延时------------------------------------------------------ static void Delay(uchar n) { uint i; while(n--) for(i=0;i<80;i++); } //---------------------------------------------------SPI写函数---------------------------------------------------- void SpiWrite(unsigned char send) { unsigned char i; DATA_BUF=send; for (i=0;i<8;i++) { if (DATA7) //总是发送最高位 { MOSI=1; } else { MOSI=0; } SCK=1; DATA_BUF=DATA_BUF<<1; SCK=0; } } //---------------------------------------------------初始化nRF905状态------------------------------------------------- void nRF905Init(void) { CSN=1; // Spi disable SCK=0; // Spi clock line init low DR=0; // Init DR for input AM=0; // Init AM for input CD=0; // Init CD for input PWR=1; // nRF905 power on TRX_CE=0; // Set nRF905 in standby mode TXEN=0; // set radio in Rx mode } //---------------------------------------------------初始化NRF905寄存器-------------------------------------------- void Config905(void) { uchar i; CSN=0; // Spi enable for write a spi command //SpiWrite(WC); // Write config command写放配置命令 for (i=0;i<11;i++) // Write configration words 写放配置字 { SpiWrite(RFConf[i]); } CSN=1; // Disable Spi } //----------------------------------------------------数据打包---------------------------------------------------------------- void TxPacket(void) { uchar i; //Config905(); CSN=0; SpiWrite(WTP); // Write payload command for (i=0;i<4;i++) { SpiWrite(TxRxBuf[i]); // Write 32 bytes Tx data }// Spi enable for write a spi command CSN=1; Delay(1); // Spi disable CSN=0; // Spi enable for write a spi command SpiWrite(WTA); // Write address command for (i=0;i<4;i++) // Write 4 bytes address { SpiWrite(TxAddress[i]); } CSN=1; // Spi disable TRX_CE=1; // Set TRX_CE high,start Tx data transmission Delay(1); // while (DR!=1); TRX_CE=0; // Set TRX_CE low } //----------------------------------------------------设置发送状态------------------------------------------------- void SetTxMode(void) { TRX_CE=0; TXEN=1; Delay(1); // delay for mode change(>=650us) } //-----------------------------------------------------数据发送--------------------------------------------------- void TX(void) { SetTxMode();// Set nRF905 in Tx mode TxPacket();// Send data by nRF905 // SetRF_PA_PWR(unsigned char i); //设置发射功率 } void main(void) { nRF905Init(); Config905(); while(1) { TX(); } } ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: NRF905 出租车
 输入关键字,在本站1000多万海量源码库中尽情搜索: