how_to_do_variable_length_queue.c
来自「在AVR单片机上使用的一款RTOS」· C语言 代码 · 共 30 行
C
30 行
/** * Good variant of net frame generation task because * thereis no need to have big buffer if the speed of net is low * it saves a lot of RAM * How implement this thing? */#define some_time RATE_MS/NET_SPEED_CHARS_PER_SECvoid Frame_Generation_task (){int bufer_size;int char_to_transmit;int crc; while (1 == 1) { bufer_size = xQueuRecive (Net_Queue,char_to_transmit,some_time); send_to_the_net_media (SOME_NETWORK_ADRESS_OF_SENDER); crc = SOME_NETWORK_ADRESS_OF_SENDER while ( (bufer_size != 0) && xQueuRecive (Net_Queue,char_to_transmit,some_time) ) { send_to_the_net_media (char_to_transmit); crc = crc + char_to_transmit; }; send_to_the_net_media (crc); }}/** * BUT THEREIS A PROBLEM if TWO TASK WANTS TO SEND SOME INFORMATION */ void task
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?