ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
21 июля
311275 Топик полностью
Юрий_СВ (29.02.2012 17:16, просмотров: 106) ответил Chum_A на Проводил мини НИР на тему программной задержки. Здорово зависит от уровня оптимизации и выполняется из ОЗУ или из Flash-а и настроек Flash-а. При смене версии компилятора может поплыть.
Чтобы не зависело от уровня оптимизации и версии (и производителя) компилятора - пишу функцию на Асм. От выполнения из ОЗУ/ПЗУ тоже зависеть не должна. Может зависеть от разрядности ПЗУ, установленных задержек и наличия акселератора. Но проверить не на чём. У меня только СТМ32Ф100 Под ИАР: void delay_3(u32_t len) // цикл 3 такта + вход/выход (2) + передача параметра (1) { asm("SUBS R0, R0, #1"); // 1 такт asm("BNE .-2"); // 2 такта (1 + 1 на заполнение конвеера) }