FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Суббота, 03.12.2016, 22:42
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Char (создание, хранение и вывод Char)
Char
dim21841
Дата: Четверг, 03.12.2015, 21:56 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 38
Награды: 0
Репутация: 0
Статус: Offline
Всем привет!
Сталкивался-ли кто-то с необходимостью вывода на экран маленькой пиктограммы?
В принципе по средством Arduino IDE у меня получилось и создать и вывести на экран, только вот в чём проблема саму программу я создал в FLPorg и сидеть потом в ручную добавлять куски кода перед заливкой не очень хочется. Поэтому вопрос как прямо в программе создать и хранить элемент CHAR?

Добавлено (03.12.2015, 21:56)
---------------------------------------------
не ужели не реально??

Прикрепления: 0874387.jpg(46Kb)
 
Олег Дата: Четверг, 03.12.2015, 22:27 | Сообщение # 2
Гуру
Группа: Проверенные
Сообщений: 721
Награды: 20
Репутация: 15
Статус: Offline
Я думаю мало кто озадачивался этой проблемой, ждите, может кто и откликнется.
 
dim21841 Дата: Четверг, 03.12.2015, 22:53 | Сообщение # 3
Сержант
Группа: Проверенные
Сообщений: 38
Награды: 0
Репутация: 0
Статус: Offline
ээх... буду ждать, в ручную вставить в IDE после FLProg что-то не получается (
 
DWD Дата: Пятница, 04.12.2015, 16:56 | Сообщение # 4
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
Я только начал изучать программу, но в первом же примере с применением дисплея столкнулся с такой же необходимостью выводить не только буквы с цифрами, но и различные символы.

По этому поодерживаю просьбу к автору програмы придумать что-то.


 
Слимпер Дата: Суббота, 05.12.2015, 08:40 | Сообщение # 5
Генерал-лейтенант
Группа: Проверенные
Сообщений: 661
Награды: 25
Репутация: 23
Статус: Offline
Некоторые дополнительные символы можно и сейчас выводить. 
Правда только те которые зашиты в знакогенераторе дисплея.
Почитайте здесь: LCD HD44780 Вывод символов
 
dim21841 Дата: Суббота, 05.12.2015, 10:09 | Сообщение # 6
Сержант
Группа: Проверенные
Сообщений: 38
Награды: 0
Репутация: 0
Статус: Offline
Слимпер, спасибо. Учту в будущих проектах. Жаль что нельзя самому нарисовать что-то... но будем ждать.

Кстати а как насчёт вывода информации на OLED SSD1306? Думаю создать STRING переменные а за тем добавить пару строк код по сборке этих переменных на экране. Как думаете получится?

Прикрепления: 7581682.jpg(60Kb)


Сообщение отредактировал dim21841 - Суббота, 05.12.2015, 10:11
 
Слимпер Дата: Суббота, 05.12.2015, 11:26 | Сообщение # 7
Генерал-лейтенант
Группа: Проверенные
Сообщений: 661
Награды: 25
Репутация: 23
Статус: Offline
Цитата dim21841 ()
Кстати а как насчёт вывода информации на OLED SSD1306? Думаю создать STRING переменные а за тем добавить пару строк код по сборке этих переменных на экране. Как думаете получится?
К сожалению вряд ли получится, это как я понял это графический дисплей, а Flprog пока поддерживает только символьные, притом только на чипе HD44780 (и его клонах).
 
DWD Дата: Суббота, 05.12.2015, 13:09 | Сообщение # 8
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
Цитата Слимпер ()
Почитайте здесь: LCD HD44780 Вывод символов

Спасибо, но я мало что понял. :)
Суть понятна, а вот реализация нет.
Объясните, пожалуйста, как в примере по Вашей ссылке сформирована надпись "Влажность", имеющая код "В\273а\266\275ос\277\304" ?


 
Слимпер Дата: Суббота, 05.12.2015, 14:14 | Сообщение # 9
Генерал-лейтенант
Группа: Проверенные
Сообщений: 661
Награды: 25
Репутация: 23
Статус: Offline
Цитата DWD ()
Объясните, пожалуйста, как в примере по Вашей ссылке сформирована надпись "Влажность", имеющая код "В\273а\266\275ос\277\304" ?
Принцип такой, надо найти в документации на ваш экран, таблицу символов.
Вот таблица экрана который я использовал.

Все символы которые там есть можно вывести, используя их уникальный (для этого дисплея) код.
Код формируется так:
В верхней строке таблице в двоичной форме указаны коды столбцов. Здесь вместо 0 и 1 использованы буквы L и H, то есть запись LLLL = 0000, а HHHH=1111.
Аналогичным образом в левом столбце задаются коды строки.
Для получения кода символа из таблице необходимо записать вместе код столбца и строки.
Для примера бреем букву "л:
Код столбца "HLHH"=1011
Код строки  " HLHH"=1011
Записываем в одну строку получаем:
Код буквы "л" в двоичной форме = 10111011
Конвертируем в восьмеричное представление:
Либо в уме (для тех кто хорошо знает эту тему), либо с помощью программ (их множество), самое простое Windows калькулятор, правда его надо перевести в режим Программист (в семерки вкладка вид).

В открывшемся калькуляторе переходим в двоичную систему счисления (пнопка Bin)
Вводим код символа

Переводим число в восьмеричную систему счисления, (нажав Oct)


Вот и получили код буквы "л" из слова влажность, а записывается он вместе с символом "\", "\273"
Остальные русские буквы аналогично,  а те что по написанию совпадают с латинскими берутся из латинского алфавита, в слове влажность это буквы (В , а , о , с)

Когда я делал свой проект для простоты использования составил себе табличку русского алфавита:
Коды символов (5376087.docx)
Прикрепления: 8145440.png(58Kb) · 0378004.png(40Kb) · 0756251.png(43Kb) · 5376087.docx(18Kb)


Сообщение отредактировал Слимпер - Суббота, 05.12.2015, 14:17
 
DWD Дата: Суббота, 05.12.2015, 17:20 | Сообщение # 10
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
Понял, на чём прокололся - я решил, что пример в шестнадцатиричном коде.
Хорошо знаком с двоичным и  шестнадцатиричным, а восмеричным никогда не пользовался.
В примере по ссылке это бы нужно указать...

Для полного анализа, приведите, пожалуйста, пример кода того же слова, но в  шестнадцатиричной системе счисления. 

И ещё. Возможны ли такие функции дисплея, как курсор, мигание и т.д.?


 
dim21841 Дата: Суббота, 05.12.2015, 18:34 | Сообщение # 11
Сержант
Группа: Проверенные
Сообщений: 38
Награды: 0
Репутация: 0
Статус: Offline
Цитата Слимпер ()
К сожалению вряд ли получится, это как я понял это графический дисплей, а Flprog пока поддерживает только символьные, притом только на чипе HD44780 (и его клонах).
так я собираюсь конечные данные отправлять не на lcd 1602 а помещать их в переменные типа string, далее перед заливкой скетча в arduino ручками добавлю пару строк которые будут эти переменные размещать на экране.
дело в том что собрал и обкатал устройство на Mega 2560 + LCD 1602 а в конечном виде хочу запустить на PRO Mini + OLED SSD1306. как с этим экраном работать ручками знаю, уже получалось а вот попробовать совместить FLProg c "ручками" еще не пробовал )
 
Слимпер Дата: Суббота, 05.12.2015, 18:54 | Сообщение # 12
Генерал-лейтенант
Группа: Проверенные
Сообщений: 661
Награды: 25
Репутация: 23
Статус: Offline
Цитата dim21841 ()
так я собираюсь конечные данные отправлять не на lcd 1602 а помещать их в переменные типа string, далее перед заливкой скетча в arduino ручками добавлю пару строк которые будут эти переменные размещать на экране.дело в том что собрал и обкатал устройство на Mega 2560 + LCD 1602 а в конечном виде хочу запустить на PRO Mini + OLED SSD1306. как с этим экраном работать ручками знаю, уже получалось а вот попробовать совместить FLProg c "ручками" еще не пробовал )
Пробуйте, может и правда выйдет, с латинскими буквами и цифрами думаю все может получится, а вот с русскими и символами это мало вероятно. Так как в Arduino IDE Sting представлен символами ASCII (таблице кодировки символов ASCII). 
Хотя может я чего не знаю и в Flprog, другая таблица символов.
 
Слимпер Дата: Суббота, 05.12.2015, 19:35 | Сообщение # 13
Генерал-лейтенант
Группа: Проверенные
Сообщений: 661
Награды: 25
Репутация: 23
Статус: Offline
Цитата DWD ()
Для полного анализа, приведите, пожалуйста, пример кода того же слова, но в  шестнадцатиричной системе счисления.
 
Проверь не смогу свободного дисплея с русским сейчас нет, но должно быть что то вроде:
"Влажность", 
"\x42BB61B6BD6F63BFC4"
Приходится все буквы задавать кодами как уже писалось в статье
Цитата
Единственный нюанс в том, что после того, как компилятор в строке видит последовательность \x, он считывает за ним все символы, которые могут являться разрядами шестнадцатиричной системы даже если их больше двух.


Цитата DWD ()
И ещё. Возможны ли такие функции дисплея, как курсор, мигание и т.д.?


Ну напрямую функции задействовать нельзя, но сделать костыли можно 


Вот так делаю мигание курсора в нужной позиции (сверху пробел - закрашенный символ, снизу двоеточие -  закрашенный символ ) 


А так мигание двухзначного числа.
Вот бегущею строку делать не пробовал, но вроде на форуме где писали, что можно сделать использую массивы.
Прикрепления: 8444214.png(6Kb) · 8536343.png(8Kb)
 
DWD Дата: Суббота, 05.12.2015, 21:48 | Сообщение # 14
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
Спасибо, всё понятно. 

А вот танцы с бубном для спецфункций не радуют...


 
dim21841 Дата: Суббота, 05.12.2015, 22:13 | Сообщение # 15
Сержант
Группа: Проверенные
Сообщений: 38
Награды: 0
Репутация: 0
Статус: Offline
Цитата Слимпер ()
с латинскими буквами и цифрами думаю все может получится
так а мне и хватит. мне что латиница что кириллица, проблем нет. тем более что выводиться будут в основном цифры, спецсимволы и пиктограммы.
 
Форум » Основной » Спросить у знатоков » Char (создание, хранение и вывод Char)
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика