Программирование STM8
- Сообщения: 5
- Зарегистрирован: Пн мар 06, 2023 21:08:45
попробовал не получается, не видит пишет нет подключения, пробовал ST Visual Programmer и STM32 ST-Link utility, не помогает. Прошил всё работает паяльник хорошо, спасибо всем Вам за советы. Спасибо огромное Proton78 за архив с прошивкой здесь на сайте, спасибо большое всем.
- Реклама
- Сообщения: 1
- Зарегистрирован: Пн мар 13, 2023 13:03:18
Всем доброго дня.
Господа подскажите, как в ST Visual Develop можно блинк разогнать до 50 кГц?
на stm8s103 без внешнего кварца.
Если между вкл, выкл пина поставить: delay(1), получается очень большая задержка.
Если убрать delay(1), получается очень мало.
Может надо какую библиотеку поставить?
Играюсь на iostm8s103.h
Господа подскажите, как в ST Visual Develop можно блинк разогнать до 50 кГц?
на stm8s103 без внешнего кварца.
Если между вкл, выкл пина поставить: delay(1), получается очень большая задержка.
Если убрать delay(1), получается очень мало.
Может надо какую библиотеку поставить?
Играюсь на iostm8s103.h
- Сообщения: 16
- Зарегистрирован: Вс мар 27, 2022 15:49:30
[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, возможно, другой порт и другой пин), затем включить прерывание по переполнению счётчика, задать параметры счётчика и всё будет точно и с любой возможной частотой.
Господа подскажите, как в 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
Пытаюсь разобраться с даташитами на 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) сегментных линий на дисплей.
И вообще, кому-нибудь здесь приходилось делать устройства на этом чипе с ЖК дисплеем?
1. Если в параметрах LCD драйвера задать duty 2, будут ли доступны COM2 и COM3 в качестве GPIO?
2. Возможна ли работа ШИМ в Active Halt режиме (низкочастотный кварц включён)? Или нужно обязательно держать ядро запущенным? Использование BEEP не особо удобно.
3. Самое главное. Можно ли сделать, чтобы разбросанные по всему чипу пины (PC0, PC1, PA2, PA3, PA6, PD1, PF0, PF1) генерировали одно и то же внешнее прерывание, а не несколько различных? Нужно будить чип из active halt по нажатию кнопок, подвешенных на эти пины, а потом уже обрабатывать каждое нажатие. Собрать их в один порт не получится, нужно 36 (если не 38) сегментных линий на дисплей.
И вообще, кому-нибудь здесь приходилось делать устройства на этом чипе с ЖК дисплеем?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
- Реклама
Понятно, придётся делать как на AVR. Бипер не очень подходит, там программируемый делитель только на 5 бит, мне желательно как минимум 8 (а лучше 16).Нет. 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.
Тоже можно, лишь бы частые беспорядочные нажатия на кнопки не приводили к проблемам с прерываниями.3. Никто не запрещает вектора прерываний направить на одну функцию.
Уже нашёл, пытаюсь разобраться. Похоже, эта машина на голову выше тех AVR :-DRM0031
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Кому-нибудь в последнее время удавалось зарегистрировать Cosmic? Похоже, что в связи с известными событиями они всё прикрыли. Или есть ломаная версия?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Пытаюсь зарегистрировать через web (прямо в приложении) - просто ничего не происходит, через почту - никакого ответа нет. Насчёт IAR попробую, если найду правильный.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Честно, не пойму, где это, кроме рутрекера ничем раньше не пользовался, а там только древний 1.4.0.Правильный IAR на Сахаре точка нет
И ещё, возможно ли скомбинировать STVD-STVP + SDCC?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Вопрос легальности не стоит - всё чисто для себя (пока что). Ломаный Cosmic существует?
Добавлено after 2 minutes 32 seconds:
Не пойму ещё вот что. Почему в STM8L152 в 64-пин корпусе они смогли впихнуть 40 сегментных линий в драйвере ЖКИ, а в гораздо более популярном STM32L152 - только 28?
Добавлено after 2 minutes 32 seconds:
Не пойму ещё вот что. Почему в STM8L152 в 64-пин корпусе они смогли впихнуть 40 сегментных линий в драйвере ЖКИ, а в гораздо более популярном STM32L152 - только 28?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Понятно, буду ждать ответа. Или же переходить (по примеру некоторых людей в сети) на что-то другое (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, в котором более продвинутые настройки...
Добавлено 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, в котором более продвинутые настройки...
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Что странно, ничего не говорится про порты A и C. Они могут генерировать только EXTI0..EXTI7?
Короче, если проще. Можно ли повесить восемь кнопок на указанные выше пины и сделать, чтобы каждая кнопка при нажатии выдавала строго одно прерывание?
Короче, если проще. Можно ли повесить восемь кнопок на указанные выше пины и сделать, чтобы каждая кнопка при нажатии выдавала строго одно прерывание?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
G - да. А вот по поводу F (и именно F0) указаны странные вещи. С одной стороны, аналогичный бит PFLIS есть, с другой стороны, сказано, что пин 0 портов A..F (именно F, не E) генерирует EXTI0. Для других пинов указано A..E.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
- Сообщения: 16
- Зарегистрирован: Вс мар 27, 2022 15:49:30
[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, письмо пришло быстро, почта на яндексе.
Там в C:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8 есть файлик LmregFSE.exe (ещё есть Register.bat)
При запуске появляется окно, вводим адрес почты и т.д. Регистрировал 20 марта 2023, письмо пришло быстро, почта на яндексе.
Ещё вопрос. Сколько (в реальности) потребляет этот чип, если тактировать ядро, 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.
Добавлено 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.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
В принципе возможно, но как это будет работать в active halt?Кстати, для простой и надежной обработки 8 кнопок достаточно 6 пинов, если сделать в виде матрицы 2х4
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Кстати, идея, даже без матрицы. По прерыванию только будить и всё, дальше выполнять все действия в основном цикле и уходить обратно в halt.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Нужно не однократно, а до пяти-шести нажатий на кнопки и до 15 прерываний с таймера (или с RTC) в секунду.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Тоже вариант, но по даташиту в этом режиме слишком большое потребление.смотреть на Wait for interrupt (WFI) mode
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
То есть все без исключения действия делать в прерываниях? Интересная идея...
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...


