ммм...все так грустно да? ну хорошо поставлю вопрос по другому
есть строка
Код
signal rx_uart_buf : string (0 to 127);
я хочу проверить каждый чар
Код
when ST_PARSE_COM =>
if (idx < RX_BUF_SIZE) then
case character'pos(rx_uart_buf(idx)) is
when 0 => ParseState <= ST_PARSE_IDLE;
when 32 => ParseState <= ST_PARSE_ARG1;
end case;
idx := idx + 1;
end if;
when 0 - это будет '\0' а when 32 - space character? VHDL компайлер это как воспримет?
character'pos - это позиция в ASCII Table?
впрочем так тоже компилируется
Код
case rx_uart_buf(glob_idx) is
when NUL => ParseState <= ST_PARSE_IDLE;
when ' ' => ParseState <= ST_PARSE_ARG1;
но мне тут сказали что стринг не синтезируемый тип. так что это не будет работать в железе?
Сообщение отредактировал Jenya7 - Jul 11 2017, 13:18