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

STM8S003F3 не пишется бит UIE в TIM2_IER

Здравствуйте, коллеги!

Отладил программу на контроллере STM8S105K4, перенёс потом её на STM8S003F3 и обнаружил, что готовая программа не работает. С помощью отладчика увидел, что не работает таймер TIM2. Проверил биты конфигурации, бит UIE (разрешение прерывания от TIM2) не установлен. Проверяю отладчиком, UIE ни в какую не устанавливается. Попытался записать число 0xFF во все доступные биты регистра IER. Ни в один бит ничего не записалось. :dash2: Записывал этот бит вручную в окне "Registers", но прерывание не появилось. Причём пытался всё это делать и в симуляторе, но яйца те же... Кто-нибудь сталкивался с такими чудесами? Что может быть?

Среда - IAR, отладчик - ST-LINK/V2/01-0, контроллер - STM8S003F3.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уверенность в том, что перенос между МК осуществлен правильно, есть? Их карта памяти и MMIO вполне могут разойтись...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я пользовался RM0016 Reference manual (STM8S Series and STM8AF Series 8-bit microcontrollers). Карты памяти, указанных мною контроллеров, идентичны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А тактирование самого модуля таймера разрешено? Оно, вроде, там по умолчанию разрешено, но тем не менее...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, тактирование от внутреннего ВЧ-генератора подключено. ВЧ-генератор работает, судя по тому, что АЦП по двум каналам производит одно измерение сразу после запуска отладчика, а потом измерения прекращаются из-за неработающего таймера. :cray:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё, коллеги, отбой! Огромное спасибо коллеге Arlleex за участие!

Проблема оказалась в следующем. В файле проекта stm8s.h после переконфигурации его выводов под контроллер STM8S003F3 мной, из-за отсутствия опыта работы с ним, было забыто закомментировать строку

 

#define STM8S105 */      /*!< STM8S Medium density devices 

 

и раскомментировать строку

 

#define STM8S003 */      /*!< STM8S Value Line Low density devices */

Изменено пользователем Сиг

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

очень рекомендую посмотреть best practice, хотя бы на том же ютубе гитхабе

https://github.com/Hoksmur/pts/blob/main/stm8/Makefile#L34

STM8S003 лучше объявлять не в исходнике, а при сборке в качестве аргумента си-компилятору:

sdcc -DSTM8S003

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...