Программируем STM8S003, STM8S103.

aidar_i
Полковник
Сообщения: 3477
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 30 раз
Поблагодарили: 192 раза
Контактная информация:

Программируем STM8S003, STM8S103.

Сообщение aidar_i »

Сделал пользовательское описание МК STM8S003, STM8S103 на скорую руку. Штатные блоки работают не все, я не стал их сортировать и проверять, но общие логические блоки будут работать.
МК работают с Ардуино Иде на ядре Sduino.Чтобы установить его нужно вставить ссылку
Запустите Arduino-IDE. В File->Preferences , вкладка Settings , введите
" https://raw.githubusercontent.com/tenba ... index.json "
в качестве URL-адреса менеджера дополнительных плат .
Откройте Инструменты->Плата:...->Диспетчер плат
Найдите Sduino, введя «sd» в строку поиска.
Нажмите на запись в списке
Нажмите «Установить» .
Теперь вы должны найти новую запись STM8S Boards в списке Tools->Board:...
Выберите из списка Breakout Board STM8S103F3 для программирования STM8S003, STM8S103 (они отличаются только объёмом EEPROM).
Так как МК имеют небольшую память, я сделал пользовательские блоки для входов и выходов с прямым обращением к регистрам, что позволило существенно снизить вес скетча.

На ядре sduino работают:
STM8s003F3, 8/1kb, чип стоит около 50 руб на Али;
STM8s103F3, 8/1kb, чип стоит около 74 руб на Али, модуль с чипом стоит около 83 руб на Али;
STM8s105C6, 32/2kb, чип стоит около 81 руб на Али;
STM8s105K4T6, 16/2kb, чип стоит около 84 руб на Али, модуль с чипом стоит около 164 руб на Али(размер примерно как у Ардуино Нано)
SduinoUNO (STM8S105K6), 32/2kb, модуль с чипом стоит около 143 руб на Али;
Sduino MB (STM8s208MBT6B), 128/6kb, чип стоит около 335 руб на Али;

[spoiler]
e69544.png
31e6de.jpg
[/spoiler]
Прошивка МК с ST LINK.
Видео от arduinoLAB.

Ядро уже не поддерживается, поэтому пользуемся тем, что есть. В ядре есть несколько библиотек.
Можно сделать несложные проекты: термометры, термостаты, вольтметры и тп.
Я программировал популярный термостат W1209, он удобен еще , как отладочная плата, но разработчик дает гарантию на STM8S003 100 перепрошивок, а на STM8S103 100000. Можно отладочную плату с STM8S103, а в проект установить STM8S003.
Пользовательское описание МК
STM8S.cdl
Пользовательские блоки
STM8s.ubl


Примеры
Входы выходы_1.flp
Добавлены выходы с ШИМ(блок с выходами выше можно убрать):
Выходы +pwm.flp
Почитайте ещё viewtopic.php?t=8507&start=20#p128669
EEPROM.flp
Исправлен:
NTC+3x7seg dispW1209_5 .flp
исправлен
Пример GyverПИД, библиотека измененная встроена в блок.
PID_контроллер1.flp

Пример GyverRelay, библиотека измененная встроена в блок.
GyverRelay.flp
Пример отправки в UART температуры с Ds18b20, библиотека в блоке. (Блок Ds18b20 Устарел)
DS18B20 UART.flp
Примеры с дисплеем HD44780 (LCD1602). Библиотеки в блоках.
Дисплей LCD1602.flp
LCD1602_NTC.flp
LCD1602_DS18B20.flp
Пример с TM1637:
TM1637.flp
Часы без RTS
TM1637 clock.flp
Матрица MAX7219 (библиотека в блоке)
MAX7219тест.flp
MAX7219TEXT.flp
По мере освоения встроенных библиотек выложу по ним блоки.
PS: Некоторые блоки, выложенные в примерах работают и на других МК (см описание блоков).
Используйте лучше FLProg не выше версий 8.0.2.
Ниже выложил ещё блоки.
Версия 2
Переработал библиотеки, блок SSD1306 сделал без библиотеки. Это позволило существенно сократить объем занимаемой памяти в STM8S.
В проекте Термостата холодильника с 86% занимаемой памяти уменьшил до 56% , что позволит еще в этот проект добавить много чего.
В этом проекте находятся новые блоки энкодера со встроенным счетчиком, дисплея SSD1306 датчика DS1820(библиотека в блоке), и другие вспомогательные блоки, которые уменьшают вес скетча.
Термостат для холодильника на STM8s.rar
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3477
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 30 раз
Поблагодарили: 192 раза
Контактная информация:

Программируем STM8S003, STM8S103.

Сообщение aidar_i »

Дополнительная информация:

