Перейти к содержанию
    

VladislavS

Свой
  • Постов

    1 223
  • Зарегистрирован

  • Посещение

  • Победитель дней

    7

VladislavS стал победителем дня 25 декабря 2023

VladislavS имел наиболее популярный контент!

Репутация

29 Очень хороший

Информация о VladislavS

  • Звание
    Профессионал
    Профессионал
  • День рождения 07.05.1976

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

4 626 просмотров профиля
  1. +1. Что 150 мкс, что 150 мс - суть одно и то же. При внутрисхемной прошивке вообще секунды контроллер в ауте. Схемотехника должна это предусматривать.
  2. А где отладка то? Регистры процессора и периферии, дизасм?
  3. Чисто в педагогических целях стоит решить задачу самому.
  4. J-Link это всего лишь адаптер, он ничего сам не делает. Делает программа, которая с его помощью прошивает. Программ этих чуть больше чем дофига и каждая делает посвоему. Собственно и OpenOCD через J-link шить умеет.
  5. На время отладки все остальные прерывания отключить, колбэки убрать. Добиться отсутствия пропусков и понемногу возвращать функционал.
  6. Вообще-то, Кернигана и Ритчи 🙂 Это никому не повредит. Но что-то мне подсказывает, что там ни про работу с volatile сущностями, ни про оптимизирующий компилятор, ни про то как данные с задержками по шинам бегают, ни вообще про эмбэдд ни слова не будет. А до Страуструпа ещё надо дорасти.
  7. Тут, кстати, "они там все" запросто получат двойной вход в одно и то же прерывание. Но об этом хомячкам не расскажут.
  8. Между чтение для обработки и повторным чтением для очистки могло произойти что угодно. Это Секрет Полишинеля. Впрочем, тот код что для них индусы пишут, ещё ничего. :)))
  9. А потом у вас прерывания теряются. Тут вы очистили флаги, которые "вскочили" во время обработки текущего прерывания, не обработав. Смотреть прямо в регистре периферии микроконтроллер не может. Он сначала считывает в регистр процессора, а затем смотрит. Локальная переменная будет расположена в регистре процессора. Не нужно много раз читать регистр статуса в регистр процессора, это напрасная трата времени в прерывании.
  10. Искать надо там где потерял, а не там где лучше видно. Вроде это очевидно.
  11. Да там много, на первых страницах разделела ARM, RISC-V читать.
  12. Теоретически да. Несколько тактов "под угрозой". Безопаснее будет TIMER_INTF(TIMER1) = ~i;
  13. А я бы вообще вот так сделал u32 i = TIMER_INTF(TIMER1); TIMER_INTF(TIMER1) = 0; if (i & TIMER_INTF_CH0IF) { ... } if (i & TIMER_INTF_CH1IF) { ... }
  14. Никак оно не будет работать. Сто раз уже писали - нужен DDS - возьми DDS и не сношай людям мозги.
  15. Это совсем про другое. В исполняемый файл добавляется исходный код. Browse information в настройках среды включается.
×
×
  • Создать...