在arduino中我发送一个车库当前层数请求过去ExtSRAMInterface.ExMem_Write_Bytes(0x6008, cheku_FH_A, 8); // 发送请求返回立体车库当前层数,车库会返回一个数据我需要提取到其中的一个数据并赋值根据返回的zigbeeuint8_t chekuA_To1[8] = {0x55, 0x0D, 0x03, 0x01, 0x01, 0x00, 0x04, 0xBB}; // 立体车库A 返回车库位于第一层 uint8_t chekuA_To2[8] = {0x55, 0x0D, 0x03, 0x01, 0x02, 0x00, 0x05, 0xBB}; // 立体车库A 返回车库位于第二层 uint8_t chekuA_To3[8] = {0x55, 0x0D, 0x03, 0x01, 0x03, 0x00, 0x06, 0xBB}; // 立体车库A 返回车库位于第三层 uint8_t chekuA_To4[8] = {0x55, 0x0D, 0x03, 0x01, 0x04, 0x00, 0x07, 0xBB}; // 立体车库A 返回车库位于第四层提取当前层数
时间: 2024-02-14 18:15:01 浏览: 172
在Arduino中提取返回的数据可以使用ExtSRAMInterface.ExMem_Read_Bytes()函数读取指定地址的数据,并存储到一个数组中。根据你提供的数据,我们可以通过以下代码来实现:
```
// 发送请求
uint8_t cheku_FH_A[8] = {0x55, 0x0D, 0x03, 0x01, 0x01, 0x00, 0x04, 0xBB};
ExtSRAMInterface.ExMem_Write_Bytes(0x6008, cheku_FH_A, 8);
// 等待车库返回数据
delay(100); // 延时一段时间等待数据返回
// 读取返回的数据
uint8_t cheku_data[8];
ExtSRAMInterface.ExMem_Read_Bytes(0x6008, cheku_data, 8);
// 提取当前层数
uint8_t current_layer = cheku_data[5];
```
在上述代码中,我们首先发送了请求数据,然后延时一段时间等待车库返回数据。接着使用ExtSRAMInterface.ExMem_Read_Bytes()函数读取返回的数据,并将其存储到一个名为cheku_data的数组中。最后,我们提取数组中的第6个元素,即当前层数,存储到一个名为current_layer的变量中。
阅读全文