Мультиплекс там сколько? Если два - это довольно просто, если три или четыре - нужно будет на каждую общую линию задействовать минимум два GPIO пина.Но драйвер - это лишь удобство, а так-то уровни сигналов можно и обычных GPIO реализовать: в режиме выхода GND, VCC, в режиме входа результат от резистивного делителя.
Программирование STM8
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
- Реклама
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
[uquote="watchmaker",url="/forum/viewtopic.php?p=4463870#p4463870"]Мультиплекс там сколько?[/uquote]4 COM и 6 SEG. В первоначальном моем сообщении выше есть схема и пояснение.
[uquote="Asmodey",url="/forum/viewtopic.php?p=4463853#p4463853"]То что вы называете "драйвером жки", лет 30 назад без особых проблем делали на самых обычных логических микросхемах.[/uquote] Я только начинаю разбирать с МК, и поэтому мне показалось это чем-то сложным. Тем более, что во всем интернете я нашел только одну статью , в которой описано как это можно делать. Все остальные, либо используют специализированные микросхемы между МК и ЖКИ, либо используют ЖКИ с со специализированной микросхемой на борту. Поэтому и сделал вывод, что засвечивать ЖКИ напрямую от МК очень сложно.
А сюда я пришел с надеждой на то, что мне помогут в этом разобраться...
[uquote="Asmodey",url="/forum/viewtopic.php?p=4463853#p4463853"]То что вы называете "драйвером жки", лет 30 назад без особых проблем делали на самых обычных логических микросхемах.[/uquote] Я только начинаю разбирать с МК, и поэтому мне показалось это чем-то сложным. Тем более, что во всем интернете я нашел только одну статью , в которой описано как это можно делать. Все остальные, либо используют специализированные микросхемы между МК и ЖКИ, либо используют ЖКИ с со специализированной микросхемой на борту. Поэтому и сделал вывод, что засвечивать ЖКИ напрямую от МК очень сложно.
А сюда я пришел с надеждой на то, что мне помогут в этом разобраться...
Это совсем не сложно. Представьте действия во времени (грубо: пин HIGH, пауза, пин LOW ...) и просто опишите в среде, который выбрали для программирования, с ее особенностями.
А специализированные ИС (почти) не нужны. Купите МК с множеством пинам, они сейчас дешевые: 8, 20, 48, 64, 100?
А специализированные ИС (почти) не нужны. Купите МК с множеством пинам, они сейчас дешевые: 8, 20, 48, 64, 100?
4 COM
В принципе ещё можно сделать обычными GPIO, но нужно будет два пина на каждую (!) общую линию и куча резисторов.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
[uquote="veso74",url="/forum/viewtopic.php?p=4463915#p4463915"]Это совсем не сложно. Представьте действия во времени (грубо: пин HIGH, пауза, пин LOW ...) и просто опишите в среде, который выбрали для программирования, с ее особенностями.[/uquote]
Мне кажется не все так просто... Ведь это нужно делать с определенной частотой, и это частота должна быть одинаковая на всех пинах дисплея + ко всему нужно смещать сигнал по фазе... В общем хотелось бы где-то найти подобный проект на stm8. Ну а пока буду разбираться с проектом на AVR по ссылке выше. На безрыбьи и рак рыба
[uquote="watchmaker",url="/forum/viewtopic.php?p=4464048#p4464048"]
В принципе ещё можно сделать обычными GPIO, но нужно будет два пина на каждую (!) общую линию и куча резисторов.[/uquote]
Тут дело в том, что у меня в паяльнике померла прошивка. Прошивку я конечно же не нашел, поэтому задумался о написании своей. Соответственно в схему подключения ЖКИ к МК вносить изменения нельзя. Никогда не программировал МК, но давно хотел попробовать. А паяльник стал толчком к этому.
Заказал отладочную плату и программатор. Пока они в пути собираю материал. Понятное дело, что сходу прошивку я не напишу. Начну с простого - помигать светодиодиком, дальше больше. В идеале, на выходе должна получится прошивка. Назовем ее курсовой работой
Мне кажется не все так просто... Ведь это нужно делать с определенной частотой, и это частота должна быть одинаковая на всех пинах дисплея + ко всему нужно смещать сигнал по фазе... В общем хотелось бы где-то найти подобный проект на stm8. Ну а пока буду разбираться с проектом на AVR по ссылке выше. На безрыбьи и рак рыба
[uquote="watchmaker",url="/forum/viewtopic.php?p=4464048#p4464048"]
4 COM
В принципе ещё можно сделать обычными GPIO, но нужно будет два пина на каждую (!) общую линию и куча резисторов.[/uquote]
Тут дело в том, что у меня в паяльнике померла прошивка. Прошивку я конечно же не нашел, поэтому задумался о написании своей. Соответственно в схему подключения ЖКИ к МК вносить изменения нельзя. Никогда не программировал МК, но давно хотел попробовать. А паяльник стал толчком к этому.
Заказал отладочную плату и программатор. Пока они в пути собираю материал. Понятное дело, что сходу прошивку я не напишу. Начну с простого - помигать светодиодиком, дальше больше. В идеале, на выходе должна получится прошивка. Назовем ее курсовой работой
- Реклама
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
Да, меня тоже это удивляет, но тут ошибки, вроде, нет. Однозначно могу сказать, что сигнал туда подается импульсами. Вместо нагревателя я подсоединял лампу накаливания на 220 вольт. После включения она моргала быстро, но хорошо заметно глазу(т.е частота ниже 50 Гц была) а после того как спираль нагрелась, стала моргать раз в секунду примерно, может чуть чаще.
Пожалуйста, сфотографируйте эту плату со стороны элементов.
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
Подскажите пожалуйста, а какую среду разработки выбрать новичку на сегодняшний день?
Я было дело хотел выбрать IAR + COSMIC, но сейчас он вроде не бесплатный стал...
Еще читал про ST Visual Develop + COSMIC. Тут могут быть проблемы с подключением библиотек если я правильно понял.
PlatformIO + SDCC Придется вручную отключать неиспользуемые библиотеки и функции. В противном случае будет слишком большой код.
Ни с чем еще не работал и не знаю что выбрать. Даже не знаю по какому критерию судить. Поэтому прошу вашего совета, мудрые коты.
Я было дело хотел выбрать IAR + COSMIC, но сейчас он вроде не бесплатный стал...
Еще читал про ST Visual Develop + COSMIC. Тут могут быть проблемы с подключением библиотек если я правильно понял.
PlatformIO + SDCC Придется вручную отключать неиспользуемые библиотеки и функции. В противном случае будет слишком большой код.
Ни с чем еще не работал и не знаю что выбрать. Даже не знаю по какому критерию судить. Поэтому прошу вашего совета, мудрые коты.
IAR + STlink проще всего и нагляднее. Нужно только ключик найти. По моему, до 32к кода он был бесплатен для некоммерческих приложений.
VScode + SDCC легально, но придётся настраивать, и компилятор проще.
VScode + SDCC легально, но придётся настраивать, и компилятор проще.
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
Из компиляторов, на сколько я понял, самый лучший это COSMIC. Он умеет оптимизировать код и не компилирует неиспользуемые функции и библиотеки. Правильно?
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
[uquote="Martian",url="/forum/viewtopic.php?p=4466578#p4466578"]IAR - платно, но лечится, но лучшая среда[/uquote]
А каким способом можно вылечить? Может у вас есть версия с таблеткой? Не поделитесь(можно в личку или на почту)?
Я надеялся на условнобесплатную лицензию с ограничением кода до 8Кб, но сейчас осталось только 14-дневный бесплатный период.
А каким способом можно вылечить? Может у вас есть версия с таблеткой? Не поделитесь(можно в личку или на почту)?
Я надеялся на условнобесплатную лицензию с ограничением кода до 8Кб, но сейчас осталось только 14-дневный бесплатный период.
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
Да, читал про это. Но в интернете, я видел не очень много примеров работы с STM8 в этой среде разработки.
Кстати, а код из одной среды разработки в другую копипастом не получится использовать? Или код во всех средах разработки будет одинаковый, а отличие только в настройках среды?.
Кстати, а код из одной среды разработки в другую копипастом не получится использовать? Или код во всех средах разработки будет одинаковый, а отличие только в настройках среды?.
Последний раз редактировалось Pjatruha@mail.ru Ср авг 23, 2023 12:32:12, всего редактировалось 1 раз.
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
Т.е все зависит от компилятора?
Я нашел лабораторные работы в среде разработки STVD. Хотел попробовать их выполнить.
Я нашел лабораторные работы в среде разработки STVD. Хотел попробовать их выполнить.
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
Ура, мне пришел программатор! А вот отладочная платка где-то потерялась...
Ну что, есть время на изучение материала.
Не подскажите сылочки на книжки/учебное пособие по программированию STM8? Может у кого-то есть данный материал на компьютере - с радостью приму на почту или в личные сообщения.
Ну что, есть время на изучение материала.
Не подскажите сылочки на книжки/учебное пособие по программированию STM8? Может у кого-то есть данный материал на компьютере - с радостью приму на почту или в личные сообщения.
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
Большое спасибо за ссылки. Это у же все есть и по диагонали прочитано. Если больше ничего не найду, то начну изучать эту литературу основательно.
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
Спасибо за наводку.
Саму книгу скачать не удалось, но нашел где ее можно почитать. Правда для этого пришлось зарегистрироваться. Попутно нашел еще и лабораторный практикум того же автора.
Саму книгу скачать не удалось, но нашел где ее можно почитать. Правда для этого пришлось зарегистрироваться. Попутно нашел еще и лабораторный практикум того же автора.
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
Подскажите, пожалуйста, а как избавиться от дребезга контактов программно? Знаю, что можно задержку добавить после опроса кнопки, но это не лучшее решение, вроде. А как же тогда борются с этим явлением? В электронике для этого используют триггер. Наверное что-то подобное можно программно реализовать?
- Сообщения: 259
- Зарегистрирован: Пн фев 10, 2014 19:40:03
Написал я вот такую програмку
Задержка на нажатие кнопки в этой программе глобальная, правильно? А как будет выглядеть локальная задержка?
Не нравится мне как работает кнопка. Переключения не очень четкие. Оно конечно гораздо лучше чем без задержки, но все равно не то. Подскажите, в какую сторону копать?
Код: Выделить всё
#include "IOSTM8S103F3.h"
int main (void)
{
PD_DDR_bit.DDR3 = 0; // Активируем порт PD3 в качестве "входа"
PD_CR1_bit.C13 = 0; // переключаем порт в качестве Дифф. входа
PD_CR2_bit.C23 = 0; // Прерывания запрещены
PB_DDR_bit.DDR5 = 1; // Настраиваем PB5 в качестве "вывода".
PB_CR1_bit.C15 = 1; // Переключение порта в режим push-pull.
PB_CR2_bit.C25 = 1; // Скорость переключения до 2 МГц
int n = 2;
while(1)
{
if (PD_IDR_bit.IDR3!=1) // Проверка нажатия кнопки. Кнопка NO замыкает PD3 на землю. PD3 через резистор подтянут к плюсу.
{
for (unsigned long i=0; i<20000; i++);
if (PD_IDR_bit.IDR3!=1)
{
n++;
}
}
switch(n)
{
case 1:
PB_ODR_bit.ODR5 = 0; // Включение светодиода.
break;
case 2:
PB_ODR_bit.ODR5 = 1; // Отключение светодиода.
break;
default:
n=1;
}
}
}
Не нравится мне как работает кнопка. Переключения не очень четкие. Оно конечно гораздо лучше чем без задержки, но все равно не то. Подскажите, в какую сторону копать?


