[an error occurred while processing this directive]
|
Объявил переменную типа int как volatile начал смотреть ассемблерный
код в IAR-AVR на строку A=B, где B int volatile и вижу следующие инструкции:
1 LDI R30,0x30
2 LDI R31,0x02
3 LDD R16,Z+0
4 LDD R17,Z+1
Допустим B=0x0000. Если прерывание придет после строки 3 и изменит ячейку в памяти B=0xFFFF то выйдя из прерывания и выполнив 4 строку мы получим A=0x00FF ?
Т.е получается использовать volatile с типами кроме char является опасным занятием ?
E-mail: info@telesys.ru