ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
10 марта
1575147 Топик полностью
SciFi (Сегодня, 08:52, просмотров: 86) ответил Nikolay_Po на RISC-V QingKe-V4C. Как воспользоваться инструкциями атомарного доступа? Нужно взвести/сбросить бит в регистре периферии, при этом, сброс/взведение бита в обычном случае - это R-M-W, которые могут быть прерваны другим процессом, чего хотелось бы избежать без блокировки прерываний.
Да нет, это вообще не о том. Кстати, можно сделать небольшую обёртку типа такого: 
void modify_reg(int volatile* reg, int reset, int set)
{
    int volatile count;
    int before;
    do
    {
        before = count;
        *reg = (*reg & ~reset) | set;
    }
    while (count != before);
    count++;
}
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้