Например TDA7294

Форум РадиоКот • Просмотр темы - Программирование STM8
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн окт 27, 2025 15:08:46

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2579 ]     ... , , , 128,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт ноя 01, 2024 14:43:07 
Говорящий с текстолитом

Карма: -7
Рейтинг сообщений: 185
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1609
Рейтинг сообщения: 1
Спасибо, но ваш пример кода из другого проекта (под названием led) и немного другой.
Код я брал по вами же данной ссылке:
Интересно как у автора то работало?
https://eddy-em.livejournal.com/80558.html
Разве не о нём шла речь?
Или при применении 3х значного индикатора они все взаимозаменяемые (led.c)из разных проектов?
Это уже вопрос к авторам тех проектов. Какие ноги и куда они подключили.

Добавлено after 25 minutes 50 seconds:
В таблице поменял. Ниже, где упоминаются номера портов в явном виде, тоже. Но что то никаких изменений не получил.
Кроме этого в этом новом коде:
По ссылке там несколько проектов. А во вложении был один, который нужен. Вот он отдельно:
имеется функция конфигурирования пинов GPIO:
Код:
void LED_init(){
  PA_DDR |= 0x08; PD_DDR |= 0x30; // anodes are PPout, cathodes  will be PPout only in active mode
  PA_CR1 |= 0x08; PD_CR1 |= 0x30;
  // prepare cathodes ODR
  PB_ODR &= ~PB_BLANK; PC_ODR &= ~PC_BLANK; PD_ODR &= ~PD_BLANK;
}
которую тоже следует переделать под ваши ноги.

А то как то странно: при прошивке с помощью stvp файла ihx автора в устройстве подмигивают одни символы, а при компиляции и прошивке с помощью Microsoft VS Code исходников из той же папки, горят другие символы.
Я бы не рассчитывал особо на работоспособность того "кода" как есть. Так как он весьма низкого качества. Вот например в функциях set_display_buf() и display_int() автор сравнивает значение типа char с отрицательными константами:
Код:
for(M = i-1; M > -1; M--, ch--){...
в то время как знаковость типа char зависит от используемого компилятора и его настроек. Один компилятор это скомпилит правильно, другой (в котором тип char - беззнаковый) - нет.
Естественно - так писать нельзя.

В криво написанном коде, надо быть готовым, что любая, самая безобидная модификация, может привести к любым сбоям. Или даже просто смена компилятора или его версии - привести к неработоспобности скомпилированного кода.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Чт ноя 14, 2024 21:29:21 
Родился

Зарегистрирован: Пт июн 23, 2023 13:32:13
Сообщений: 4
Рейтинг сообщения: 0
Приветствую всех знатоков STM8!
Может ли кто-то проконсультировать по настройке и работе таймера TIM1?

Включил на 1-ом канале TIM1 ШИМ-сигнал 800кГц (Т=1,25мкс), разрешил прерывание по совпадению
регистров CNTR и CCR1. В прерывании меняю состояние ножки PE5 контроллера.

Ожидал, что на каждый переход состояния вывода TIM1_CH1 из "1" в "0", то есть совпадения значений
регистров CNTR и CCR1, будет менять состояние вывод PE5, но наблюдаю непонятное поведение PE5.
Что я не так настроил?


Вложения:
tim1_CC1_Interrupt.c [2.13 KiB]
Скачиваний: 44
tim1_CC1_Interrupt.png [51.14 KiB]
Скачиваний: 58
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт ноя 15, 2024 12:11:39 
Говорящий с текстолитом

Карма: -7
Рейтинг сообщений: 185
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1609
Рейтинг сообщения: 0
Включил на 1-ом канале TIM1 ШИМ-сигнал 800кГц (Т=1,25мкс), разрешил прерывание по совпадению
регистров CNTR и CCR1. В прерывании меняю состояние ножки PE5 контроллера.
Что такое 800кГц? Частота ШИМ? Вы прерывание с частотой 800кГц включили на STM8??? Серьёзно? :shock:
Если так, что возникает вопрос - на какой частоте работает ваш STM8? На скольки ГГц тактовой? :)))

PS: Не всякий даже 100МГц-овый ARM справится с такой частотой прерываний... а уж STM8....

PPS: И если уж решили сделать ШИМ, то на кой "менять ножки в прерывании"? Для работы ШИМ на STM8 никаких прерываний не нужно. Достаточно просто корректно настроить таймер и включить его.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт ноя 15, 2024 13:54:21 
Родился

