ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
192950 Топик полностью
VVB_ (04.05.2010 13:12, просмотров: 1) ответил Vit на В начальном посте чётко сказано, что переменные изменяются в обработчике прерывания, а используются вне. Чтобы в коде фона оптимизатор не покалечилзаменил обращения к этим переменным константамикопиями, необходимо указывать volatile.
Начальный пост был примерно таков, как я понял из описания:  int a, b; __interrupt void ISR(void) { a = ...; b = ...; } void main(void) { for (;;) { ...; c = Count(); } } int Count (void) { c = a / b; } Для корректной работы функции Count() необязательно делать volatile int a, b Я не знаю стандарта Си, который бы заменил обращения к переменным a, b на константы в данном примере.