Posts

Showing posts from January 23, 2019

Эстула

Image
Эстула Характеристика Длина 14 км Водоток Устье    .mw-parser-output .ts-comment-commentedText{border-bottom:1px dotted;cursor:help}@media(hover:none){.mw-parser-output .ts-comment-commentedText:not(.rt-commentedText){border-bottom:0;cursor:auto}} (Т)  (B) Чуя  • Местоположение 58 км по левому берегу  • Координаты 50°21′20″ с. ш. 87°15′39″ в. д. H G Я O Расположение Водная система Чуя → Катунь → Обь → Карское море Страна Россия   Россия Регион Республика Алтай Район Кош-Агачский район Код в ГВР 13010100312115100005773 [1] устье Эстула  — река в России, протекает в Республике Алтай. Устье реки находится в 58 км по левому берегу реки Чуя. Длина реки составляет 14 км. Данные водного реестра | По данным государственного водного реестра России относится к Верхнеобскому бассейновому округу, водохозяйственный участок реки — Катунь, речной подбассейн реки — Бия и Катунь. Реч

Using volatile in embedded C development

Image
up vote 38 down vote favorite 13 I have been reading some articles and Stack Exchange answers about using the volatile keyword to prevent the compiler from applying any optimizations on objects that can change in ways that cannot be determined by the compiler. If I am reading from an ADC (let's call the variable adcValue ), and I am declaring this variable as global, should I use the keyword volatile in this case? Without using volatile keyword // Includes #include "adcDriver.h" // Global variables uint16_t adcValue; // Some code void readFromADC(void) { adcValue = readADC(); } Using the volatile keyword // Includes #include "adcDriver.h" // Global variables volatile uint16_t adcValue; // Some code void readFromADC(void) { adcValue = readADC(); } I am asking thi