-
- Достаточно объявить i как volatile. - йцукен(20.11.2017 17:01)
- Не поможет. i - локальная переменная. - Bill(20.11.2017 17:14)
- Еще как поможет. - Andreas(20.11.2017 17:24)
- Ну, ну ;)) - Bill(20.11.2017 17:28)
- не ну ну, а поможет ) - 0men(20.11.2017 18:28)
- Ну, ну ;)) - Bill(20.11.2017 17:28)
- Еще как поможет. - Andreas(20.11.2017 17:24)
- Не поможет. i - локальная переменная. - Bill(20.11.2017 17:14)
- Кстати да! В IAR 1.4 в intrinsics.h отсутствует __delay_cycles(). __no_operation() в цикле задержки, естественно, помогает. Но при полной оптимизации все-равно что то не то. Настало время поковыряться в тонкостях и листинге - подергать за вымя Гyдвин(43 знак., 20.11.2017 16:54)
- В моем проекте фоновое прерывания таймера 100 мкс, проще всего в прерывании светодиоды включать, нет? - VLLV(20.11.2017 17:02)
- Дык для этого недо природную лень победить - изучать систему прерываний, таймеры подслеповатыми зенками :) Счел, что для этой махарайки сойдет и так. Вот появится проект, в который будет впору именно STM8 - придется ;) - Гyдвин(20.11.2017 17:25)
- А сказать "памажыце, людзi добрыя"? ;) - VLLV(20.11.2017 17:31)
- Дык для этого недо природную лень победить - изучать систему прерываний, таймеры подслеповатыми зенками :) Счел, что для этой махарайки сойдет и так. Вот появится проект, в который будет впору именно STM8 - придется ;) - Гyдвин(20.11.2017 17:25)
- В моем проекте фоновое прерывания таймера 100 мкс, проще всего в прерывании светодиоды включать, нет? - VLLV(20.11.2017 17:02)
- Программа ОБЯЗАНА работать после включения оптимизаций. А то, что она перестает работать, говорит о двух возможных случаях: создатель компилятора - редкий баклан (довольно редкое явление), создатель программы - быдлокодер (99.999% случаев). lloyd(159 знак., 20.11.2017 15:57)
- У меня в быдлокоде не было прописано volatile для глобального флага, долго разбирался, пока старшие товарищи не подсказали. Yft(43 знак., 21.11.2017 13:30)
- volatile для глобального флага имеет смысл только если этот флаг изменяется в прерывании - 0men(21.11.2017 13:35)
- Так и было, а я сидел в основной программе и ждал, когда же его поменяют .... Yft(31 знак., 21.11.2017 14:03)
- Карго-культ в программизме :-) - SciFi(21.11.2017 13:37, картинка)
- volatile для глобального флага имеет смысл только если этот флаг изменяется в прерывании - 0men(21.11.2017 13:35)
- Так я же указал причину. Или нет? - Bill(20.11.2017 17:15)
- Ну чО уж так сразу обзываться... :) __delay_cycles() пользую для MSP в IAR. Здесь было пока не до бантиков - утром приступил, сейчас запостил... Ну вставь это это в функцию delay() - она там одна на всех. Полегчает ;) - Гyдвин(20.11.2017 16:27 - 16:34)
- У меня в быдлокоде не было прописано volatile для глобального флага, долго разбирался, пока старшие товарищи не подсказали. Yft(43 знак., 21.11.2017 13:30)
- гудвин спалился :-) 21 век на дворе, а кто-то ещё делает задержки рабоче-крестьянским способом :-) - SciFi(20.11.2017 15:55)
- Кстати: Вместо ковыряния палкой, как крутой сЁкарь в ST, добавил бы махарайку оптимальное вычисление true RMS, например ;) Куча народа выпишут благодарность с занесением в грудную клетку :) А то в тырнетах лепят это поделие везде и хают, хают и Гyдвин(106 знак., 20.11.2017 17:46)
- Дао программиста Nikolay801_(345 знак., 20.11.2017 16:59)
- Нас рать! Работает и хорошо - ей спешить некуда ;) Да и задержки "подгонные" для индикатора. Че я с этой махарайкой раскорячиваться буду - изучать новое железо? 1 кб кода, 2 кб sprintf. Там еще стОООлько наговнокодить можно :) - Гyдвин(20.11.2017 16:12)
- Компилятор вырежет пустой цикл на любой платформе, уж это знать надо - lloyd(20.11.2017 16:18)
- Уймись уже, горячий финский парень, нам всем до Гудвина еще ... работать и работать - VLLV(20.11.2017 16:52)
- Гусары, молчать! :-) - SciFi(20.11.2017 16:26)
- Компилятор вырежет пустой цикл на любой платформе, уж это знать надо - lloyd(20.11.2017 16:18)
- Достаточно объявить i как volatile. - йцукен(20.11.2017 17:01)