letters это двумерный массив, содержащий массивы, изображающие русский алфавит. msg_out это двумерный массив, который должен наполняться символами, подлежащими выводу на лед матрицу. Там суть во в чем. В будущем хочу получать строку по юарт. Затем эту строку преобразовать в коды аски и соотнеся эти коды с массивами, изображающими символ на лед матрице 8*8, формировать строку для вывода на эту самую матрицу. Короче, получил букву "п", преобразовал в код аски, записал в msg_out массив, который эту букву отображает, вывел этот массив на лед матрицу.
Комментарии: 27
Serge
Такой вопрос: а нельзя ли отправлять по уарту то, что должно быть после преобразования? Я стараюсь по максимуму отдать на "толстую" сторону канала связи. Ещё есть способ экономии памяти: работаем не с буквами, а с глифами, их составляющими.
Vga
Я напротив, предпочитаю отправлять по медленному каналу минимум. С генерацией битовой картинки из массива текста справлялись компьютеры, значительно более медленные чем нынешние мк, причем по 50-60 раз в секунду
Serge
Согласен, но вот такая вкусовщина и привычка после нагруженного почти до упора МК и слов заказчика "а давайте добавим...")
Vga
Вообще, не стоит отдавать этот вопрос на откуп привычке. Стоит решить в каждом конкретном случае как будет оптимальнее
Serge
Я как-то размышлял о переиспользовании кода. Получается, что эмбеддеры любят писать велосипеды, но потом их хранят в виде сниппетов и активно переиспользуют.
Jirafivanich
Memcpy(res, letters[(c-192)*8-1], 8) И letters сделать одномерным Хотя, по идее, и двумерный массив memcpy сожрать должен
Serge
Он в памяти и так одномерный, ты просто адресацию немного поправил)
Jirafivanich
А, ну... Ок
Serge
Вот хорошие шпоры по сквозной индексации: https://stackoverflow.com/questions/789913/array-offset-calculations-in-multi-dimensional-array-column-vs-row-major https://en.m.wikipedia.org/wiki/Row-_and_column-major_order В порядке бреда: насколько часто может моргать (изменять интенсивность свечения не менее, чем на 50% от максимума)? Пытаюсь прикинуть возможную пропускную способность самопального светового телеграфа.
Saw
кто будет моргать?
Serge
Диод. Хочу попробовать lwip к гелиографу прикрутить)
Saw
светодиодные модули же на 1 Гбит пашут… правда по оптоволокну.
Serge
А из недорогого что есть шустрого, чтоб купить для проверки идеи? Даже 115200 бод за глаза, тащемта.
Saw
а среда передачи какая? оптический кабель, воздух…
Serge
Воздух, ненаправленное некогерентное излучение видимого спектра Аналог access point хочу попробовать изобразить
Saw
в детстве делал из журнала такую фигню, на 200м звук микрофона вечером норм передавало. Но на 115к…. сомневаюсь. Но это 3-4 кГц было.
Vga
На 115200 можно любым диодом моргать. Специальные нужны на сотнях гигабит Ну и на гигабите вероятно тоже, но в целом моргать обычный диодик может весьма шустро
Anonim
Щас, чтоб поморгать, пиплам надо уже 2 ядра…
Anonim
параллельно светодиодику поставить резистор .. сопротивление подобрать .. по наилучшим фронтам модуляции
Stanislav
В конце 90-х делали связь на лазерных указках на ком-порту. Потом это вылилось в 10МБит (ronja laser link, если не перепутал).