ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
2 июня
1434836 Топик полностью
LightElf (13.05.2024 15:44 - 18:40, просмотров: 74) ответил Nikolay_Po на Когда самое глубоко вложенное сделает свои дела и перестанет вызывать STREX, цикл у чуть менее глубокого успешно завершится. И так до самого верхнего уровня.
У нас, похоже, разное понимание слова "вложенный". 

Для меня "вложенный" - что-то такое. И оно зависнет навсегда.


void atomic_inc(uint32_t *ptr)
{
uint32_t temp;
do {
temp = __LDREX(ptr);
temp++;
} while (__STREX(temp, ptr));
}

uint32_t x, y;
do {
uint32_t temp;
temp = __LDREX(&x);
temp --;
atomic_inc(&y);
} while (__STREX(temp, &x));
Не надо делать мне как лучше, оставьте мне как хорошо