ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
12 июля
440245 Топик полностью
Mazur (10.09.2013 09:30, просмотров: 106) ответил Mazur на Как мне сделать следующее? Скажем, КА. В состояниях идентичные участки. Как сделать общую точку выхода? Что-то не вижу в K&R примеров. Goto?
Вот про что я говорил, (обновление дисплея пока еще не сделал, посимвольно, скажем раз в 1 мс):  //======================================================================== #define DRV_LCD_TIME 1 //======================================================================== void drv_char_dsp (void) { switch (_drv_lcd) { 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'); set_timer(ST_DRV_CHAR_DSP, 1<<TMR_UNLOCK_FLG, DRV_LCD_TIME); _drv_lcd = DRV_CHAR_DSP_SEND_ADDR; break; case DRV_CHAR_DSP_SEND_ADDR: set_timer(ST_DRV_CHAR_DSP, 1<<TMR_UNLOCK_FLG, DRV_LCD_TIME); _drv_lcd = DRV_CHAR_DSP_SEND_CHAR; break; case DRV_CHAR_DSP_SEND_CHAR: set_timer(ST_DRV_CHAR_DSP, 1<<TMR_UNLOCK_FLG, DRV_LCD_TIME); _drv_lcd = DRV_CHAR_DSP_SEND_ADDR; break; default: _drv_lcd = DRV_CHAR_DSP_INIT; break; } } // Хотелось бы сделать так: void drv_char_dsp (void) { switch (_drv_lcd) { 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 = DRV_CHAR_DSP_SEND_ADDR; break; case DRV_CHAR_DSP_SEND_ADDR: _drv_lcd = DRV_CHAR_DSP_SEND_CHAR; break; case DRV_CHAR_DSP_SEND_CHAR: _drv_lcd = DRV_CHAR_DSP_SEND_ADDR; break; default: _drv_lcd = DRV_CHAR_DSP_INIT; break; } } // Ну и гдето в одном месте: set_timer(ST_DRV_CHAR_DSP, 1<<TMR_UNLOCK_FLG, DRV_LCD_TIME);