Зарегистрирован: Пт июн 23, 2023 13:32:13
Сообщений: 4
Рейтинг сообщения: 0
то такое 800кГц? Частота ШИМ? Вы прерывание с частотой 800кГц включили на STM8??? Серьёзно? :shock:
Если так, что возникает вопрос - на какой частоте работает ваш STM8? На скольки ГГц тактовой?
----------
Таймер тактируется частотой 16Мгц, затем предделитель на 20, получаем ШИМ 800кГц (период 1,25мкс), хочу подружить STM8 с адресной светодиодной лентой на WS2812B.
В инете есть подобные проекты на STM32 (таймеры там тактируются 72МГц).

----------
PPS: И если уж решили сделать ШИМ, то на кой "менять ножки в прерывании"? Для работы ШИМ на STM8 никаких прерываний не нужно. Достаточно просто корректно настроить таймер и включить его.
----------
Я это прекрасно знаю, так и включил ШИМ на первом канале, а прерывание включил и ножкой стал дрыгать просто ради интереса и дальнейшей перспективы. После Вашего замечания проверю работу при более низкой частоте ШИМ


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт ноя 15, 2024 14:18:50 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2128
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18419
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
800 кГц это не частота ШИМ, а частота тактирования таймера, а ШИМ получится во столько раз меньшей частоты, на сколько счетчик таймера считать будет. Например, для счета до 256 будет в 256 раз меньше

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт ноя 15, 2024 15:09:33 
Родился

Зарегистрирован: Пт июн 23, 2023 13:32:13
Сообщений: 4
Рейтинг сообщения: 0
800 кГц это не частота ШИМ, а частота тактирования таймера, а ШИМ получится во столько раз меньшей частоты, на сколько счетчик таймера считать будет. Например, для счета до 256 будет в 256 раз меньше



Посмотрите исходник

Добавлено after 41 minute 56 seconds:
Мдя...(многозначительно :) ) спасибо jcxz, что своей критикой навел меня на мысль "После Вашего замечания проверю работу при более низкой частоте ШИМ".
Установил частоту ШИМ на два порядка меньше (8кГц), все штатно заработало.
Слишком маленькие временные промежутки были для нормальной работы прерываний.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт ноя 15, 2024 19:57:36 
Говорящий с текстолитом

Карма: -7
Рейтинг сообщений: 185
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1609
Рейтинг сообщения: 0
Таймер тактируется частотой 16Мгц, затем предделитель на 20, получаем ШИМ 800кГц (период 1,25мкс)
Зачем тогда обманываете?
Эта частота - частота тактирования таймера (частота, с которой инкрементируются счётчик таймера), а не "частота ШИМ". "Частота ШИМ" - это частота на ШИМ-выходе таймера.

Я это прекрасно знаю, так и включил ШИМ на первом канале, а прерывание включил и ножкой стал дрыгать просто ради интереса и дальнейшей перспективы. После Вашего замечания проверю работу при более низкой частоте ШИМ
Так может у вас просто прерывание не работает, а ШИМ-сигнал на выходе таймера есть?
Лог.анализатором проверьте сигнал на выходе таймера.

Добавлено after 1 minute 21 second:
800 кГц это не частота ШИМ, а частота тактирования таймера, а ШИМ получится во столько раз меньшей частоты, на сколько счетчик таймера считать будет.
Ну вот - уже ответили.
Точнее - частота ШИМ-сигнала будет равна частоте тактирования таймера делённой на период, запрограммированный в таймере.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пт ноя 15, 2024 22:52:55 
Родился

Зарегистрирован: Пт июн 23, 2023 13:32:13
Сообщений: 4
Рейтинг сообщения: 0
Таймер тактируется частотой 16Мгц, затем предделитель на 20, получаем ШИМ 800кГц (период 1,25мкс)
Зачем тогда обманываете?
Эта частота - частота тактирования таймера (частота, с которой инкрементируются счётчик таймера), а не "частота ШИМ". "Частота ШИМ" - это частота на ШИМ-выходе таймера.

Я это прекрасно знаю, так и включил ШИМ на первом канале, а прерывание включил и ножкой стал дрыгать просто ради интереса и дальнейшей перспективы. После Вашего замечания проверю работу при более низкой частоте ШИМ
Так может у вас просто прерывание не работает, а ШИМ-сигнал на выходе таймера есть?
Лог.анализатором проверьте сигнал на выходе таймера.

Добавлено after 1 minute 21 second:
800 кГц это не частота ШИМ, а частота тактирования таймера, а ШИМ получится во столько раз меньшей частоты, на сколько счетчик таймера считать будет.
Ну вот - уже ответили.
Точнее - частота ШИМ-сигнала будет равна частоте тактирования таймера делённой на период, запрограммированный в таймере.


Мдя....разговор слепого с глухим...
Вы мои последующие сообщения читали? Прикрепленную картинку смотрели? Кстати, эта картинка - скриншот экрана получена логическим анализатором.

"Частота ШИМ" - это частота на ШИМ-выходе таймера" - золотые слова....а я что говорил, именно частота на ШИМ-выходе 800кГц с периодом 1,25мкс (верхний сигнал на картинке, там все подписано).
Кароче,все работает и ШИМ, и прерывания. Причину первоначальной ситуации я указал в предыдущем своем сообщении.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Сб ноя 16, 2024 12:24:35 
Говорящий с текстолитом

Карма: -7
Рейтинг сообщений: 185
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1609
Рейтинг сообщения: 0
Мдя....разговор слепого с глухим...
Вы мои последующие сообщения читали? Прикрепленную картинку смотрели? Кстати, эта картинка - скриншот экрана получена логическим анализатором.
Куда именно смотреть и что читать?
Вы в своих сообщениях пишете совершенно противоречащие друг другу вещи. То пишете что:
ШИМ-сигнал 800кГц (Т=1,25мкс)
здесь пишете, что ШИМ-сигнал у вас =800кГц (при неизвестной частоте тактирования таймера).

Затем пишете противоположное:
Таймер тактируется частотой 16Мгц, затем предделитель на 20, получаем ШИМ 800кГц (период 1,25мкс)
отсюда уже следует, что частота тактирования таймера у вас =800кГц, а не частота ШИМ.

Что такое "предделитель" (prescaler) - понимаете? "Reference manual" читали? Там как раз и описано - как работает вся система тактирования таймера, что такое "prescaler", что такое "период", с какой частотой считает счётчик таймера и т.п.
Смотрим в мануал:
Изображение

Из последней вашей фразы следует, что: CK_PSC=16МГц; CK_CNT=800кГц; а частота ШИМ (частота перезагрузок счётчика) - неизвестна.
Так чему именно верить из вами же написанного??? Где ложь? где правда?

PS: Вы плаваете в базовых понятиях. И при этом почему-то обвиняете других, что они вас не понимает. Пишите вменяемо. И тогда вас будут понимать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс апр 20, 2025 18:52:43 
Прорезались зубы

Зарегистрирован: Чт дек 07, 2017 13:48:44
Сообщений: 201
Рейтинг сообщения: -1
Вопрос:
Хоспода, листал я тут эту писанину и так и не нашел ШО меня озадачивает (мож. плохо искал в 128 листах).
Подскажите рабочий ныне, не глючный вариант IDE с рабочим дебагером.

Подкат:

Валяется у меня больше 100 шт. на работе STM8S003F3P6. И вроде как 8 бит уже усё, но для мелких поделок всё же пользую периодически, а учитывая цены на бывший AVR - так вообще появилось желание заюзать эти МК как альтернативу. Так как с ST я не работал, то мне сложно сходу въехать в древнюю их 8-ми битную тему.
Судя по всему они забили на 8-битники и SТM32 их нынешнее всё))

Идеальный вариант для меня это: VSCode+PlatformIO+Proteus (для симуляции и макетирования).

Но в PlatformIO используется для STM8 глючный компилятор SDCC который при попытке дебага выдает кучу ошибок и эти ошибки разрабы фиксят с 2018 г...
В Proteus вообще нет STM8 (хотя STM32 есть))

Нарыл я тут кучу древнючего гг.. и оно всё работает через опу:

1. ST Visual Develop - вроде как тулса чисто под такие задачи, но при работе глючит, вылетает, закрывается сама по себе и кидает мутные ошибки (проверял на нескольких ПК). Может ей винда 10-я не нравится - я ХЗ. Короче, заставить её адекватно работать я так и не смог;

2. Cosmic CXSTM8 Special Edition - вообще глючнейшая херабора, невзирая на то что ее писали именно под STM8!! Без стакана и курения мануала на пол года там делать нечего. + евойный компилятор с бесплатной, Карл!, лицензией, но сук после регистрации и по почте через месяц, а может и никогда!

3. IAR EW for STM8 - вроде как самая адекватная, и заточенная под STM8 и отладка работает, но как то всё там... ну не заходит мне...

Резюме:

VSCode+PlatformIO меня полностью устраивают - не нужно переучиваться на другую IDE, все удобно и быстро, но вот с дебагом беда.
Думал хоть переменные смотреть с помощью STMStudio, но ему почему то не нравится elf выходной файл... Хоть на UART переходи и смотри только переменные прям как в Ардуино блин!
Этот Cosmic со своей бесплатной, бля, лицензией по почте и IAR с кряками... МРАК из 00-х!
Короче, не думал я что с этим старым железом могут быть такие затыки в наше время.
Может я конечно плохо искал или не шарю как этой всей древней х-нёй пользоваться, но всё же, для сбережения времени, денег и нервов, уповаю на общественность.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс апр 20, 2025 18:59:58 
Опытный кот

