Идеальный вариант для меня это: VSCode+PlatformIO+Proteus (для симуляции и макетирования).
Ну вот хочется так человеку, что поделать? Это же не наказуемо, просто всего-то бесполезно для дела.
_________________ Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ Актуальность репозитория: 6 декабря 2025 года Если чего-то не хватает с сайта st.com - пишите, докачаю.
Охотно приветствую дорогие друзья! Впервые выбрался из своей берлоги, зарегистрировался на форуме с целью найти всё-таки решение проблемы следующего характера: Решив окунуться в мир микроконтроллеров, почти ничего не зная, заказал себе пару плат STM8S003F3 с целью покопаться и разобраться как, что и почему (а заодно С поучить). И вот, найдя на всеми известном сайте с красной кнопкой пару гайдов, скачав и настроив STDV, написав программу осознал, что ошибка, которую я получил в консольной строке (вроде так называется, под вкладкой debug), вообще мне непонятна, попытки активного гуглинга ни к чему не привели, так что так я и принял это волевое решение написать сюда. Собственно, при компиляции я наблюдаю следующее: ---------- Project ledonplate - STM8 Cosmic - Configuration Debug ----------
Running Linker clnk -l"C:\Program Files (x86)\COSMIC\CXSTM8_EVAL\Lib" -o Debug\ledonplate.sm8 -mDebug\ledonplate.map -p -sa Debug\ledonplate.lkf #error clnk Debug\ledonplate.lkf:1 symbol f_timUpdateInterrupt not defined (Debug\stm8_interrupt_vector.o ) The command: "clnk -l"C:\Program Files (x86)\COSMIC\CXSTM8_EVAL\Lib" -o Debug\ledonplate.sm8 -mDebug\ledonplate.map -p -sa Debug\ledonplate.lkf " has failed, the returned value is: 1 exit code=1.
ledonplate.elf - 3 error(s), 0 warning(s)
Вопрос встает следующий: что конкретно сломалось и как это починить? Помогите пожалуйста
В общем, отвечая на собственный вопрос. Выяснилось, что ошибка наблюдалась в файле "main.c", где я указал//@far @interrupt void tim1UpdateInterrupt(void) вместо //@far @interrupt void timUpdateInterrupt(void). Проблема решена, код успешно откомпилирован и залит в микроконтроллер, работаемс дальшес. Всем спасибо и удачи!
Зарегистрирован: Сб сен 06, 2025 12:38:07 Сообщений: 4
Рейтинг сообщения:0
Приветствую! Нужна помощь. Не могу зайти в прерывание в режиме Симулятора (отладка). Вообще не заходит (что с таймером 1 что со 2ым).. Что с IARовским что с SPL (не заходит в прерывания)
в stm8s_it.c проверьте строку - не закомментирована: TIM2_UPD_OVF_TRG_IRQHandler ...
Закомментирована. Все собирается без ошибок. Все библиотеки компилятор видит. Прошу проверить! Возможно нужно будет подправить пути директорий. (в настройках компилятора IAR) Спасибо! Ссылка:
Зарегистрирован: Сб сен 06, 2025 12:38:07 Сообщений: 4
Рейтинг сообщения:0
Есть у кого IAR проект на SPL библиотеке. На любом STM8 с "рабочим" симулятором, который заходит в прерывание по переполнению любого таймера? Прошу поделится таким проектом. (или настройками)Спасибо!
Зачем эти пляски с симуляторами??? В нынешнее время, когда контроллеры STM8 и эмуляторы к ним стоят копейки - на кой так мучаться? Тратить кучу времени на отладку условно рабочего (читай - реально нерабочего) кода - ЗАЧЕМ??? Я понимаю, если бы ваш контроллер был из чистого золота на сапфировой подложке и с однократно программируемой памятью программ. Стоящий как чугунный мост.
Но STM8... Ну добьётесь вы входа в прерывание в симуляторе. Потом прошьёте в реальный МК, и... входы в прерывания снова перестанут работать. И снова отлаживать по-новой... Сразу отлаживайте в железе. Забудьте про симулятор.
Добрый день. Лет 10 назад купил на алике платку с микроконтроллером STM8S003K3. Почитал про него, ничего не понял и убрал в долгий ящик. Сегодня она мне попалась на глаза, и я решил попробовать разобраться. Написал, точнее переписал найденную программку, успешно помигал светодиодом, вроде все хорошо. Потом решил немного усложнить, подключил светодиодную сборку к порту B, в который вывожу циклически растущую переменную и светодиоды должны показывать инкремент. И вроде бы работает, но возникла проблема - PB4 и PB5 не горят. Пробовал экспериментировать с PB_CR1 и PB_CR2 - ничего не дает. Электрически все хорошо. На этих выводах у него I2C, возможно что-то еще надо настроить? Может есть фьюзы какие-то? Спойлер
для PB4 и PB5 отсутствуют внутренние подтягивающие резисторы, т.к. шина I2C требует внешних подтягивающих резисторов для корректной работы. Поставьте внешние резисторы на эти выводы, и все заработает.
когда i= 1,включается PB0, когда i=2 включается PB1, когда i=3 включается PB0 и PB1 одновременно. При каких значениях i должны включаться PB4 и PB5 на какое время и с какой периодичностью?
Со временем с МК ничего не происходит, даже если клеммы сгниют от коррозии . (Да, ето на "первое приближение". Иногда программы частично повреждаются).
Последний раз редактировалось veso74 Ср окт 01, 2025 18:25:11, всего редактировалось 1 раз.
Возможно ли на STM8L152/162 сделать, чтобы один из таймеров работал от часового кварца, пока проц сидит в halt (как на атмеге)? В документации сказано:
Цитата:
In some applications using the 32.768 kHz clock as a time base for the RTC, it may be interesting to have time bases that work completely independently from the system clock. The user can then schedule tasks without having to take into account the system clock. For this purpose, the LSE clock is internally redirected to the 2 timers' ETR inputs (TIM2 and TIM3) which are used as additional clock sources. Refer to Section 11.5.2: SYSCFG remap control register 2 (SYSCFG_RMPCR2) on page 152.
Но ничего не сказано, будет это работать в halt или нет. Таймер пробуждения в RTC уже занят под другие цели (и освободить его проблематично).
_________________ Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения