ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
12 июля
440257 Топик полностью
Mazur (10.09.2013 10:12, просмотров: 94) ответил Mazur на Как мне сделать следующее? Скажем, КА. В состояниях идентичные участки. Как сделать общую точку выхода? Что-то не вижу в K&R примеров. Goto?
Типа через ( . ) выкрутился. :)  //======================================================================== static u08 _drv_lcd; static u08 _drv_lcd_next; static u08 cnt_lines; static u08 cnt_chars; struct string DSP_BUF[]; //------------------------------------------------------------------------ //------------------------------------------------------------------------ void drv_char_dsp (void) { switch (_drv_lcd) { default: _drv_lcd = DRV_CHAR_DSP_INIT; case DRV_CHAR_DSP_INIT: init_char_dsp(); clr_dsp_buf; lcd_send_com(LINE_1+7); lcd_send_data('P'); lcd_send_data('r'); lcd_send_data('i'); lcd_send_data('v'); lcd_send_data('e'); lcd_send_data('t'); _drv_lcd_next = DRV_CHAR_DSP_SEND_ADDR; _drv_lcd = DRV_CHAR_DSP_SET_TMR; break; case DRV_CHAR_DSP_SEND_ADDR: if (wait(ST_DRV_CHAR_DSP)) { _drv_lcd_next = DRV_CHAR_DSP_SEND_CHAR; _drv_lcd = DRV_CHAR_DSP_SET_TMR; } break; case DRV_CHAR_DSP_SEND_CHAR: if (wait(ST_DRV_CHAR_DSP)) { _drv_lcd_next = DRV_CHAR_DSP_SEND_ADDR; _drv_lcd = DRV_CHAR_DSP_SET_TMR; } break; case DRV_CHAR_DSP_SET_TMR: set_timer(ST_DRV_CHAR_DSP, 1<<TMR_UNLOCK_FLG, DRV_LCD_TIME); _drv_lcd = _drv_lcd_next; break; } }