Easyelectronics.ru

Электроника для всех
Текущее время: 29 окт 2020, 21:39

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Проблемы с выводом на LCD
СообщениеДобавлено: 14 авг 2012, 22:52 
Заглядывает иногда

Зарегистрирован: 29 ноя 2010, 23:50
Сообщения: 140
Откуда: Калуга
Всем привет.
Сижу, развлекаю себя, пытаюсь вывести на дисплейчик значение, снятое с АЦП.
Show Конфигурация АЦП

Проще некуда. Ацп подключен и спокойно выводит в себя строки. Всего 3 функции:
Show Работа с LCD

Считываю число u8 k = ADC_GetConversionValue(ADC1); использую идиотическую функцию, разбивающую число на разряды
Show позор мля!!

и вывожу
Код:
LCD_ClrScr();
                 for(i=0; i<=5; i++)
                 {
                    LCD_Send(LCDBuff[i]+0x30);
                 }

Получаю на выходе что-то в духе 00L2d4. Понимаю, что лажа именно в преобразовании числа для вывода. Встает вопрос: как правильно преобразовывать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с выводом на LCD
СообщениеДобавлено: 15 авг 2012, 00:42 
Только пришел

Зарегистрирован: 26 дек 2010, 01:06
Сообщения: 21
Может функция поможет:
Код:
void itoa( char * qbuf, int n )
{
register int r, k;
int flag = 0;
int next = 0;
   for(r = 0; r < 6; r++) qbuf[r] = ' ';
   if (n < 0) {
      qbuf[next++] = '-';
      n = -n;
   }
   if (n == 0) {
        qbuf[next++] = '0';
   } else {
        k = 10000;
        while (k > 0) {
             r = n / k;
             if (flag || r > 0) {
                qbuf[next++] = '0' + r;
                flag = 1;
             }
             n -= r * k;
             k = k / 10;
         }
   }
   qbuf[next] = 0;
}

Вход int n; результат стринг в буффер char * qbuf. Досканально не тестил, но пока глюков не заметил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с выводом на LCD
СообщениеДобавлено: 15 авг 2012, 12:00 
Заглядывает иногда

Зарегистрирован: 29 ноя 2010, 23:50
Сообщения: 140
Откуда: Калуга
код работает. если верить отладчику) а на дисплей вываливается что-то в духе "baei0P" :) но в отладчике все четко и возвращает именно ascii символ каждого разряда. Странно оО. Может у меня функции вывода кривые?

UPD. Я клоун. Дважны 0х30 прибавлял. Все заработало с некоторой доработкой. пасибо


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB