|
关于RAWOS QUEUE BUFFER模块的疑惑
[复制链接]
在测试程序中,一共两个任务
raw_task_create(&test_task_obj[1], (RAW_U8 *)"task1", 0,
3, 0, test_task_stack1,
TEST_TASK_STK_SIZE , test_task1, 1);
raw_task_create(&test_task_obj[2], (RAW_U8 *)"task2", 0,
30, 10, test_task_stack2,
TEST_TASK_STK_SIZE , test_task2, 1);
task1主要用于数据的接收
raw_sleep(10);
if(RAW_SUCCESS == raw_queue_buffer_receive(&p_read_files_Q_Buf1, RAW_WAIT_FOREVER,data_q, &dataSize))
{
for(i = 0;i < dataSize;i++)
checksum += queue_buffer_task2_file1[i];
vc_port_printf("checksum = %d\n", checksum);
checksum = 0;
}
raw_queue_buffer_receive第二个参数 此参数我有修改为raw_no_wait 或者100 或者RAW_WAIT_FOREVER,都表示接收不到,
task2用于数据的发送
fread(queue_buffer_task2_file1,sizeof(queue_buffer_task2_file1),1,P_ReadFile); raw_queue_buffer_end_post(&p_read_files_Q_Buf1, queue_buffer_task2_file1, sizeof(queue_buffer_task2_file1));
}
fseek(P_ReadFile,0,SEEK_SET);
主要是在一个文件里面读出512个数据,然后通过raw_queue_buffer_end_post 发送出去,但是
在task1里面一直接收不到,
求指点
在仿真跟踪的时候raw_queue_buffer_receive 这个函数总是返回timerout,,
|
|