ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
21 апреля
1512902
Mty1 (19.04.2025 20:30, просмотров: 609)
Вопрос по атомарной записи - чтению в Stm32 f4. Использую uint8_t uint16_t для передачи флагов между задачами и передачи данных из ISR, не парясь, т.к. видел в каком то документе по ARM что 8bit 16bit и 32bit запись чтение в ARM атомарные. И тут Deepseek сообщает мне, что мол нельзя так делать, т.к. если uint16_t не выровнена по четной границе, запись может быть не атомарной. Правда или бред? И надо мол использовать #include <stdatomic.h> 
#include <stdatomic.h>
volatile atomic_bool flag;
atomic_store(&flag, true);  // Атомарная запись
if (atomic_load(&flag)) {   // Атомарное чтение
    // ...
}