论坛元老
- 积分
- 10652
- 金钱
- 10652
- 注册时间
- 2017-4-14
- 在线时间
- 2780 小时
|
发表于 2018-4-12 21:16:50
|
显示全部楼层
本帖最后由 275891381 于 2018-4-12 21:30 编辑
你的发送buff不是32 的吗,最简单的就是弄个32长度的结构体和发送buff定义到一个共同体
typedef struct _data_struct{
u8 data1; //占用2字节
u16 data2; //占用2字节
u32 data3; //占用4字节
float data4; //占用4字节
//可以继续添加,累加和小于等于32就可以了
}data_struct;
typedef union _data_union
{
u8 tx_buff[32];
data_struct data_temp;
}data_union;
主函数里面
data_union data;
data.data_temp.data1=0x0a;
data.data_temp.data2=0x123;
data.data_temp.data3=0x9876;
data.data_temp.data4=987.654;
for(i=0;i<32;i++)
{
printf("%x,",data.tx_buff);
}
printf("\r\n");
下面是printf的结果
a,ff,23,1,76,98,0,0,db,e9,76,44,c8,46,0,20,c8,46,0,20,c8,46,0,20,0,0,0,0,5f,2,0,8,
上面实现了,你每次nrf发送data.tx_buff就可以了这种方法的好处是,不用复制不同类型的数据到发送buff还要自己定位了
|
|