Программируем STM8S003, STM8S103.
-
aidar_i
- Полковник
- Сообщения: 3477
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 30 раз
- Поблагодарили: 192 раза
- Контактная информация:
Программируем STM8S003, STM8S103.
Сделал пользовательское описание МК 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] [/spoiler]
Прошивка МК с ST LINK.
Видео от arduinoLAB.
Ядро уже не поддерживается, поэтому пользуемся тем, что есть. В ядре есть несколько библиотек.
Можно сделать несложные проекты: термометры, термостаты, вольтметры и тп.
Я программировал популярный термостат W1209, он удобен еще , как отладочная плата, но разработчик дает гарантию на STM8S003 100 перепрошивок, а на STM8S103 100000. Можно отладочную плату с STM8S103, а в проект установить STM8S003.
Пользовательское описание МК Пользовательские блоки
Примеры Добавлены выходы с ШИМ(блок с выходами выше можно убрать): Почитайте ещё viewtopic.php?t=8507&start=20#p128669 Исправлен: исправлен
Пример GyverПИД, библиотека измененная встроена в блок.
Пример GyverRelay, библиотека измененная встроена в блок. Пример отправки в UART температуры с Ds18b20, библиотека в блоке. (Блок Ds18b20 Устарел) Примеры с дисплеем HD44780 (LCD1602). Библиотеки в блоках. Пример с TM1637: Часы без RTS Матрица MAX7219 (библиотека в блоке) По мере освоения встроенных библиотек выложу по ним блоки.
PS: Некоторые блоки, выложенные в примерах работают и на других МК (см описание блоков).
Используйте лучше FLProg не выше версий 8.0.2.
Ниже выложил ещё блоки.
Версия 2
Переработал библиотеки, блок SSD1306 сделал без библиотеки. Это позволило существенно сократить объем занимаемой памяти в STM8S.
В проекте Термостата холодильника с 86% занимаемой памяти уменьшил до 56% , что позволит еще в этот проект добавить много чего.
В этом проекте находятся новые блоки энкодера со встроенным счетчиком, дисплея SSD1306 датчика DS1820(библиотека в блоке), и другие вспомогательные блоки, которые уменьшают вес скетча.
МК работают с Ардуино Иде на ядре 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] [/spoiler]
Прошивка МК с ST LINK.
Видео от arduinoLAB.
Ядро уже не поддерживается, поэтому пользуемся тем, что есть. В ядре есть несколько библиотек.
Можно сделать несложные проекты: термометры, термостаты, вольтметры и тп.
Я программировал популярный термостат W1209, он удобен еще , как отладочная плата, но разработчик дает гарантию на STM8S003 100 перепрошивок, а на STM8S103 100000. Можно отладочную плату с STM8S103, а в проект установить STM8S003.
Пользовательское описание МК Пользовательские блоки
Примеры Добавлены выходы с ШИМ(блок с выходами выше можно убрать): Почитайте ещё viewtopic.php?t=8507&start=20#p128669 Исправлен: исправлен
Пример GyverПИД, библиотека измененная встроена в блок.
Пример GyverRelay, библиотека измененная встроена в блок. Пример отправки в UART температуры с Ds18b20, библиотека в блоке. (Блок Ds18b20 Устарел) Примеры с дисплеем HD44780 (LCD1602). Библиотеки в блоках. Пример с TM1637: Часы без RTS Матрица MAX7219 (библиотека в блоке) По мере освоения встроенных библиотек выложу по ним блоки.
PS: Некоторые блоки, выложенные в примерах работают и на других МК (см описание блоков).
Используйте лучше FLProg не выше версий 8.0.2.
Ниже выложил ещё блоки.
Версия 2
Переработал библиотеки, блок SSD1306 сделал без библиотеки. Это позволило существенно сократить объем занимаемой памяти в STM8S.
В проекте Термостата холодильника с 86% занимаемой памяти уменьшил до 56% , что позволит еще в этот проект добавить много чего.
В этом проекте находятся новые блоки энкодера со встроенным счетчиком, дисплея SSD1306 датчика DS1820(библиотека в блоке), и другие вспомогательные блоки, которые уменьшают вес скетча.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
aidar_i
- Полковник
- Сообщения: 3477
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 30 раз
- Поблагодарили: 192 раза
- Контактная информация:
Программируем STM8S003, STM8S103.
Дополнительная информация:
На ядре 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 секунд:
Попробуйте блок на основе видео нужно в сериал отправить единицу, чтобы получить.
На ядре 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 аналоговый вход и отправлять по модбас.
Попробуйте блок на основе видео нужно в сериал отправить единицу, чтобы получить.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
aidar_i
- Полковник
- Сообщения: 3477
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 30 раз
- Поблагодарили: 192 раза
- Контактная информация:
Программируем STM8S003, STM8S103.
Блоки TM1638.
Библиотека
OLED SSD1306. Библиотека встроена в блок (Блок SSD1306 Устарел)
Показать
OLED SSD1306. Библиотека встроена в блок (Блок SSD1306 Устарел)
Показать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Программируем STM8S003, STM8S103.
отлично
как раз лежит парочка восьмёрок ещё с тех пор когда нас тут попросили проголосовать за будущее флпрога и все дружно большинство проголосовало за СТМ и я тут же заказал несколько штук
но как все помнят в итоге всех побрили с этой затеей
как раз лежит парочка восьмёрок ещё с тех пор когда нас тут попросили проголосовать за будущее флпрога и все дружно большинство проголосовало за СТМ и я тут же заказал несколько штук
но как все помнят в итоге всех побрили с этой затеей
-
aidar_i
- Полковник
- Сообщения: 3477
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 30 раз
- Поблагодарили: 192 раза
- Контактная информация:
Программируем STM8S003, STM8S103.
1) отключите библиотеки flprog (Настройка проекта-Код-Убрать галочку)
2) удалите библиотеку
Так:chmak2007 писал(а): 09 июл 2023, 11:17 c:\PortableFLProg_8-2-3_Win64\ideV8\portable\sketchbook\libraries\Wire
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
aidar_i
- Полковник
- Сообщения: 3477
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 30 раз
- Поблагодарили: 192 раза
- Контактная информация:
Программируем STM8S003, STM8S103.
Добавил блоки для работы с матрицей MAX7219 в первое сообщение.
[spoiler][/spoiler]
[spoiler][/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
aidar_i
- Полковник
- Сообщения: 3477
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 30 раз
- Поблагодарили: 192 раза
- Контактная информация:
Программируем STM8S003, STM8S103.
Добавил блоки с выходами с ШИМ в первое сообщение, экономия 546 байт памяти при замене штатного выхода.
-
aidar_i
- Полковник
- Сообщения: 3477
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 30 раз
- Поблагодарили: 192 раза
- Контактная информация:
Программируем STM8S003, STM8S103.
Почти все выводы имеют альтернативу, что позволяет настроить МК по своему требованию к проекту.
Таким образом частично компенсируется небольшое количество (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 программу.
Таким образом частично компенсируется небольшое количество (16шт) выводов МК.
Например:
Выводы 7,8,9 по умолчанию SPI_SCK, SPI_MOSI, SPI_MISO, можно их перепрограммировать TIM2_CH1, TIM1_CH1, TIM1_CH2 (это таймеры TIM Номер таймера_CH Канал, можно использовать для ШИМ).
Вот схема с функциями выводов
Показать
Там во вкладке OPTION BYTE есть строки AFR7 - AFR0, в них при нажатии строки появляется стрелка, которая разворачивает список функций , их две строки там. Выбрали нужный и прошиваете МК из этой программы (наверху окна красная стрелка направленная на чип). Другие настройки не трогайте , пока не знаете их. Далее шьете из Arduino Ide программу.
Показать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Программируем STM8S003, STM8S103.
можешь сделать еще несколько блоков для stm8?
как дисплей I2c 16x2. и hc165 для увеличения входных данных
как дисплей I2c 16x2. и hc165 для увеличения входных данных
-
aidar_i
- Полковник
- Сообщения: 3477
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 30 раз
- Поблагодарили: 192 раза
- Контактная информация:
Программируем STM8S003, STM8S103.
Дисплей уже есть. hc165 не нашел готового проекта.Murtaza писал(а): 28 фев 2024, 15:09 можешь сделать еще несколько блоков для stm8?
как дисплей I2c 16x2. и hc165 для увеличения входных данных
Программируем STM8S003, STM8S103.
Хорошего дня, сэр
Спасибо за ответ. Блок I2C для 16x2 не найден. Можете ли вы сделать репост еще раз?
Спасибо за ответ. Блок I2C для 16x2 не найден. Можете ли вы сделать репост еще раз?
-
aidar_i
- Полковник
- Сообщения: 3477
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 30 раз
- Поблагодарили: 192 раза
- Контактная информация:
Программируем STM8S003, STM8S103.
Да, там для параллельного подключения, по I2C пример в ядре не лезет в ctm8s003(103).Murtaza писал(а): 29 фев 2024, 07:48 Хорошего дня, сэр
Спасибо за ответ. Блок I2C для 16x2 не найден. Можете ли вы сделать репост еще раз?
-
WildCat
- Лейтенант
- Сообщения: 608
- Зарегистрирован: 04 июн 2022, 04:14
- Имя: Михаил
- Благодарил (а): 24 раза
- Поблагодарили: 44 раза
Программируем STM8S003, STM8S103.
Пытаюсь запустить 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
Не загружается прошивка.
IDE 1.8.19, STLink v2, STM8S103 devboard.
В IDE в менеджере плат STM8 добавил, строку json прописал.
Пытаюсь залить пример, компилируется, но выдает ошибку при загрузке.
Подскажите плз, куда копать
Показать
Программатор в системе определяется верно, в IDE установил прошивку через STLink v2
подключение:
STLink - STM8
RST - NRST
SWIM - SWIM
GND - GND
3.3v - 3.3V
-
Serhio44
- Рядовой
- Сообщения: 29
- Зарегистрирован: 12 окт 2020, 16:21
- Откуда: Шизино
- Имя: Сергей
- Благодарил (а): 4 раза
Программируем STM8S003, STM8S103.
Тоже пробую эту STM8.
На примере "Выходы +PWM". компилится, шьется и даже работает.
Но есть вопрос: как изменить частоту ШИМа?
Из данного примера ШИМ работает на частоте 976 Гц. Нужен ровно 1кГц.
Вот скетч
Прескалеров нет... советы со сторонних ресурсов не помогли...
Есть решение?
На примере "Выходы +PWM". компилится, шьется и даже работает.
Но есть вопрос: как изменить частоту ШИМа?
Из данного примера ШИМ работает на частоте 976 Гц. Нужен ровно 1кГц.
Вот скетч
Показать
Есть решение?
-
ecoins
- Администратор
- Сообщения: 4486
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 224 раза
- Поблагодарили: 368 раз
Программируем STM8S003, STM8S103.
Может решить проблему радикально - отказаться от STM8.
Самое дорогое не стоимость чипа, а Ваше время.
С уважением, ecoins.
-
ecoins
- Администратор
- Сообщения: 4486
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 224 раза
- Поблагодарили: 368 раз
Программируем STM8S003, STM8S103.
Отправлено спустя 25 минут 3 секунды:
Пример использования:
https://aliexpress.ru/item/100500525422 ... 5bf74OzCCH
По энергопотреблению и функциональным возможностям с перспективой - двуядерный RP2040 (100р), глубокая поддержка FLProg. Но маленький чип flash добавить надо...WildCat писал(а): 16 июн 2024, 13:37 Мне нужен компактный контроллер, с минимумом обвязки (собственная память внутри чипа в приоритете) с минимальным напряжением питания около 2,5В и низким токопотреблением. Интерфейсы uart и iic тоже нужны.
Пример использования:
https://aliexpress.ru/item/100500525422 ... 5bf74OzCCH
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя