Программирование STM8

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Родился
Сообщения: 5
Зарегистрирован: Пн мар 06, 2023 21:08:45

Сообщение sergutka »

попробовал не получается, не видит пишет нет подключения, пробовал ST Visual Programmer и STM32 ST-Link utility, не помогает. Прошил всё работает паяльник хорошо, спасибо всем Вам за советы. Спасибо огромное Proton78 за архив с прошивкой здесь на сайте, спасибо большое всем.
Реклама
Родился
Сообщения: 1
Зарегистрирован: Пн мар 13, 2023 13:03:18

Сообщение Michka »

Всем доброго дня.
Господа подскажите, как в ST Visual Develop можно блинк разогнать до 50 кГц?
на stm8s103 без внешнего кварца.
Если между вкл, выкл пина поставить: delay(1), получается очень большая задержка.
Если убрать delay(1), получается очень мало.
Может надо какую библиотеку поставить?
Играюсь на iostm8s103.h
Реклама
Родился
Сообщения: 16
Зарегистрирован: Вс мар 27, 2022 15:49:30

Сообщение Vladislav14 »

[uquote="Michka",url="/forum/viewtopic.php?p=4385336#p4385336"]Всем доброго дня.
Господа подскажите, как в ST Visual Develop можно блинк разогнать до 50 кГц?
на stm8s103 без внешнего кварца.
Если между вкл, выкл пина поставить: delay(1), получается очень большая задержка.
Если убрать delay(1), получается очень мало.
Может надо какую библиотеку поставить?
Играюсь на iostm8s103.h[/uquote]
В обработчике прерывания от любого таймера поставить что-то типа GPIO_WriteReverse(GPIOE, GPIO_PIN_5); (это для S105, в S103, возможно, другой порт и другой пин), затем включить прерывание по переполнению счётчика, задать параметры счётчика и всё будет точно и с любой возможной частотой.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 373
Зарегистрирован: Ср мар 09, 2016 08:07:41

Сообщение JackSmith »

достаточно было любой таймер в режиме ШИМ настроить со скважностью 50%.
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Пытаюсь разобраться с даташитами на STM8L152. И сразу возникает куча вопросов.
1. Если в параметрах LCD драйвера задать duty 2, будут ли доступны COM2 и COM3 в качестве GPIO?
2. Возможна ли работа ШИМ в Active Halt режиме (низкочастотный кварц включён)? Или нужно обязательно держать ядро запущенным? Использование BEEP не особо удобно.
3. Самое главное. Можно ли сделать, чтобы разбросанные по всему чипу пины (PC0, PC1, PA2, PA3, PA6, PD1, PF0, PF1) генерировали одно и то же внешнее прерывание, а не несколько различных? Нужно будить чип из active halt по нажатию кнопок, подвешенных на эти пины, а потом уже обрабатывать каждое нажатие. Собрать их в один порт не получится, нужно 36 (если не 38) сегментных линий на дисплей.

И вообще, кому-нибудь здесь приходилось делать устройства на этом чипе с ЖК дисплеем?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Нет. Active-halt mode: In Active-halt mode, the main oscillator, the CPU and almost all peripherals are stopped.
Only oscillator or the LSE crystal is running to drive the SWIM, beeper, IWDG, RTC and LCD if enabled.
Понятно, придётся делать как на AVR. Бипер не очень подходит, там программируемый делитель только на 5 бит, мне желательно как минимум 8 (а лучше 16).
3. Никто не запрещает вектора прерываний направить на одну функцию.
Тоже можно, лишь бы частые беспорядочные нажатия на кнопки не приводили к проблемам с прерываниями.
RM0031
Уже нашёл, пытаюсь разобраться. Похоже, эта машина на голову выше тех AVR :-D
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Кому-нибудь в последнее время удавалось зарегистрировать Cosmic? Похоже, что в связи с известными событиями они всё прикрыли. Или есть ломаная версия?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Пытаюсь зарегистрировать через web (прямо в приложении) - просто ничего не происходит, через почту - никакого ответа нет. Насчёт IAR попробую, если найду правильный.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Правильный IAR на Сахаре точка нет
Честно, не пойму, где это, кроме рутрекера ничем раньше не пользовался, а там только древний 1.4.0.
И ещё, возможно ли скомбинировать STVD-STVP + SDCC?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Вопрос легальности не стоит - всё чисто для себя (пока что). Ломаный Cosmic существует?

Добавлено after 2 minutes 32 seconds:
Не пойму ещё вот что. Почему в STM8L152 в 64-пин корпусе они смогли впихнуть 40 сегментных линий в драйвере ЖКИ, а в гораздо более популярном STM32L152 - только 28?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Понятно, буду ждать ответа. Или же переходить (по примеру некоторых людей в сети) на что-то другое (IAR или даже Code::Blocks + sdcc).

