資源簡介
該系統基于c語言,分發送端和接受端,利用單片機實現了呼叫系統的簡易通信。

代碼片段和文件信息
#include?
#include?
#include?“2401driver.h“
uint?bdata?sta;???//狀態標志
sbit?RX_DR?=sta^6;
sbit?TX_DS?=sta^5;
sbit?MAX_RT?=sta^4;
uint?const?TX_ADDRESS[TX_ADR_WIDTH]=?{0x340x430x100x100x01};?//本地地址
uint?const?RX_ADDRESS[RX_ADR_WIDTH]=?{0x340x430x100x100x01};?//接收地址?
?
//*****************************************長延時*****************************************
void?Delay(unsigned?int?s)
{
?unsigned?int?i;
?s=?s*6;
?for(i=0;?i?for(i=0;?i}
/******************************************************************************************
/*延時函數
/******************************************************************************************/
void?inerDelay_us(unsigned?char?n)
{
?n=n*6;
?for(;n>0;n--)
??_nop_();
}
//****************************************************************************************
/*NRF24L01初始化
//***************************************************************************************/
void?init_NRF24L01(void)
{
?inerDelay_us(100);
?CE=0;????//?chip?enable
?CSN=1;???//?Spi??disable?
?SCK=0;???//?
???/*CLEAN?FIFO*/SPI_RW_Reg(FLUSH_RX0);
???/*CLEAN?FIFO*/SPI_RW_Reg(FLUSH_TX0);?
?SPI_Write_Buf(WRITE_REG?+?TX_ADDR?TX_ADDRESS?TX_ADR_WIDTH);????//?寫本地地址?
?SPI_Write_Buf(WRITE_REG?+?RX_ADDR_P0?RX_ADDRESS?RX_ADR_WIDTH);?//?寫接收端地址
?SPI_RW_Reg(WRITE_REG?+?EN_AA?0x01);??????//??頻道0自動?ACK應答允許?
?SPI_RW_Reg(WRITE_REG?+?EN_RXADDR?0x01);??//??允許接收地址只有頻道0,如果需要多頻道可以參考Page21??
?SPI_RW_Reg(WRITE_REG?+?RF_CH?0);????????//???設置信道工作為2.4GHZ,收發必須一致
?SPI_RW_Reg(WRITE_REG?+?RX_PW_P0?RX_PLOAD_WIDTH);?//設置接收數據長度,本次設置為32字節
?SPI_RW_Reg(WRITE_REG?+?RF_SETUP?0x07);?????//設置發射速率為1MHZ,發射功率為最大值0dB
}
/****************************************************************************************************
/*函數:uint?SPI_RW(uint?uchar)
/*功能:NRF24L01的SPI寫時序
/****************************************************************************************************/
uint?SPI_RW(uint?uchar)
{
??uint?bit_ctr;
for(bit_ctr=0;bit_ctr<8;bit_ctr++)?//?output?8-bit
{
MOSI?=?(uchar?&?0x80);?????????//?output?‘uchar‘?MSB?to?MOSI
uchar?=?(uchar?<1);???????????//?shift?next?bit?into?MSB..
SCK?=?1;??????????????????????//?Set?SCK?high..
uchar?|=?MISO;???????????//?capture?current?MISO?bit
SCK?=?0;????????????????//?..then?set?SCK?low?again
}
return(uchar);???????????????//?return?read?uchar
}
/****************************************************************************************************
/*函數:uchar?SPI_Read(uchar?reg)
/*功能:NRF24L01的SPI時序
/****************************************************************************************************/
uchar?SPI_Read(uchar?reg)
{
?uchar?reg_val;
?
?CSN?=?0;????????????????//?CSN?low?initialize?SPI?communication...
?SPI_RW(reg);????????????//?Select?register?to?read?from..
?reg_val?=?SPI_RW(0);????//?..then?read?registervalue
?CSN?=?1;????????????????//?CSN?high?terminate?SPI?communication
?
?return(reg_val);???????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-03-22?19:08??最終版\
?????目錄???????????0??2015-04-25?12:50??最終版\發送\
?????文件????????7989??2015-03-22?04:41??最終版\發送\2401driver.c
?????文件????????3390??2015-03-22?04:41??最終版\發送\2401driver.h
?????文件???????12697??2015-03-22?05:58??最終版\發送\2401driver.LST
?????文件???????16253??2015-03-22?05:58??最終版\發送\2401driver.OBJ
?????文件???????26301??2015-03-22?04:41??最終版\發送\codetab.h
?????文件???????41556??2015-03-22?05:58??最終版\發送\fiest
?????文件???????23061??2015-03-22?05:58??最終版\發送\fiest.hex
?????文件??????????60??2015-03-22?05:58??最終版\發送\fiest.lnp
?????文件???????38929??2015-03-22?05:58??最終版\發送\fiest.M51
?????文件?????????189??2015-04-25?12:50??最終版\發送\fiest.plg
?????文件???????74901??2015-04-25?12:50??最終版\發送\fiest.uvgui.duan
?????文件???????74525??2015-03-22?07:01??最終版\發送\fiest.uvgui_duan.bak
?????文件????????7712??2015-04-25?12:50??最終版\發送\fiest.uvopt
?????文件???????13610??2015-03-22?04:50??最終版\發送\fiest.uvproj
?????文件???????63586??2015-03-22?04:41??最終版\發送\fiest_uvopt.bak
?????文件???????13250??2015-03-22?04:41??最終版\發送\fiest_uvproj.bak
?????文件????????1044??2015-03-22?04:41??最終版\發送\keyscan.h
?????文件????????4774??2015-03-22?04:41??最終版\發送\LQ12864.h
?????文件????????1887??2015-03-22?06:00??最終版\發送\main.c
?????文件????????4549??2015-03-22?05:58??最終版\發送\main.LST
?????文件???????29789??2015-03-22?05:58??最終版\發送\main.OBJ
?????文件?????????157??2015-03-22?04:41??最終版\發送\shengguang.h
?????文件????????6376??2015-03-22?04:41??最終版\發送\STARTUP.A51
?????目錄???????????0??2015-03-22?19:07??最終版\接收\
?????文件????????7720??2015-03-22?04:41??最終版\接收\12864driver.c
?????文件?????????545??2015-03-22?04:41??最終版\接收\12864driver.h
?????文件????????7717??2015-03-22?04:41??最終版\接收\2401driver.c
?????文件????????3208??2015-03-22?04:41??最終版\接收\2401driver.h
?????文件???????12152??2015-03-22?06:02??最終版\接收\2401driver.LST
............此處省略22個文件信息
- 上一篇:opencv實現surf算法
- 下一篇:ELGamal簡單實現
評論
共有 條評論