ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
5 мая
1283471 Топик полностью
Boвa (12.02.2023 10:09, просмотров: 201) ответил POV на Кейл51. Два варианта кода. Один дает глюки. Кейл проигнорил volatile или я не смог тому внятно сказать что хочу?..
У вас кейл -51 следовательно MCS-51, следовательно атомарны только чтения байтов. Вы читаете 4 байта, следовательно чтение не атомарно, следовательно величина может изменится во время чтения. При проверке temp!=systick время чтения systick больше чем при temp2 =systick следовательно операция temp!=systick чаще приводитк к глюкам, но это не значит что и код temp2 =systick тоже безглючный. Вам нужно либо прерывания запрещать на время чтений systick либо организовывать мютекс, 

семафор или еще какую блокировку.