Зарегистрирован: Вс мар 23, 2025 14:56:55
Сообщений: 700
Рейтинг сообщения: -4
Просто бросьте этим заниматься, да и всё. Это ведь не для быдла, всё-таки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс апр 20, 2025 19:03:52 
Прорезались зубы

Зарегистрирован: Чт дек 07, 2017 13:48:44
Сообщений: 201
Рейтинг сообщения: 0
Вы случайно с пресловутым здесь "МУСОР" не знакомы? У ж больно похожи как по интеллекту так и по умозаключениям))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс апр 20, 2025 19:07:06 
Опытный кот

Зарегистрирован: Вс мар 23, 2025 14:56:55
Сообщений: 700
Рейтинг сообщения: 0
Я неслучайно знаком с огромным сообществом людей, использующих STM8. Есть с кем сравнить.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс апр 20, 2025 19:13:01 
Прорезались зубы

Зарегистрирован: Чт дек 07, 2017 13:48:44
Сообщений: 201
Рейтинг сообщения: 0
Жаль, что вы до сих пор, "знакомый с огромным сообществом людей, использующих STM8" так и не научились писать по существу в теме и не переходить на личности. А может и не жаль... Вы меня посчитали быдлом, я вас - идиотом. Будьте здоровы.
Пост мой направлен к адекватным людям))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс апр 20, 2025 19:40:20 
Опытный кот

Зарегистрирован: Вс мар 23, 2025 14:56:55
Сообщений: 700
Рейтинг сообщения: 0
Пожалуйста, без перехода на личности: плохому разработчику мешают: яйца(а не, это танцору), инструментарий, цвет клавиатуры, положение планет на небе.
Пока он жалится, плачется и использует лексикон быдла (и даже это не может, буковки тире заменя, типа, смотрите, мои родители были культурными людьми), остальные просто делают.


Последний раз редактировалось Уош Вс апр 20, 2025 19:41:32, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс апр 20, 2025 19:40:47 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 885
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6157
Откуда: Minsk
Рейтинг сообщения: 0
Я неслучайно знаком с огромным сообществом людей, использующих STM8.

Но это не даёт права хамить человеку, который недостаточно в теме. Так что на ответку нечего обижаться. Все мы были новичками. По-моему, человек ждал доброжелательного совета.

_________________
Изображение


Последний раз редактировалось Jack_A Вс апр 20, 2025 19:46:09, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс апр 20, 2025 19:42:59 
Опытный кот

Зарегистрирован: Вс мар 23, 2025 14:56:55
Сообщений: 700
Рейтинг сообщения: 0
Тот, кто ждёт доброжелательного ответа, не задаёт вопрос, как быдло. Накатал соплей, вместо простого вопроса, какие есть инструменты, с учётом известных таких-то. И когда недостаточно в теме, не оскорбляешь производителей и не делаешь выводы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс апр 20, 2025 20:00:44 
Грызет канифоль
Аватар пользователя

Карма: 1
Рейтинг сообщений: 26
Зарегистрирован: Ср мар 09, 2016 08:07:41
Сообщений: 295
Рейтинг сообщения: 0
Этот Cosmic со своей бесплатной, бля, лицензией по почте

у космиков не надо ничего по почте запрашивать. в каталоге программы есть "register.bat" по которому выдается ключ онлайн.
Изображение
но я не уверен что на российский IP что-либо вышлют.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс апр 20, 2025 21:07:45 
Прорезались зубы

Зарегистрирован: Чт дек 07, 2017 13:48:44
Сообщений: 201
Рейтинг сообщения: 0
Что то подобное я и делал, ибо лицензия так и не пришла по почте. Но сути воброса это не решает.
Бляха, загадили всю тему из-за упоранта, который решил учить грамматике на форуме :facepalm: и зело за разработчиков глючного софта переживает :kill:
Ну да ладно, на всех идиотов времени не напасёшься!
Попробовать бы воткнуть в PlatformIO вместо SDCC - пресловутый COSMIC.... Но полагаю это не удастся.
Это ж надо было так упороться разработчикам (которых так сильно уважает идиот "Уош"), что бы проигнорировать вездесущий и всеми изученный GCC!!??! И нагондурасить глючных космиков, сдсс и прочей.... Это я еще про Raisonance не читал...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Ср апр 23, 2025 20:40:12 
Держит паяльник хвостом
Аватар пользователя

Карма: 16
Рейтинг сообщений: 204
Зарегистрирован: Вс дек 02, 2012 16:58:33
Сообщений: 931
Откуда: от туда
Рейтинг сообщения: 0
Больше 10 лет пишу для STM8 на IAR.
Единственное, что напрягло - фикс бага прерывания деления, добавляющий в каждое прерывание 6 команд на входе и выходе.
И симулятор не нужен - всё дебажится в железе.
Не понимаю, почему вы отвергли этот вариант.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2579 ]     ... , , , 128,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y