typedef struct _icm42607_sensor_data_packet_t{
int8_t head;
int8_t temp_degc;
int16_t reserve0;
int16_t accel_g[3];
int16_t reserve1;//memery aligin
int16_t gyro_dps[3];
//int16_t reserve1;//memery aligin
int16_t timestamp;
}icm42607_sensor_data_packet_t;
QueueHandle_t accDataQueueHandle = NULL;
#defdine ICM42607_WATER_MARK 12
//我想通过队列一次发送的数据量
static icm42607_sensor_data_packet_t acc_message[ICM42607_WATER_MARK] = {0};
//创建队列的时候很重要,这个地方决定了一次发送最多能发送多少数据量,还决定了最多能够发送多少次
void create_queue(void){
accDataQueueHandle = xQueueCreate(1, ICM42607_WATER_MARK * sizeof(icm42607_sensor_data_packet_t));//第一个长度代表的是FIFO的长度,第二个参数是每次发送的数据大小占多少个字节。该数据需要发送FIFO的长度的次数
}
void send_data_to_queue(void){
xQueueSend(accDataQueueHandle, (void *)&sensor_fifo_data, 0);//发送acc数据到队列
}
void main(void)
{
while(1){
if (xQueueReceive(accDataQueueHandle , (void *)&acc_message, portMAX_DELAY))//接收数据从队列
{
//data_process();
}//end if
}
}//end while
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)