Добавлено after 1 hour 17 minutes 43 seconds:
Ещё вопрос по внешним прерываниям.
1. Если настроить прерывание на пин 0, то оно будет срабатывать при воздействии на пин 0 портов A..F.
2. Если настроить прерывание на порт F, то оно будет срабатывать при воздействии на любой пин порта F.
Значит ли это, что при настроенных обоих прерываниях они будут срабатывать ОБА подряд при воздействии на пин F0?
Проблема такая: нужно установить 8 кнопок, свободные пины для них A2, A3, G0, G1, F0, F1, C0, C1. Соответственно, нужно настроить прерывания (одного и того же типа - falling edge) на: 0, 1, 2, 3, F, G. Все прерывания будут вызывать одну и ту же функцию, в которой уже будет анализироваться нажатая кнопка по состоянию порта. Можно ли что-то сделать, чтобы при нажатии на F0 функция не вызывалась два раза подряд?

Добавлено after 18 minutes 47 seconds:
Пин 0 портов A..F - в EXTI_CR1, младшие два бита, порт F - в EXTI_CR3, старшие два бита. RM0031, с. 169 и с. 171.

Добавлено after 3 minutes 14 seconds:
Блин, тут ещё EXTI_CONF1, в котором более продвинутые настройки...
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Что странно, ничего не говорится про порты A и C. Они могут генерировать только EXTI0..EXTI7?
Короче, если проще. Можно ли повесить восемь кнопок на указанные выше пины и сделать, чтобы каждая кнопка при нажатии выдавала строго одно прерывание?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

G - да. А вот по поводу F (и именно F0) указаны странные вещи. С одной стороны, аналогичный бит PFLIS есть, с другой стороны, сказано, что пин 0 портов A..F (именно F, не E) генерирует EXTI0. Для других пинов указано A..E.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Родился
Сообщения: 16
Зарегистрирован: Вс мар 27, 2022 15:49:30

Сообщение Vladislav14 »

[uquote="watchmaker",url="/forum/viewtopic.php?p=4408483#p4408483"]Кому-нибудь в последнее время удавалось зарегистрировать Cosmic? Похоже, что в связи с известными событиями они всё прикрыли. Или есть ломаная версия?[/uquote]
Там в C:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8 есть файлик LmregFSE.exe (ещё есть Register.bat)
При запуске появляется окно, вводим адрес почты и т.д. Регистрировал 20 марта 2023, письмо пришло быстро, почта на яндексе.
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Ещё вопрос. Сколько (в реальности) потребляет этот чип, если тактировать ядро, LCD и RTC от кварца 32 кГц и не пользоваться halt? Не знаю, что лучше: обрабатывать нажатия кнопок в прерываниях на высокой частоте или тупо постоянно сидеть запущенным на 32 кГц. Производительности при 32 кГц по идее должно хватить. RTC и LCD нужны постоянно, также эпизодически нужен TIM5 в режиме OC или PWM.

Добавлено after 1 minute 26 seconds:
[uquote="Vladislav14",url="/forum/viewtopic.php?p=4408595#p4408595"][uquote="watchmaker",url="/forum/viewtopic.php?p=4408483#p4408483"]Кому-нибудь в последнее время удавалось зарегистрировать Cosmic? Похоже, что в связи с известными событиями они всё прикрыли. Или есть ломаная версия?[/uquote]
Там в C:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8 есть файлик LmregFSE.exe (ещё есть Register.bat)
При запуске появляется окно, вводим адрес почты и т.д. Регистрировал 20 марта 2023, письмо пришло быстро, почта на яндексе.[/uquote]
Пробовал уже, на нажатие кнопки "web" никакой реакции. Что должна показать эта программа после нажатия кнопки? Сохранил данные в файл и отправил им по почте - тоже никакого ответа. Почта на gmail.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Кстати, для простой и надежной обработки 8 кнопок достаточно 6 пинов, если сделать в виде матрицы 2х4
В принципе возможно, но как это будет работать в active halt?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Кстати, идея, даже без матрицы. По прерыванию только будить и всё, дальше выполнять все действия в основном цикле и уходить обратно в halt.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Нужно не однократно, а до пяти-шести нажатий на кнопки и до 15 прерываний с таймера (или с RTC) в секунду.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

смотреть на Wait for interrupt (WFI) mode
Тоже вариант, но по даташиту в этом режиме слишком большое потребление.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2225
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

То есть все без исключения действия делать в прерываниях? Интересная идея...
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Ответить

Вернуться в «Разные вопросы по МК»