На ядре sduino работают:
STM8s003F3, 8/1kb, чип стоит около 50 руб на Али;
STM8s103F3, 8/1kb, чип стоит около 74 руб на Али, модуль с чипом стоит около 83 руб на Али;
STM8s105C6, 32/2kb, чип стоит около 81 руб на Али;
STM8s105K4T6, 16/2kb, чип стоит около 84 руб на Али, модуль с чипом стоит около 164 руб на Али(размер примерно как у Ардуино Нано)
SduinoUNO (STM8S105K6), 32/2kb, модуль с чипом стоит около 143 руб на Али;
Sduino MB (STM8s208MBT6B), 128/6kb, чип стоит около 335 руб на Али;

Платы для чипов 105 и 208 не создавал, в проекте в FLProg нужно ставить Ардуино МЕГА.
Для чипов есть TSSOP20 Burning адаптер для программирования, ~400 руб на Али.
Я программирую через ST LINK V2. Около 200 руб на Али.

Отправлено спустя 1 час 35 секунд:
fsergei70 писал(а): 27 мар 2023, 12:59 [ref=#ff8000]aidar_i[/ref], А модбас на этом камне заведется? Памяти хватит?
Мне надо считывать 1 аналоговый вход и отправлять по модбас.
Посмотрите это.
Попробуйте блок на основе видео
RS485.flp
нужно в сериал отправить единицу, чтобы получить.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3477
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 30 раз
Поблагодарили: 192 раза
Контактная информация:

Программируем STM8S003, STM8S103.

Сообщение aidar_i »

Блоки TM1638.
TM1638_1.flp
TM1638_text.flp
TM1638_scroll.flp
Показать
Библиотека
TM1638Lib_STM8S.zip

OLED SSD1306. Библиотека встроена в блок (Блок SSD1306 Устарел)
OLED stm8s.flp
Показать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03 ноя 2018, 19:38
Имя: Дмитрий

Программируем STM8S003, STM8S103.

Сообщение Di123 »

отлично
как раз лежит парочка восьмёрок ещё с тех пор когда нас тут попросили проголосовать за будущее флпрога и все дружно большинство проголосовало за СТМ и я тут же заказал несколько штук
но как все помнят в итоге всех побрили с этой затеей
chmak2007
Сержант
Сообщения: 165
Зарегистрирован: 06 сен 2015, 13:28
Откуда: Саров

Программируем STM8S003, STM8S103.

Сообщение chmak2007 »

RTU Modbus Slave блок есть?
aidar_i
Полковник
Сообщения: 3477
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 30 раз
Поблагодарили: 192 раза
Контактная информация:

Программируем STM8S003, STM8S103.

Сообщение aidar_i »

chmak2007 писал(а): 18 апр 2023, 19:38 RTU Modbus Slave блок есть?
Нет
chmak2007
Сержант
Сообщения: 165
Зарегистрирован: 06 сен 2015, 13:28
Откуда: Саров

Программируем STM8S003, STM8S103.

Сообщение chmak2007 »

Показать
Ошибка компиляции! Входы выходы_1.flp
aidar_i
Полковник
Сообщения: 3477
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 30 раз
Поблагодарили: 192 раза
Контактная информация:

Программируем STM8S003, STM8S103.

Сообщение aidar_i »

chmak2007 писал(а): 09 июл 2023, 11:17 Ошибка компиляции! Входы выходы_1.flp
1) отключите библиотеки flprog (Настройка проекта-Код-Убрать галочку)
2) удалите библиотеку
chmak2007 писал(а): 09 июл 2023, 11:17 c:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Wire
Так:
Входы выходы_1_1.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3477
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 30 раз
Поблагодарили: 192 раза
Контактная информация:

Программируем STM8S003, STM8S103.

Сообщение aidar_i »

Добавил блоки для работы с матрицей MAX7219 в первое сообщение.
[spoiler]
16997397433287495006633126661354.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3477
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 30 раз
Поблагодарили: 192 раза
Контактная информация:

Программируем STM8S003, STM8S103.

Сообщение aidar_i »

Добавил блоки с выходами с ШИМ в первое сообщение, экономия 546 байт памяти при замене штатного выхода.
aidar_i
Полковник
Сообщения: 3477
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 30 раз
Поблагодарили: 192 раза
Контактная информация:

Программируем STM8S003, STM8S103.

Сообщение aidar_i »

Почти все выводы имеют альтернативу, что позволяет настроить МК по своему требованию к проекту.
Таким образом частично компенсируется небольшое количество (16шт) выводов МК.
Например:
Выводы 7,8,9 по умолчанию SPI_SCK, SPI_MOSI, SPI_MISO, можно их перепрограммировать TIM2_CH1, TIM1_CH1, TIM1_CH2 (это таймеры TIM Номер таймера_CH Канал, можно использовать для ШИМ).
Вот схема с функциями выводов
Показать
Переключение функций можно сделать программно, я попробовал, работает, но встраивать в блок немного муторно, да и пользователю будет немного неудобно. Нашел более легкий и простой способ с помощью программы ST Visual Programmer .
Там во вкладке OPTION BYTE есть строки AFR7 - AFR0, в них при нажатии строки появляется стрелка, которая разворачивает список функций , их две строки там. Выбрали нужный и прошиваете МК из этой программы (наверху окна красная стрелка направленная на чип). Другие настройки не трогайте , пока не знаете их. Далее шьете из Arduino Ide программу.
Показать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Murtaza
Рядовой
Сообщения: 26
Зарегистрирован: 21 фев 2018, 09:26
Имя: Marti
Поблагодарили: 1 раз

