Например TDA7294

Форум РадиоКот • Просмотр темы - STM8, ADC, прерывания - подземные стуки
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс июл 27, 2025 21:25:06

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: STM8, ADC, прерывания - подземные стуки
СообщениеДобавлено: Ср май 29, 2024 19:29:49 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 4
Зарегистрирован: Пт авг 10, 2007 12:49:55
Сообщений: 3051
Откуда: kr.ua
Рейтинг сообщения: 0
внезапно обнаружил, что у меня на STM8S003 отказывается работать прерывание АЦП в SCAN режиме. в более другом проекте, откуда дергал код (в т.ч. работы с АЦП), все гладко и шелковисто, но компилировалось более старой версией sdcc несколько лет назад.

после долгих часов безуспешного дебага имеем следующее:
CSR = 0x24 при инициализации, потом становится 0x20; CR1 = 0x1; CR2 = 0x0A; CR3 = 0.

код инициализации:
Код:
    GPIOD->DDR &= ~(1<<2 | 1<<3);
    GPIOD->CR1 &= ~(1<<2 | 1<<3);
    GPIOD->CR2 &= ~(1<<2 | 1<<3);

    ADC1->CR1 = 0;
    ADC1->CR2 = ADC1_CR2_ALIGN | ADC1_CR2_SCAN;

    ADC1->TDRH = 0;
    ADC1->TDRL = (1<<3) | (1<<4);
    ADC1->CSR = ADC1_CSR_EOCIE | 4;


запуск по таймеру:
Код:
    if (!calculate_started) {
        ADC1->CSR = ADC1_CSR_EOCIE | 4;
        ADC1->CR1 |= ADC1_CR1_ADON;
    }
    calculate_started = 1;


прерывание:
Код:
 INTERRUPT_HANDLER(ADC1_IRQHandler, 22)
 {
    calculate_started = 0;
    //ADC1->CSR = ~(ADC1_CSR_EOC | ADC1_CSR_AWD);
    ADC1->CSR = 0;
    LED_PORT->ODR ^= LED_PIN;
 }


запуск цикла преобразования отрабатывает, calculate_started - висит единица. прерывания - нет...

Добавлено after 1 hour 31 minute 3 seconds:
таки да, протупил и невнимательно прочитал мануал, надо дважды в CR0 записать единичку...


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y