реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Подскажите как вывести на дисплей масив байт
Vny4ek
сообщение Oct 7 2008, 13:47
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 145
Регистрация: 11-01-08
Пользователь №: 34 001



Здрастье, подскажите плиз новичку. Пишу в коде вижен
Атмега16
подключил lcd.h и хочу выводить на дисплей
byte Buf [63];
в виде 16 символов в шестнадцатиричной системе, не получается.

Сообщение отредактировал Vny4ek - Oct 7 2008, 13:50
Go to the top of the page
 
+Quote Post
Aesthete Animus
сообщение Oct 7 2008, 14:42
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 222
Регистрация: 9-06-07
Пользователь №: 28 317



Если нужно быстро и без раздумий - используя sprintf
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Oct 7 2008, 14:48
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(Vny4ek @ Oct 7 2008, 17:47) *
Здрастье, подскажите плиз новичку. Пишу в коде вижен
Атмега16
подключил lcd.h и хочу выводить на дисплей
byte Buf [63];
в виде 16 символов в шестнадцатиричной системе, не получается.


Что конкретно не получается: выводится мусор или вообще нет изображения?
У Вас инициализация дисплея проходит успешно?

Кроме того данные в Buf[63] у Вас наверное хранятся в двоичном коде,
а чтобы они корректно отображались на индикаторе их необходимо преобразовать в ASCII-коды.
Причём на 1 байт уйдёт 2 знакоместа индикатора.
Попробуйте для начала выводить не 1, 2, 3...E, F а '1', '2', '3' ... 'E', 'F' (т.е. не сами числа а их ASCII-коды)

P.S. Здесь на форуме много рабочих библиотек для работы с lcd.
Go to the top of the page
 
+Quote Post
Vny4ek
сообщение Oct 8 2008, 05:20
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 145
Регистрация: 11-01-08
Пользователь №: 34 001



sprintf не проходит.
не получается всмысле ошибки при компилировании.
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Oct 8 2008, 05:43
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Цитата(Vny4ek @ Oct 7 2008, 17:47) *
Здрастье, подскажите плиз новичку. Пишу в коде вижен
Атмега16
подключил lcd.h и хочу выводить на дисплей
byte Buf [63];
в виде 16 символов в шестнадцатиричной системе, не получается.


1. На базе какого контроллера LCD (тип его)?
2. Исходник кода в студию.
3. Что с регулировкой контрастности.
4. Начните с вывода "Hello world!"
Go to the top of the page
 
+Quote Post
Vny4ek
сообщение Oct 8 2008, 05:52
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 145
Регистрация: 11-01-08
Пользователь №: 34 001



1 дисплей 16х2 HD4478 помоему такой там контроллер. Выводить пытаюсь в протеусе. Hello World выводится без проблем. А вот как байтовые переменные или инт вывести не пойму. С контрастностью все ОК.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 8 2008, 06:04
Сообщение #7


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Ну так посмотрите повнимательнее. Темы такие возникают и разжёвываются практически каждый месяц.
гляньте тут


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Oct 8 2008, 06:19
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Цитата(Vny4ek @ Oct 8 2008, 09:52) *
1 дисплей 16х2 HD4478 помоему такой там контроллер. Выводить пытаюсь в протеусе. Hello World выводится без проблем. А вот как байтовые переменные или инт вывести не пойму. С контрастностью все ОК.

Так их сначала нужно преобразовать в форму представления ASCII
Например для представления десятичного числа 123 требуется вывести на дисплей 3 байта 0x31 0x32, 0x33. Это несложно сделать даже не используя sprintf.
Может а Вас в этом проблема.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 10:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01411 секунд с 7
ELECTRONIX ©2004-2016