16+
Понедельник
22 января
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры PIC

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
IBAH  (03.01.2018 10:58 - 03.01.2018 11:31) , в ответ на Такая запись if(10 == a) считается полезной тем, что если забудешь один = будет ошибка if(10 = a) автор: AlexBi_
Понятно... жертвуем эффективностью в угоду безопасности... По второму вопросу я имел в виду: есть ли Пика команда "сравнить с 0", или 0 такая же константа как и все остальные?  
А контролер прерываний мне выносит моск! В прерывании таймера модифицируется лонг переменная, в фоновой задаче, при использовании переменной, что правильнее запрещать? Прерывания таймера? Манипуляции с разрешением прерывания таймера не сбрасывают флаг прерывания? В обработчике прерываний кодегенератор нагенерил проверку флагов разрешения прерываний, зачем? в этих ваших интернетах делают тоже самое
/*################################################
 * ОБРАБОТЧИК ПРЕРЫВАНИЙ с ВЫСОКИМ ПРИОРИТЕТОМ
 */
void interrupt high_isr (void)
{
if (PIR1bits.TMR1IF && PIE1bits.TMR1IE) // Проверка на нужный нам флаг.
    {
    PIR1bits.TMR1IF = 0; // Сбросили флаг прерывания по TMR1
 
    /* Скорость таймера:
     * PORTBbits.RB0 = 0 (кнопка нажата) -> медленно.
     * PORTBbits.RB0 = 1 (кнопка отжата) -> быстро.
     * TMR1 сбрасывается на 0x0000 при переполнении,
     * поэтому необходимо TMR1 устанавливать заново при каждом переполнении счетчика
     *
     * Скорость таймера:
     * 16 000 000 / 4 / 8 / (65535 - 0) = 7,6 Hz (медленно)
     * 16 000 000 / 4 / 8 / (65535 - 61440) = 122 Hz (быстро)
     */
    if (PORTBbits.RB0) TMR1 = 0xF000;
 
    LATD = PORTD + 1;
    } //if (PIR1bits.TMR1IF && PIE1bits.TMR1IE)
 
} // high_isr END
вот
if (PIR1bits.TMR1IF && PIE1bits.TMR1IE) 
 [x][x][x][x][x][x] [x][x][x][x][x][x][x][x]

Тема выделяется по переводу строки или автоматом

 

Имя


Регистрация позволит вам редактировать и перемещать ваши сообщения и прикреплять к ним файлы.
 
Символы: á é ó ú ý « »
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII