Страница 4 из 5
Re: Программируем STM8S003, STM8S103.
Добавлено: 24 янв 2026, 19:51
aidar_i
Удалите или архивируйте и удалите, когда будет нужно разархивируйте. Почему не используете портативную версию? Я не удалял, У меня вообще не обращается туда. Вы мой проект загружаете? Эта библиотека Wire.h не используется в проекте.
Вот проект с эмуляциией термодатчика
Удалил, смотрите ниже
Re: Программируем STM8S003, STM8S103.
Добавлено: 24 янв 2026, 20:13
montirovka
aidar_i писал(а): 24 янв 2026, 19:51
Удалите или архивируйте и удалите, когда будет нужно разархивируйте. Почему не используете портативную версию? Я не удалял, У меня вообще не обращается туда. Вы мой проект загружаете? Эта библиотека Wire.h не используется в проекте.
Вот проект с эмуляциией термодатчика
Термостат холодильника_1_1_тест.rar
Завтра попробую на другом компе с портативной версией.
Re: Программируем STM8S003, STM8S103.
Добавлено: 24 янв 2026, 20:18
aidar_i
montirovka писал(а): 24 янв 2026, 20:13
aidar_i писал(а): 24 янв 2026, 19:51
Удалите или архивируйте и удалите, когда будет нужно разархивируйте. Почему не используете портативную версию? Я не удалял, У меня вообще не обращается туда. Вы мой проект загружаете? Эта библиотека Wire.h не используется в проекте.
Вот проект с эмуляциией термодатчика
Термостат холодильника_1_1_тест.rar
Завтра попробую на другом компе с портативной версией.
Видео
Показать
compressed_10674733320769.part1.rar
compressed_10674733320769.part2.rar
compressed_10674733320769.part3.rar
compressed_10674733320769.part4.rar
Re: Программируем STM8S003, STM8S103.
Добавлено: 24 янв 2026, 20:32
Selivan
Переустановил windows10, заново скачал и установил версию 8.0.0., результат тот же - Ошибка компиляции для платы STM8S103F3.
Обращение к EEPROM есть, после этого exit status 1, до обращения к библиотеке OLED дело не доходит.
Re: Программируем STM8S003, STM8S103.
Добавлено: 24 янв 2026, 20:53
aidar_i
Selivan писал(а): 24 янв 2026, 20:32
Переустановил windows10, заново скачал и установил версию 8.0.0., результат тот же - Ошибка компиляции для платы STM8S103F3.
Обращение к EEPROM есть, после этого exit status 1, до обращения к библиотеке OLED дело не доходит.
Не нужно было Виндовс трогать.
Тогда загрузите в МК хекс файл через STVP STM8
pr1.ino.rar
Показать
Re: Программируем STM8S003, STM8S103.
Добавлено: 25 янв 2026, 08:08
Selivan
Загрузил через STVP - все замечательно работает. Что же не так с Arduino IDE?
Re: Программируем STM8S003, STM8S103.
Добавлено: 25 янв 2026, 10:17
aidar_i
Selivan писал(а): 25 янв 2026, 08:08
Загрузил через STVP - все замечательно работает. Что же не так с Arduino IDE?
В личку пришлите полностью ход компиляции.
Re: Программируем STM8S003, STM8S103.
Добавлено: 26 янв 2026, 22:36
aidar_i
Удалил, не актуально
Re: Программируем STM8S003, STM8S103.
Добавлено: 05 фев 2026, 20:17
aidar_i
В первом сообщении выложил обновлённый проект Термостат для холодильника.
Re: Программируем STM8S003, STM8S103.
Добавлено: 06 фев 2026, 09:26
montirovka
Попробовал проверить компиляцию у себя на компе проекта Термостат. Ошибки в Ардуино ИДЕ. Некоторые обошел, но не факт что правильно. Как эту побороть не знаю.
2026-02-06_09-21-06.png
Re: Программируем STM8S003, STM8S103.
Добавлено: 06 фев 2026, 19:20
aidar_i
montirovka писал(а): 06 фев 2026, 09:26
Попробовал проверить компиляцию у себя на компе проекта Термостат. Ошибки в Ардуино ИДЕ. Некоторые обошел, но не факт что правильно. Как эту побороть не знаю.
У Вас 8.2.3? Пользуйтесь для создания или изменения до версии 8.0.2. А для запуска в 8.2.3 удалите со скетча библиотеку #include "flprogUtilites.h". А вижу , последняя версия, там вообще открывать не нужно.
Re: Программируем STM8S003, STM8S103.
Добавлено: 06 фев 2026, 19:39
montirovka
aidar_i писал(а): 06 фев 2026, 19:20
montirovka писал(а): 06 фев 2026, 09:26
Попробовал проверить компиляцию у себя на компе проекта Термостат. Ошибки в Ардуино ИДЕ. Некоторые обошел, но не факт что правильно. Как эту побороть не знаю.
У Вас 8.2.3? Пользуйтесь для создания или изменения до версии 8.2.2. А для запуска в 8.2.3 удалите со скетча библиотеку #include "flprogUtilites.h". А вижу , последняя версия, там вообще открывать не нужно.
Версия 8.2.3. Попробую завтра в другой версии.
На скриншоте у Вас 9.6.9. на 8.2.3 делайте так как я писал выше , запустится.
Re: Программируем STM8S003, STM8S103.
Добавлено: 07 фев 2026, 07:44
montirovka
aidar_i писал(а): 06 фев 2026, 19:20
Для запуска в 8.2.3 удалите со скетча библиотеку #include "flprogUtilites.h". А вижу , последняя версия, там вообще открывать не нужно.
Попробовал проект "Термостат..." в различных версиях. В FLProg 8.0.0. и FLProg 8.0.2 без проблем. В версии FLProg 8.2.3 пока не удалил flprogUtilites.h была ошибка. В FLProg 8.0.2 проект оказался самым маленьким - 4667 байт. В версии FLProg 8.2.3 размер - 4701 байта.
2026-02-07_07-27-44.png
Re: Программируем STM8S003, STM8S103.
Добавлено: 08 фев 2026, 13:26
chmak2007
Кто нибудь воплотил stm8s modbus?
Re: Программируем STM8S003, STM8S103.
Добавлено: 08 фев 2026, 20:12
aidar_i
chmak2007 писал(а): 08 фев 2026, 13:26
Кто нибудь воплотил stm8s modbus?
Испытайте код
Показать
Код: Выделить всё
/**
* Супер-минимальный Modbus Slave для STM8S103F3
* Только функция 0x03 (чтение регистров)
*/
#include <Arduino.h>
// Конфигурация
#define MB_ADDR 1
#define MB_BAUD 9600
#define MB_BUF_SIZE 32
#define MB_REG_CNT 10
// Переменные
static uint16_t mb_regs[MB_REG_CNT];
static uint8_t mb_buf[MB_BUF_SIZE];
static uint8_t mb_idx = 0;
static uint32_t mb_time = 0;
// CRC16 функция
static uint16_t mb_crc(uint8_t *d, uint8_t n) {
uint16_t c = 0xFFFF;
uint8_t i, j;
for (i = 0; i < n; i++) {
c ^= d[i];
for (j = 0; j < 8; j++) {
if (c & 1) {
c = (c >> 1) ^ 0xA001;
} else {
c >>= 1;
}
}
}
return c;
}
void setup() {
Serial_begin(MB_BAUD);
pinMode(LED_BUILTIN, OUTPUT);
// Инициализация регистров
uint8_t k;
for (k = 0; k < MB_REG_CNT; k++) {
mb_regs[k] = k * 100;
}
}
void loop() {
// Прием данных
if (Serial_available()) {
int c = Serial_read();
if (c >= 0) {
mb_buf[mb_idx++] = (uint8_t)c;
mb_time = millis();
if (mb_idx >= MB_BUF_SIZE) {
mb_idx = 0;
}
}
}
// Обработка фрейма
if (mb_idx > 0 && (millis() - mb_time) > 5) {
// Проверка адреса
if (mb_buf[0] == MB_ADDR && mb_idx >= 8) {
// Проверка CRC
uint16_t crc_rx = (mb_buf[mb_idx-1] << 8) | mb_buf[mb_idx-2];
uint16_t crc_calc = mb_crc(mb_buf, mb_idx - 2);
if (crc_rx == crc_calc) {
// Проверка функции 0x03
if (mb_buf[1] == 0x03) {
uint16_t addr = (mb_buf[2] << 8) | mb_buf[3];
uint16_t cnt = (mb_buf[4] << 8) | mb_buf[5];
if (addr < MB_REG_CNT && cnt > 0 && (addr + cnt) <= MB_REG_CNT) {
// Формирование ответа
uint8_t tx[MB_BUF_SIZE];
uint8_t tx_idx = 0;
uint16_t i;
tx[tx_idx++] = MB_ADDR;
tx[tx_idx++] = 0x03;
tx[tx_idx++] = cnt * 2;
for (i = 0; i < cnt; i++) {
uint16_t val = mb_regs[addr + i];
tx[tx_idx++] = val >> 8;
tx[tx_idx++] = val & 0xFF;
}
uint16_t crc = mb_crc(tx, tx_idx);
tx[tx_idx++] = crc & 0xFF;
tx[tx_idx++] = crc >> 8;
// Отправка
for (i = 0; i < tx_idx; i++) {
Serial_write(tx[i]);
}
// Индикация
digitalWrite(LED_BUILTIN, HIGH);
delay(2);
digitalWrite(LED_BUILTIN, LOW);
}
}
}
mb_idx = 0;
} else if (mb_buf[0] != MB_ADDR) {
mb_idx = 0;
}
}
// Фоновые задачи
static uint32_t last = 0;
if (millis() - last > 1000) {
last = millis();
mb_regs[0] = (mb_regs[0] + 1) & 0xFFFF;
digitalWrite(LED_BUILTIN, HIGH);
delay(1);
digitalWrite(LED_BUILTIN, LOW);
}
}
Re: Программируем STM8S003, STM8S103.
Добавлено: 09 фев 2026, 09:34
Murtaza
Good day sir,
can you add a custom description of STM8s105C6, 32/2kb.
thanks
Re: Программируем STM8S003, STM8S103.
Добавлено: 09 фев 2026, 21:23
aidar_i
Murtaza писал(а): 09 фев 2026, 09:34
Good day sir,
can you add a custom description of STM8s105C6, 32/2kb.
thanks
Это долго, поставьте контроллер Arduino Mega 2560 в FLProg, а в Arduino Ide STM8S105C6.
Re: Программируем STM8S003, STM8S103.
Добавлено: 04 мар 2026, 11:12
Murtaza
Dear Aidar good afternoon,
please give a example of integer input of TM1637 block ,
or make a new block of TM1637 input integer ,and float variable.
Re: Программируем STM8S003, STM8S103.
Добавлено: 04 мар 2026, 12:08
montirovka
Murtaza писал(а): 04 мар 2026, 11:12
Dear Aidar good afternoon,
please give a example of integer input of TM3716 block ,
or make a new block of TM3716 input integer ,and float variable.
And what is TM3716? Maybe TM1637?
Re: Программируем STM8S003, STM8S103.
Добавлено: 04 мар 2026, 12:18
Murtaza
OH its TM1637 module , sorry for mistake