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

Sduino

Ответить
aidar_i
Полковник
Сообщения: 3124
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#1

Сообщение aidar_i » 25.03.2023{, 20:22}

Сделал пользовательское описание МК 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 руб на Али;
СпойлерПоказать
e69544.png
e69544.png (35.08 КБ) 3781 просмотр
31e6de.jpg
Прошивка МК с ST LINK.
Видео от arduinoLAB.

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


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

Пример GyverRelay, библиотека измененная встроена в блок.
GyverRelay.flp
(4.01 МБ) 65 скачиваний
Пример отправки в UART температуры с Ds18b20, библиотека в блоке.
DS18B20 UART.flp
(1 МБ) 62 скачивания
Примеры с дисплеем HD44780 (LCD1602). Библиотеки в блоках.
Дисплей LCD1602.flp
(1.05 МБ) 54 скачивания
LCD1602_NTC.flp
(2.92 МБ) 56 скачиваний
LCD1602_DS18B20.flp
(2.23 МБ) 59 скачиваний
Пример с TM1637:
TM1637.flp
(813.67 КБ) 66 скачиваний
Часы без RTS
TM1637 clock.flp
(1.21 МБ) 71 скачивание
Матрица MAX7219 (библиотека в блоке)
MAX7219тест.flp
(923.81 КБ) 26 скачиваний
MAX7219TEXT.flp
(975.25 КБ) 30 скачиваний
По мере освоения встроенных библиотек выложу по ним блоки.
PS: Некоторые блоки, выложенные в примерах работают и на других МК (см описание блоков).
Используйте лучше FLProg не выше версий 8.0.2.
Ниже выложил ещё блоки.

aidar_i
Полковник
Сообщения: 3124
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#2

Сообщение aidar_i » 29.03.2023{, 09:47}

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

На ядре 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.03.2023{, 12:59}
aidar_i, А модбас на этом камне заведется? Памяти хватит?
Мне надо считывать 1 аналоговый вход и отправлять по модбас.
Посмотрите это.
Попробуйте блок на основе видео
RS485.flp
(565.9 КБ) 55 скачиваний
нужно в сериал отправить единицу, чтобы получить.

aidar_i
Полковник
Сообщения: 3124
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#3

Сообщение aidar_i » 29.03.2023{, 16:18}

Блоки TM1638.
TM1638_1.flp
(1.86 МБ) 54 скачивания
TM1638_text.flp
(1.76 МБ) 55 скачиваний
TM1638_scroll.flp
(1.9 МБ) 49 скачиваний
СпойлерПоказать
IMG-20230418-WA0041.jpg
Библиотека
TM1638Lib_STM8S.zip
(6.16 КБ) 54 скачивания

OLED SSD1306. Библиотека встроена в блок
OLED stm8s.flp
(1.38 МБ) 41 скачивание
СпойлерПоказать
IMG_20230420_152332.jpg

Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 29
Имя: Дмитрий

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

#4

Сообщение Di123 » 06.04.2023{, 20:01}

отлично
как раз лежит парочка восьмёрок ещё с тех пор когда нас тут попросили проголосовать за будущее флпрога и все дружно большинство проголосовало за СТМ и я тут же заказал несколько штук
но как все помнят в итоге всех побрили с этой затеей

chmak2007
Сержант
Сообщения: 151
Зарегистрирован: 06.09.2015{, 13:28}
Репутация: 0
Откуда: Саров

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

#5

Сообщение chmak2007 » 18.04.2023{, 19:38}

RTU Modbus Slave блок есть?

aidar_i
Полковник
Сообщения: 3124
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#6

Сообщение aidar_i » 19.04.2023{, 04:27}

chmak2007 писал(а):
18.04.2023{, 19:38}
RTU Modbus Slave блок есть?
Нет

chmak2007
Сержант
Сообщения: 151
Зарегистрирован: 06.09.2015{, 13:28}
Репутация: 0
Откуда: Саров

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

#7

Сообщение chmak2007 » 09.07.2023{, 11:17}

СпойлерПоказать
Arduino: 1.8.19 (Windows 10), Плата:"STM8S103F3 Breakout Board"

Несколько библиотек найдено для "Wire.h"

Используется: c:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Wire

Не используется: C:\PortableFLProg_8-2-3_Win64\ideV8\portable\packages\sduino\hardware\stm8\0.5.0\libraries\Wire

c:\PortableFLProg_8-2-3_Win64\ideV8\portable\packages\sduino\tools\sdcc\build.11242/bin/sdcc c:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Flprog_Utilites\src\flprogI2C.cpp nul re12 -c -Ddouble=float -DUSE_STDINT -D__PROG_TYPES_COMPAT__ -w -x c++ -E -CC -mstm8 -DSTM8S103 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_STM8S_BLUE -DARDUINO_ARCH_STM8 -IC:\PortableFLProg_8-2-3_Win64\ideV8\portable\packages\sduino\hardware\stm8\0.5.0\cores\sduino -IC:\PortableFLProg_8-2-3_Win64\ideV8\portable\packages\sduino\hardware\stm8\0.5.0\variants\standard -Ic:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Flprog_Utilites\src -Ic:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Flprog_SelectCore\src -Ic:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Flprog_Blocks\src -Ic:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Wire -IC:\PortableFLProg_8-2-3_Win64\ideV8\portable\packages\sduino\hardware\stm8\0.5.0/STM8S_StdPeriph_Driver/inc -Ic:\PortableFLProg_8-2-3_Win64\ideV8\portable\packages\sduino\tools\sdcc\build.11242/include

Mark re12:c:\PortableFLProg_8-2-3_Win64\ideV8\portable\packages\sduino\tools\sdcc\build.11242/bin/sdcc -c -Ddouble=float -DUSE_STDINT -D__PROG_TYPES_COMPAT__ -w -x c++ -E -CC -mstm8 -DSTM8S103 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_STM8S_BLUE -DARDUINO_ARCH_STM8 -IC:\PortableFLProg_8-2-3_Win64\ideV8\portable\packages\sduino\hardware\stm8\0.5.0\cores\sduino -IC:\PortableFLProg_8-2-3_Win64\ideV8\portable\packages\sduino\hardware\stm8\0.5.0\variants\standard -Ic:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Flprog_Utilites\src -Ic:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Flprog_SelectCore\src -Ic:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Flprog_Blocks\src -Ic:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Wire -IC:\PortableFLProg_8-2-3_Win64\ideV8\portable\packages\sduino\hardware\stm8\0.5.0/STM8S_StdPeriph_Driver/inc -Ic:\PortableFLProg_8-2-3_Win64\ideV8\portable\packages\sduino\tools\sdcc\build.11242/include c:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Flprog_Utilites\src\flprogI2C.cpp -o nul

cpp gefunden

In file included from c:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Flprog_Utilites\src\/flprogI2C.h:3,

from c:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Flprog_Utilites\src\flprogI2C.c:2:

c:/PortableFLProg_8-2-3_Win64/ideV8/portable/sketchbook/libraries/Wire/Wire.h:25:22: fatal error: inttypes.h: No such file or directory

compilation terminated.

at 1: warning 117: unknown compiler option '-w' ignored

at 1: warning 118: option '-x' no longer supported 'use --xstack instead'

at 1: error 119: don't know what to do with file 'c++'. file extension unsupported

at 1: warning 117: unknown compiler option '-CC' ignored

exit status 1

Ошибка компиляции для платы STM8S103F3 Breakout Board.
Ошибка компиляции! Входы выходы_1.flp

aidar_i
Полковник
Сообщения: 3124
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#8

Сообщение aidar_i » 09.07.2023{, 19:16}

chmak2007 писал(а):
09.07.2023{, 11:17}
Ошибка компиляции! Входы выходы_1.flp
1) отключите библиотеки flprog (Настройка проекта-Код-Убрать галочку)
2) удалите библиотеку
chmak2007 писал(а):
09.07.2023{, 11:17}
c:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Wire
Так:
Входы выходы_1_1.flp
(3.25 МБ) 38 скачиваний

aidar_i
Полковник
Сообщения: 3124
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#9

Сообщение aidar_i » 12.11.2023{, 00:52}

Добавил блоки для работы с матрицей MAX7219 в первое сообщение.
СпойлерПоказать
16997397433287495006633126661354.jpg

aidar_i
Полковник
Сообщения: 3124
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#10

Сообщение aidar_i » 24.02.2024{, 18:04}

Добавил блоки с выходами с ШИМ в первое сообщение, экономия 546 байт памяти при замене штатного выхода.

aidar_i
Полковник
Сообщения: 3124
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#11

Сообщение aidar_i » 25.02.2024{, 22:00}

Почти все выводы имеют альтернативу, что позволяет настроить МК по своему требованию к проекту.
Таким образом частично компенсируется небольшое количество (16шт) выводов МК.
Например:
Выводы 7,8,9 по умолчанию SPI_SCK, SPI_MOSI, SPI_MISO, можно их перепрограммировать TIM2_CH1, TIM1_CH1, TIM1_CH2 (это таймеры TIM Номер таймера_CH Канал, можно использовать для ШИМ).
Вот схема с функциями выводов
СпойлерПоказать
uviikt-bigbrftn_ivjxx681d8e.png
Переключение функций можно сделать программно, я попробовал, работает, но встраивать в блок немного муторно, да и пользователю будет немного неудобно. Нашел более легкий и простой способ с помощью программы ST Visual Programmer .
Там во вкладке OPTION BYTE есть строки AFR7 - AFR0, в них при нажатии строки появляется стрелка, которая разворачивает список функций , их две строки там. Выбрали нужный и прошиваете МК из этой программы (наверху окна красная стрелка направленная на чип). Другие настройки не трогайте , пока не знаете их. Далее шьете из Arduino Ide программу.
СпойлерПоказать
2024-02-25_23-52-38.png
Я в блоках с ШИМ в описании выводов писал , что ШИМ не работает на выводе D2 и D4, теперь после переназначения функций будет работать.

Murtaza
Рядовой
Сообщения: 12
Зарегистрирован: 21.02.2018{, 09:26}
Репутация: 0
Имя: Marti

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

#12

Сообщение Murtaza » 28.02.2024{, 15:09}

можешь сделать еще несколько блоков для stm8?
как дисплей I2c 16x2. и hc165 для увеличения входных данных

aidar_i
Полковник
Сообщения: 3124
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#13

Сообщение aidar_i » 28.02.2024{, 19:12}

Murtaza писал(а):
28.02.2024{, 15:09}
можешь сделать еще несколько блоков для stm8?
как дисплей I2c 16x2. и hc165 для увеличения входных данных
Дисплей уже есть. hc165 не нашел готового проекта.

Murtaza
Рядовой
Сообщения: 12
Зарегистрирован: 21.02.2018{, 09:26}
Репутация: 0
Имя: Marti

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

#14

Сообщение Murtaza » 29.02.2024{, 07:48}

Хорошего дня, сэр
Спасибо за ответ. Блок I2C для 16x2 не найден. Можете ли вы сделать репост еще раз?

aidar_i
Полковник
Сообщения: 3124
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#15

Сообщение aidar_i » 02.03.2024{, 13:38}

Murtaza писал(а):
29.02.2024{, 07:48}
Хорошего дня, сэр
Спасибо за ответ. Блок I2C для 16x2 не найден. Можете ли вы сделать репост еще раз?
Да, там для параллельного подключения, по I2C пример в ядре не лезет в ctm8s003(103).

Ответить

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