JC24B 2.4G无线模块配置

模块图

在这里插入图片描述

引脚功能

在这里插入图片描述

结构定义(头文件)

在这里插入图片描述

//typedef unsigned char u8;
typedef u8* pu8;
//typedef unsigned short u16;

typedef struct _jc24b_data_t
{
    u8 rf_cmd1;
    u8 rf_cmd2;
    u16 rf_node_id;
    u16 rf_net_id;
    u8 nc1;
    u8 rf_power;
    u8 nc2;
    u8 rf_baud;
    u8 nc3;
    u8 rf_chn;
    u8 nc4;
    u8 rf_speed;
    u8 nc5;
    u8 rf_lenght;//0x12
    u8 nc6;
    u8 rf_check_sum;
}jc24b_data;


//RF功率
#define RF_12dbm 0
#define RF_9dbm 2
#define RF_6dbm 4
#define RF_0dbm 6
#define RF_F5dbm 8
#define RF_F15dbm 10
#define RF_F25dbm 12
#define RF_F35dbm 14

//串口波特率
#define BAUD_9600 4
#define BAUD_38400 6

//空中速率
#define RF_250Kbps 0
#define RF_1Mbps 1
#define RF_2Mbps 2

//默认参数
#define RF_DEFAULT_BAUD BAUD_9600
#define RF_DEFAULT_NODE_ID 0x1122
#define RF_DEFAULT_NET_ID 0x3311
#define RF_DEFAULT_POWER RF_12dbm
#define RF_DEFAULT_CHN 99
#define RF_DEFAULT_AIR_SPEED RF_1Mbps

//校验和
u8 CheckSum(pu8 pSrc, u8 len);

//数据重置
void Jc24B_Reset(jc24b_data* dat);

//设置组网ID模块ID
void Jc24B_SetID(jc24b_data* dat,u16 node_id, u16 net_id);

实现代码

u8 CheckSum(pu8 pSrc, u8 len) {
    u8 i = 0, ret = 0;
    for (; i < len; ++i)
        ret += *pSrc++;
    return ret;
}

void Jc24B_SetCheckSum(jc24b_data *dat) {
    dat->rf_check_sum = CheckSum((pu8)dat,dat->rf_lenght-1);
}

void Jc24B_Reset(jc24b_data *dat) {
    memset(dat, 0, sizeof(jc24b_data));
    dat->rf_cmd1 = 0xaa;
    dat->rf_cmd2 = 0x5a; //发送
    dat->rf_node_id = RF_DEFAULT_NODE_ID;
    dat->rf_net_id = RF_DEFAULT_NET_ID;
    dat->rf_power = RF_DEFAULT_POWER;
    dat->rf_baud = RF_DEFAULT_BAUD;
    dat->rf_speed = RF_DEFAULT_AIR_SPEED;
    dat->rf_chn = RF_DEFAULT_CHN; // RF信道
    dat->rf_lenght = 0x12;
    Jc24B_SetCheckSum(dat); //设置校验和
}

void Jc24B_SetID(jc24b_data *dat, u16 node_id, u16 net_id) {
    if(dat->rf_cmd1!=0xaa)
        Jc24B_Reset(dat);
    dat->rf_node_id = node_id;
    dat->rf_net_id = net_id;
		Jc24B_SetCheckSum(dat); //设置校验和
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值