有时候,我们代码中需要申请FIFO,这个时候可能会用到SDK中提供的默认接口函数(在co_fifo.h文件中): co_fifo_init(); //初始化fifo co_fifo_in(); //往fifo填充数据 co_fifo_out(); //从fifo中取数 co_fifo_avail(); //获取可用空间 在使用上述函数中有一个注意事项,就是在调用co_fifo_init();函数内有一个co_assert函数: co_assert(is_power_of_2(size)); #define is_power_of_2(x) ((x) != 0 && (((x) & ((x) - 1)) == 0)) 也就是说,该fifo申请的时候必须是2的整数幂,比如你可以申请4KB、8KB、16KB,但是你不能申请10KB,否则就会出现assert导致死机。 |