Программируем STM8S003, STM8S103.

Сообщение Murtaza »

можешь сделать еще несколько блоков для stm8?
как дисплей I2c 16x2. и hc165 для увеличения входных данных
aidar_i
Полковник
Сообщения: 3477
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 30 раз
Поблагодарили: 192 раза
Контактная информация:

Программируем STM8S003, STM8S103.

Сообщение aidar_i »

Murtaza писал(а): 28 фев 2024, 15:09 можешь сделать еще несколько блоков для stm8?
как дисплей I2c 16x2. и hc165 для увеличения входных данных
Дисплей уже есть. hc165 не нашел готового проекта.
Murtaza
Рядовой
Сообщения: 26
Зарегистрирован: 21 фев 2018, 09:26
Имя: Marti
Поблагодарили: 1 раз

Программируем STM8S003, STM8S103.

Сообщение Murtaza »

Хорошего дня, сэр
Спасибо за ответ. Блок I2C для 16x2 не найден. Можете ли вы сделать репост еще раз?
aidar_i
Полковник
Сообщения: 3477
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 30 раз
Поблагодарили: 192 раза
Контактная информация:

Программируем STM8S003, STM8S103.

Сообщение aidar_i »

Murtaza писал(а): 29 фев 2024, 07:48 Хорошего дня, сэр
Спасибо за ответ. Блок I2C для 16x2 не найден. Можете ли вы сделать репост еще раз?
Да, там для параллельного подключения, по I2C пример в ядре не лезет в ctm8s003(103).
WildCat
Лейтенант
Сообщения: 608
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 24 раза
Поблагодарили: 44 раза

Программируем STM8S003, STM8S103.

Сообщение WildCat »

Пытаюсь запустить STM8, но столкнулся с проблемой.
Не загружается прошивка.

IDE 1.8.19, STLink v2, STM8S103 devboard.

В IDE в менеджере плат STM8 добавил, строку json прописал.
Пытаюсь залить пример, компилируется, но выдает ошибку при загрузке.

Подскажите плз, куда копать
Показать
неисправный STLink?
Программатор в системе определяется верно, в IDE установил прошивку через STLink v2

подключение:
STLink - STM8
RST - NRST
SWIM - SWIM
GND - GND
3.3v - 3.3V
Serhio44
Рядовой
Сообщения: 29
Зарегистрирован: 12 окт 2020, 16:21
Откуда: Шизино
Имя: Сергей
Благодарил (а): 4 раза

Программируем STM8S003, STM8S103.

Сообщение Serhio44 »

Тоже пробую эту STM8.
На примере "Выходы +PWM". компилится, шьется и даже работает.
Но есть вопрос: как изменить частоту ШИМа?
Из данного примера ШИМ работает на частоте 976 Гц. Нужен ровно 1кГц.
Вот скетч
Показать
Прескалеров нет... советы со сторонних ресурсов не помогли...

Есть решение?
ecoins
Администратор
Сообщения: 4486
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 224 раза
Поблагодарили: 368 раз

Программируем STM8S003, STM8S103.

Сообщение ecoins »

Serhio44 писал(а): 15 июн 2024, 22:43 Тоже пробую эту STM8.
Может решить проблему радикально - отказаться от STM8.
Самое дорогое не стоимость чипа, а Ваше время.
С уважением, ecoins.
ecoins
Администратор
Сообщения: 4486
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 224 раза
Поблагодарили: 368 раз

Программируем STM8S003, STM8S103.

Сообщение ecoins »

Показать
ecoins
Администратор
Сообщения: 4486
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 224 раза
Поблагодарили: 368 раз

Программируем STM8S003, STM8S103.

Сообщение ecoins »

Отправлено спустя 25 минут 3 секунды:
WildCat писал(а): 16 июн 2024, 13:37 Мне нужен компактный контроллер, с минимумом обвязки (собственная память внутри чипа в приоритете) с минимальным напряжением питания около 2,5В и низким токопотреблением. Интерфейсы uart и iic тоже нужны.
По энергопотреблению и функциональным возможностям с перспективой - двуядерный RP2040 (100р), глубокая поддержка FLProg. Но маленький чип flash добавить надо...
Пример использования:
https://aliexpress.ru/item/100500525422 ... 5bf74OzCCH
Ответить

Вернуться в «Arduino. Другие МК»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость