OLED ssd1306 + STM32f030f4
19.12.2017, 15:15
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: OLED ssd1306 + STM32f030f4
RTOS упрощает и ускоряет разработку. Код становится более понятным, читаемым, переносимым. Но в общем, золотая середина - это все таки на RTOS полагаться, но про DMA не забывать
|
|
|
|
Сказали "Спасибо" Easyrider83
|
|
|
19.12.2017, 16:28
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: OLED ssd1306 + STM32f030f4
STM32F0, подскажите хоть на пальцах )) как ДМА прикрутить к SSD1306? В моем случае. Просто в той строке где у меня шлет он по 130 байт тупо запускать ДМА и всё? Я там чуть выше привел пример где это у меня.
Я наверно правильиммаю что у ДМА счетчик до 255 и сразу выслать 128х8 он точно не сможет )) если я правильно понимаю...
|
|
|
|
19.12.2017, 16:37
|
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: OLED ssd1306 + STM32f030f4
Сообщение от miwutka
|
|
Просто в той строке где у меня шлет он по 130 байт тупо запускать ДМА и всё?
|
Набиваете буфер экрана целиком и целиком его выплёвываете. Что ещё может быть проще!?
Периодично или одноразово - без разницы, по задаче.
Сообщение от miwutka
|
|
Я наверно правильиммаю что у ДМА счетчик до 255 и сразу выслать 128х8 он точно не сможет )) если я правильно понимаю...
|
В СТМ32 счётчик ДМА 65535, насколько помню. У СТМ8 - 255.
Хотя и это обходится, при необходимости.
|
|
|
|
Сказали "Спасибо" STM32F0
|
|
|
19.12.2017, 16:44
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: OLED ssd1306 + STM32f030f4
Сообщение от STM32F0
|
|
В СТМ32 счётчик ДМА 65535, насколько помню.
|
Вот гдето мне писали что ограничено 255 именно за стм32, а мне в голове так и отложилось. Я возьми и не посмотри в даташит... А вот вы написали 65000 я глядь в даташит - и правда 65000... Ипать я прогнал ))) Позже сяду сделаю функцию для ДМа чтоб за раз выводить на дисплей..... Вот это я вычудил... думал 255 и не смотрел в даташит. Это при том что я настройки по регистрам из даташита делаю в основном уже )))
сам же вот с даташита писал для АЦП стройку DMA1_Channel1-›CNDTR = 4; и не посмотрел что там до 65535 )))
|
|
|
|
19.12.2017, 16:47
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
|
Re: OLED ssd1306 + STM32f030f4
Да че вы, нормальная штука - РТОС. Только для мигания светодиодом и термометра ее конечно не надо ставить, а когда много чего напихано - вообще норм. На одних только прерываниях далеко не уедешь.
И РТОС писана не для конкретного МК, а для версии ядра. Для РТОС наплевать на периферию, она не использует ничего из периферии, даже системные тики - и то из ядра. Накладные расходы - да, есть. Но если уметь с ней работать, то всё будет пучком.
По DMA ограничение в 65к запросто может быть снято на F4 и выше, с использованием кольцевого буфера, а так же при управлении потоком периферией.
|
|
|
|
19.12.2017, 16:54
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
|
Re: OLED ssd1306 + STM32f030f4
Сообщение от Easyrider83
|
это все таки на RTOS полагаться, но про DMA не забывать
|
Запросто реализуется так: задача подготавливает DMA и запускает передачу, включив прерывание по окончанию передачи, после чего задача останавливается (vTaskSuspend). Прерывание от DMA разблокирует задачу (vTaskResumeFromISR) и задача продолжает работу.
Одним только DMA сыт не будешь и любую фишку на одном только DMA не решишь. Мало только получить/отправить данные, надо еще че-то с ними делать, да и вообще про остальное не забывать.
Последний раз редактировалось NewWriter; 19.12.2017 в 16:59.
|
|
|
|
20.12.2017, 10:16
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: OLED ssd1306 + STM32f030f4
Никто не спорит, что использовать ресурсы мк не эффективно. Но эффективность - это не только расход флеши и программных циклов. При работе с АРМ избыток ресурсов стал нормой. Их всегда много. Ниразу я еще не упирался в ограничения мк, чтобы требовалась скурпулезная оптимизация. Вы можете спать на полу, накрываясь листьями, можете жить в пещере, готовя на открытом огне мясо убитых вами мамонтов и говорить нам о том, что набедренная повязка стесняет движения и мешает охоте. А лично я предпочитаю благами цивиллизации пользоваться.
|
|
|
|
Эти 2 пользователя(ей) сказали Спасибо Easyrider83 за это сообщение:
|
|
|
02.01.2018, 05:59
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: OLED ssd1306 + STM32f030f4
Не советую покупать такой дисплей https://ru.aliexpress.com/item/0-91-...311.0.0.B7A7It
Слишком маленький,а пикселей стока же,если в одну строку писать на весь экран то да,но обмену будет больше для обрисовки.
__________________
Глаза боятся,а руки делают.
|
|
|
|
06.01.2018, 04:36
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: OLED ssd1306 + STM32f030f4
Висит на одной шине I2C дисплей 1306 и еепромка. После инита дисплея еепромка ничего не пишет в себя. Если до инита дисплея то пишет и читает без проблем. Видимо отправка данных корявая в дисплей? В еепромке проверяются флаги \, делаются сбросы, выставляется СТОП. В дисплее ничего. Отправка данных дисплею идет принудительно. Там толком и флаги не проверяются.
|
|
|
|
07.01.2019, 14:15
|
|
|
Частый гость
Регистрация: 22.10.2007
Сообщений: 14
Сказал спасибо: 17
Сказали Спасибо 1 раз в 1 сообщении
|
Re: OLED ssd1306 + STM32f030f4
Господа, можно детский вопрос, тем кто знает?
В даташите SSD1306, написано: Logic Supply Voltage 1.65-3.3 вольта.
Я понял, что это диапазон напряжений контроллера, а экран будет ли работать в этом диапазоне?
Будет ли работать у меня экран от 2.4 вольт?
__________________
Счастье неизбежно!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:08.
|
|