Adam 0 11 января Опубликовано 11 января · Жалоба Как организовать простейшее прерывание для ATI91SAM9260 ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 11 января Опубликовано 11 января · Жалоба On 1/11/2024 at 12:34 PM, Adam said: Как организовать простейшее прерывание для ATI91SAM9260 ? Linux ? Baremetal ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 53 11 января Опубликовано 11 января · Жалоба Я конечно не уверен 🙃, но предпола, что надо прочитать мануал на микроконтроллер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 11 января Опубликовано 11 января · Жалоба On 1/11/2024 at 1:50 PM, EdgeAligned said: Я конечно не уверен 🙃, но предпола, что надо прочитать мануал на микроконтроллер. Еще на ядро. В IAR были (есть) примеры различные. Сам ATMEL раньше выкладывал примеры. Надо на сайте Microchip поискать примеры. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Adam 0 11 января Опубликовано 11 января (изменено) · Жалоба 1 hour ago, dimka76 said: Linux ? Baremetal ? Проект на IAR 6.30 под Windows Изменено 11 января пользователем Adam Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
firstvald 14 11 января Опубликовано 11 января · Жалоба #include <AT91SAM9260.h> void timer_init() { // Расчет значения для регистра TC_RC (сравнения) uint32_t ms = 1; // 1 миллисекунда uint32_t rc_value = (4000000 / 2) / 1000 * ms; // Половина частоты кварца, чтобы получить частоту таймера // Установка режима работы таймера AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKDIS; // Отключение тактирования AT91C_BASE_TC0->TC_CMR = AT91C_TC_WAVE | AT91C_TC_CPCTRG; // Режим WAVE и сравнение AT91C_BASE_TC0->TC_RC = rc_value; // Установка значения сравнения AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG; // Включение тактирования и запуск таймера } // Обработчик прерывания от таймера void TC0_Handler() { if ((AT91C_BASE_TC0->TC_SR & AT91C_TC_CPCS) != 0) { // Обработка прерывания // Ваш код обработки прерывания здесь } } посмотрите. может что то используете. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 11 января Опубликовано 11 января · Жалоба On 1/11/2024 at 2:42 PM, Adam said: Проект на IAR 6.30 под Windows Так в IAR есть примеры. On 1/11/2024 at 3:00 PM, firstvald said: посмотрите. может что то используете. Настройки AIC не хватает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 53 11 января Опубликовано 11 января · Жалоба Насколько я понимаю, у этого МК ядро ARM? Тогда еще нужно провести стандартную для ARM операцию включения вектора прерывания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 11 января Опубликовано 11 января · Жалоба 1 час назад, Adam сказал: Проект на IAR 6.30 под Windows Вам явно в "Предлагаю работу". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
firstvald 14 11 января Опубликовано 11 января · Жалоба там и синхронизацию для используемых узлов и сбросить их . т е начать и кончить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться