• 大小: 110KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: 其他
  • 标签: nRF24L01  

资源简介

STC15W4-nRF24L01 项目,完整的 nRF24L01 1 对 6示例,具体查看本人博客文章.

资源截图

代码片段和文件信息

#include “Constant.h“
#include “nRF24L01.h“
#include “sys.h“

char str[16]=“Hello World 0\r\n“;

void nRF24L01_Process()
{
#if(NRF24L01_RF_MODE == NRF24L01_TX_MODE)
unsigned char n;

if(Sys_Flag_A.nRF24L01_Send_Data_Flag) // 这是一个标志 放在 UpdateClock() 中 每 1 秒会更新一次
{
Sys_Flag_A.nRF24L01_Send_Data_Flag = 0;

SendString_1(“RF24L01 Send Data \r\n“);
n = nRF24L01_Tx_Packet(str 16);
if(n == TX_OK) // 发射是否成功
SendString_1(“RF24L01 Send OK \r\n“); // 成功
else if(n == MAX_TX)
SendString_1(“RF24L01 Send MAX_TX \r\n“); // 超时
else
SendString_1(“RF24L01 Send Fail \r\n“); // 发射失败


str[12]++;
if(str[12] > ‘9‘)
str[12] = ‘0‘;
RED_LED = 1;
}
#else
RED_LED = ~RED_LED;
nRF24L01_Buf_Size = nRF24L01_Rx_Packet(RxPayload);

// 是否接收到数据
if(nRF24L01_Buf_Size)
{
Send_Data_Buf_1(RxPayload nRF24L01_Buf_Size); // 发送接收到的数据到 串口 1
nRF24L01_Buf_Size = 0;
}
#endif
}

void Sys_Init(void)
{
/* 
   P0M1  P0M0
0 ------ 0    准双向口
0 ------ 1   推挽输出(强上拉输出,可达 20mA要加限流电阻)
1 ------ 0    高阻输入(电流既不能流入,也不能流出)
1 ------ 1    开漏,内部上拉电阻断开,开漏模式即可读外部状态,也可对外输出(高电平、低电平),需外部加上拉电阻
*/
    P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;
    P6M0 = 0x00;
    P6M1 = 0x00;
    P7M0 = 0x00;
    P7M1 = 0x00;
    
    CLK_DIV &= 0xF8;      // 主时钟频率/1 不分频
    _nop_();
_nop_();
    /*
        0x00    主时钟频率/1 不分频
        0x01    主时钟频率/2
        0x02    主时钟频率/4
        0x03    主时钟频率/8
        0x04    主时钟频率/16
        0x05    主时钟频率/32
        0x06    主时钟频率/64
        0x07    主时钟频率/128

如果改变 系统时钟 则串口波特率会变
    */
    CLK_DIV |= 0x00;      // 主时钟频率/1

    _nop_();
_nop_();
    _nop_();
_nop_();

Clock_Init();
SPI_Init();
    Uart_1_Init();
nRF24L01_Init();
Time0_Init();
}


void main()
{
Sys_Init();

while(1)
{
UpdateClock(); // 时钟更新
nRF24L01_Process(); // nRF24L01 数据收发处理
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         610  2018-05-11 10:56  Constant.h
     文件       88088  2018-05-11 16:08  Demo.uvgui.Administrator
     文件        6328  2018-05-11 14:06  Demo.uvopt
     文件       14561  2018-05-11 11:37  Demo.uvproj
     目录           0  2018-05-11 16:13  Listings\
     文件       56747  2018-05-11 16:13  Listings\Demo.m51
     文件        5983  2018-05-11 16:13  Listings\main.lst
     文件       34797  2018-05-11 16:13  Listings\nRF24L01.lst
     文件       14146  2018-05-11 16:13  Listings\STARTUP.lst
     文件       15473  2018-05-11 16:13  Listings\sys.lst
     文件         958  2018-05-11 16:13  Listings\Variable.lst
     文件        2354  2018-05-11 16:00  main.c
     文件       16505  2018-05-11 16:06  nRF24L01.c
     文件        9356  2018-05-11 16:08  nRF24L01.h
     目录           0  2018-05-11 16:13  objects\
     文件       90226  2018-05-11 16:13  objects\Demo
     文件        2769  2018-05-11 16:13  objects\Demo.build_log.htm
     文件       10009  2018-05-11 16:13  objects\Demo.hex
     文件         191  2018-05-11 16:13  objects\Demo.lnp
     文件       22950  2018-05-11 16:13  objects\main.obj
     文件       45774  2018-05-11 16:13  objects\nRF24L01.obj
     文件         819  2018-05-11 16:13  objects\STARTUP.obj
     文件       24629  2018-05-11 16:13  objects\sys.obj
     文件        5924  2018-05-11 16:13  objects\Variable.obj
     文件        6376  2013-06-24 10:27  STARTUP.A51
     文件        7075  2018-05-11 16:08  sys.c
     文件        2681  2018-05-11 11:03  sys.h
     文件          59  2018-05-11 10:55  Variable.c

评论

共有 条评论