Сиг 0 26 мая, 2021 Опубликовано 26 мая, 2021 · Жалоба Здравствуйте, коллеги! Отладил программу на контроллере STM8S105K4, перенёс потом её на STM8S003F3 и обнаружил, что готовая программа не работает. С помощью отладчика увидел, что не работает таймер TIM2. Проверил биты конфигурации, бит UIE (разрешение прерывания от TIM2) не установлен. Проверяю отладчиком, UIE ни в какую не устанавливается. Попытался записать число 0xFF во все доступные биты регистра IER. Ни в один бит ничего не записалось. Записывал этот бит вручную в окне "Registers", но прерывание не появилось. Причём пытался всё это делать и в симуляторе, но яйца те же... Кто-нибудь сталкивался с такими чудесами? Что может быть? Среда - IAR, отладчик - ST-LINK/V2/01-0, контроллер - STM8S003F3. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 143 26 мая, 2021 Опубликовано 26 мая, 2021 · Жалоба Уверенность в том, что перенос между МК осуществлен правильно, есть? Их карта памяти и MMIO вполне могут разойтись... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сиг 0 26 мая, 2021 Опубликовано 26 мая, 2021 · Жалоба Я пользовался RM0016 Reference manual (STM8S Series and STM8AF Series 8-bit microcontrollers). Карты памяти, указанных мною контроллеров, идентичны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 143 26 мая, 2021 Опубликовано 26 мая, 2021 · Жалоба А тактирование самого модуля таймера разрешено? Оно, вроде, там по умолчанию разрешено, но тем не менее... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сиг 0 27 мая, 2021 Опубликовано 27 мая, 2021 · Жалоба Да, тактирование от внутреннего ВЧ-генератора подключено. ВЧ-генератор работает, судя по тому, что АЦП по двум каналам производит одно измерение сразу после запуска отладчика, а потом измерения прекращаются из-за неработающего таймера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сиг 0 27 мая, 2021 Опубликовано 27 мая, 2021 (изменено) · Жалоба Всё, коллеги, отбой! Огромное спасибо коллеге Arlleex за участие! Проблема оказалась в следующем. В файле проекта stm8s.h после переконфигурации его выводов под контроллер STM8S003F3 мной, из-за отсутствия опыта работы с ним, было забыто закомментировать строку #define STM8S105 */ /*!< STM8S Medium density devices и раскомментировать строку #define STM8S003 */ /*!< STM8S Value Line Low density devices */ Изменено 27 мая, 2021 пользователем Сиг Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 4 7 сентября, 2021 Опубликовано 7 сентября, 2021 · Жалоба очень рекомендую посмотреть best practice, хотя бы на том же ютубе гитхабе https://github.com/Hoksmur/pts/blob/main/stm8/Makefile#L34 STM8S003 лучше объявлять не в исходнике, а при сборке в качестве аргумента си-компилятору: sdcc -DSTM8S003 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться