ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 июля
632769 Топик полностью
LightElf (21.11.2015 12:43 - 12:55, просмотров: 178) ответил Олдфаг на Прекрасно. Давайте и рассмотрим Ваше кредо: не защищать только пишущуюся в прерывании и только читаемую в задаче переменную int16. Назначаем служебное расследование. Позиция1: AVR, мы в задаче считали первый байт от int16 из памяти в регистр и...
Я ждал!!!! :) Смотрим сюда: static unsigned int read_uint(volatile unsigned int *ptr) { unsigned int temp = *ptr; while (temp != *ptr) { temp = *ptr; } return temp; } Я утверждаю, что эта функция корректно прочитает данную переменную. Вместо unsigned int можете поставить любой скалярный тип или указатель. PS. Глючные компиляторы, которые забивают на volatile (2*2 превращают в 5 и т.д.), не рассматриваются.
Не надо делать мне как лучше, оставьте мне как хорошо