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

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

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

Сообщение aidar_i »

Удалите или архивируйте и удалите, когда будет нужно разархивируйте. Почему не используете портативную версию? Я не удалял, У меня вообще не обращается туда. Вы мой проект загружаете? Эта библиотека Wire.h не используется в проекте.
Вот проект с эмуляциией термодатчика
Удалил, смотрите ниже
Аватара пользователя
montirovka
Подполковник
Сообщения: 1320
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 161 раз
Поблагодарили: 519 раз

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

Сообщение montirovka »

aidar_i писал(а): 24 янв 2026, 19:51 Удалите или архивируйте и удалите, когда будет нужно разархивируйте. Почему не используете портативную версию? Я не удалял, У меня вообще не обращается туда. Вы мой проект загружаете? Эта библиотека Wire.h не используется в проекте.
Вот проект с эмуляциией термодатчика
Термостат холодильника_1_1_тест.rar
Завтра попробую на другом компе с портативной версией.
aidar_i
Полковник
Сообщения: 3483
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 31 раз
Поблагодарили: 206 раз
Контактная информация:

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

Сообщение 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
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Selivan
Рядовой
Сообщения: 45
Зарегистрирован: 19 ноя 2017, 09:49
Откуда: Тула
Благодарил (а): 5 раз
Поблагодарили: 1 раз

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

Сообщение Selivan »

Переустановил windows10, заново скачал и установил версию 8.0.0., результат тот же - Ошибка компиляции для платы STM8S103F3.
Обращение к EEPROM есть, после этого exit status 1, до обращения к библиотеке OLED дело не доходит.
aidar_i
Полковник
Сообщения: 3483
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 31 раз
Поблагодарили: 206 раз
Контактная информация:

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

Сообщение aidar_i »

Selivan писал(а): 24 янв 2026, 20:32 Переустановил windows10, заново скачал и установил версию 8.0.0., результат тот же - Ошибка компиляции для платы STM8S103F3.
Обращение к EEPROM есть, после этого exit status 1, до обращения к библиотеке OLED дело не доходит.
Не нужно было Виндовс трогать.
Тогда загрузите в МК хекс файл через STVP STM8
pr1.ino.rar
Показать
STVP.bmp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Selivan
Рядовой
Сообщения: 45
Зарегистрирован: 19 ноя 2017, 09:49
Откуда: Тула
Благодарил (а): 5 раз
Поблагодарили: 1 раз

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

Сообщение Selivan »

Загрузил через STVP - все замечательно работает. Что же не так с Arduino IDE?
aidar_i
Полковник
Сообщения: 3483
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 31 раз
Поблагодарили: 206 раз
Контактная информация:

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

Сообщение aidar_i »

Selivan писал(а): 25 янв 2026, 08:08 Загрузил через STVP - все замечательно работает. Что же не так с Arduino IDE?
В личку пришлите полностью ход компиляции.
aidar_i
Полковник
Сообщения: 3483
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 31 раз
Поблагодарили: 206 раз
Контактная информация:

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

Сообщение aidar_i »

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

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

Сообщение aidar_i »

В первом сообщении выложил обновлённый проект Термостат для холодильника.
Аватара пользователя
montirovka
Подполковник
Сообщения: 1320
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 161 раз
Поблагодарили: 519 раз

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

Сообщение montirovka »

Попробовал проверить компиляцию у себя на компе проекта Термостат. Ошибки в Ардуино ИДЕ. Некоторые обошел, но не факт что правильно. Как эту побороть не знаю.
2026-02-06_09-21-06.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3483
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 31 раз
Поблагодарили: 206 раз
Контактная информация:

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

Сообщение aidar_i »

montirovka писал(а): 06 фев 2026, 09:26 Попробовал проверить компиляцию у себя на компе проекта Термостат. Ошибки в Ардуино ИДЕ. Некоторые обошел, но не факт что правильно. Как эту побороть не знаю.
У Вас 8.2.3? Пользуйтесь для создания или изменения до версии 8.0.2. А для запуска в 8.2.3 удалите со скетча библиотеку #include "flprogUtilites.h". А вижу , последняя версия, там вообще открывать не нужно.
Аватара пользователя
montirovka
Подполковник
Сообщения: 1320
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 161 раз
Поблагодарили: 519 раз

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

Сообщение 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 делайте так как я писал выше , запустится.
Аватара пользователя
montirovka
Подполковник
Сообщения: 1320
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 161 раз
Поблагодарили: 519 раз

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

Сообщение montirovka »

aidar_i писал(а): 06 фев 2026, 19:20
montirovka писал(а): 06 фев 2026, 09:26
Для запуска в 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
У вас нет необходимых прав для просмотра вложений в этом сообщении.
chmak2007
Сержант
Сообщения: 165
Зарегистрирован: 06 сен 2015, 13:28
Откуда: Саров

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

Сообщение chmak2007 »

Кто нибудь воплотил stm8s modbus?
aidar_i
Полковник
Сообщения: 3483
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 31 раз
Поблагодарили: 206 раз
Контактная информация:

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

Сообщение 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);
    }
}
Murtaza
Рядовой
Сообщения: 26
Зарегистрирован: 21 фев 2018, 09:26
Имя: Marti
Поблагодарили: 1 раз

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

Сообщение Murtaza »

Good day sir,
can you add a custom description of STM8s105C6, 32/2kb.
thanks
aidar_i
Полковник
Сообщения: 3483
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 31 раз
Поблагодарили: 206 раз
Контактная информация:

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

Сообщение 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.
Murtaza
Рядовой
Сообщения: 26
Зарегистрирован: 21 фев 2018, 09:26
Имя: Marti
Поблагодарили: 1 раз

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

Сообщение 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.
Последний раз редактировалось Murtaza 04 мар 2026, 12:19, всего редактировалось 1 раз.
Аватара пользователя
montirovka
Подполковник
Сообщения: 1320
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 161 раз
Поблагодарили: 519 раз

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

Сообщение 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?
Murtaza
Рядовой
Сообщения: 26
Зарегистрирован: 21 фев 2018, 09:26
Имя: Marti
Поблагодарили: 1 раз

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

Сообщение Murtaza »

OH its TM1637 module , sorry for mistake
Ответить

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

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

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