Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Вывод на LCD

Непрочитано 16.11.2010, 17:03  
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
Сообщение Вывод на LCD

Сделал часы (DS1307+LCD+mega32). Все мне нравиться, но есть одно но:
у меня время выводиться следующим образом: например 12:5:31, нужно 12:05:31, то есть, если цифра меньше 10, надо спереди дописать 0, то есть чтобы было 05.
Компилятор Code Vision avr
Для вывода на LCD использую следующый код:

Код:
rtc_get_time(&hour,&min,&sek);	  //считать время
   rtc_get_date(&day,&month,&year);  //считать дату
   sprintf(lcd_buffer_0,"Time: %u.%u.%u", hour, min, sek);
   sprintf(lcd_buffer_1,"Date: %u.%u.%u", day, month, year);

   PORTC.3 = 0;            // LED on 2  во время «холостой» работы
   delay_ms(500);
   PORTC.3 = 1;            // LED off 2

   lcd_clear();
   lcd_puts(lcd_buffer_0);        //выводим масив на LCD
   lcd_gotoxy(0,1);
   lcd_puts(lcd_buffer_1);        //выводим масив на LCD
   delay_ms(500);
Что нужно написать вместо %u.%u.%u
Реклама:
sergx1300 вне форума  
Непрочитано 16.11.2010, 17:17  
OlegNZH
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Вывод на LCD

sprintf количество знаков имеет,параметр .
sprintf(lcd_buffer," %02u-%02u.%02u.%02u ",week,day,month,year);
upd . 0n - at least n characters are outputted. If the result has less than n characters, it is padded on the left with zeros.
а вообще - Help в CV глянуть.

Последний раз редактировалось OlegNZH; 16.11.2010 в 17:50.
OlegNZH вне форума  
Непрочитано 16.11.2010, 18:10  
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
По умолчанию Re: Вывод на LCD

Не работает. пишет u.u.u
sergx1300 вне форума  
Непрочитано 16.11.2010, 18:13  
OlegNZH
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Вывод на LCD

Извините , не может Такого ... я выдернул из Своей Рабочей программы строку ..(week -день недели- добавил в lib)
PS . даже навскидку ...у меня 4 u , у Вас 3 ... Не то , что-то ...неувязочка..

Последний раз редактировалось OlegNZH; 16.11.2010 в 18:18.
OlegNZH вне форума  
Непрочитано 16.11.2010, 18:17  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,578
Сказал спасибо: 175
Сказали Спасибо 1,567 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Вывод на LCD

sprintf(lcd_buffer," %.2u-%.2u%.2u%.2u ",week,day,month,year);
realid вне форума  
Непрочитано 16.11.2010, 18:22  
OlegNZH
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Вывод на LCD

так у Вас 3 переменные , или четыре? (%.2u- уберите - это день недели с дефисом...)
не понял юмора ...а чего там точки стоят? (sprintf(lcd_buffer," %.2u-%.2u%.2u%.2u ",week,day,month,year); ) сравните с оригиналом! %02u

Последний раз редактировалось OlegNZH; 16.11.2010 в 18:29.
OlegNZH вне форума  
Непрочитано 16.11.2010, 18:26  
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
По умолчанию Re: Вывод на LCD

Не хочет, может что то в настройках компилятора?
sergx1300 вне форума  
Непрочитано 16.11.2010, 18:34  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,578
Сказал спасибо: 175
Сказали Спасибо 1,567 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Вывод на LCD

Сообщение от OlegNZH Посмотреть сообщение
так у Вас 3 переменные , или четыре? (%.2u- уберите - это день недели с дефисом...)
не понял юмора ...а чего там точки стоят? (sprintf(lcd_buffer," %.2u-%.2u%.2u%.2u ",week,day,month,year); ) сравните с оригиналом! %02u
.2 указывает минимальное кол-во символов которое будет выведено при обработке типа u, т.е. 5 будет выведено, как 05.

Вы не видите там 4 переменные week,day,month,year.

Последний раз редактировалось realid; 16.11.2010 в 18:37.
realid вне форума  
Непрочитано 16.11.2010, 18:37  
OlegNZH
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Вывод на LCD

%02u- Количество знаков ...Плюс- Лидирующие нули. Плюс дефис (или запятую ,как угодно)


0n - at least n characters are outputted. If the result has less than n characters, it is padded on the left with zeros.
OlegNZH вне форума  
Непрочитано 16.11.2010, 18:42  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,578
Сказал спасибо: 175
Сказали Спасибо 1,567 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Вывод на LCD

Сообщение от OlegNZH Посмотреть сообщение
0n - at least n characters are outputted. If the result has less than n characters, it is padded on the left with zeros.
ограничение в 10 сиволов
Цитата:
The field width can be followed with dot (.) and a decimal integer representing the precision that specifies one of the following:
- minimum number of digits to generate on an integer conversion
realid вне форума  
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VIEWT LCD кто пользовал? rubel Микроконтроллеры, АЦП, память и т.д 7 14.11.2010 20:44
LCD WH1602J-YGH-CTK и AtMega8 AsmMaster Микроконтроллеры, АЦП, память и т.д 4 24.09.2010 18:23
[Решено] Помогите определить семисегментник opylk Информация по радиокомпонентам 3 18.03.2010 19:38
Радиокалькулятор ColorAndCode 9.3 optima22 Информация по радиокомпонентам 0 10.11.2009 11:01
Подключение LCD дисплея utyfwdfkb Информация по радиокомпонентам 8 31.10.2009 01:34


Часовой пояс GMT +4, время: 01:59.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.