Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

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

 
Опции темы
Непрочитано 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.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
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.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
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,539
Сказал спасибо: 172
Сказали Спасибо 1,561 раз(а) в 811 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Вывод на LCD

sprintf(lcd_buffer," %.2u-%.2u%.2u%.2u ",week,day,month,year);
realid вне форума  
Непрочитано 16.11.2010, 18:22  
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
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,539
Сказал спасибо: 172
Сказали Спасибо 1,561 раз(а) в 811 сообщении(ях)
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.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
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,539
Сказал спасибо: 172
Сказали Спасибо 1,561 раз(а) в 811 сообщении(ях)
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, время: 09:53.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot