|
Функция вывода времени на жк. |
|
|
|
Apr 9 2006, 21:31
|
Местный
  
Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284

|
Цитата(vet @ Apr 9 2006, 22:25)  Да конечно. lcd_putsf('0'); - что должно быть аргументом? а что есть? Пожалуйста, не отвечайте вопросом на вопрос, у меня итак уже крыша едет от этого... И вот он - ПРАВИЛЬНЫЙ ОТВЕТ!!!! Цитата а так если define lcd_buffer_size 16 //тут указывается длина строки вашего жки char lcd_buf[lcd_buffer_size]; // обявляем массив (это строка вывода) sprintf(lcd_buf,"%02u:%02u:%02u", hour, min, sec); как вам уже советовали. далее собственно сам вывод-должно работать ЗЫ.а ассмблер освоить очень желательно,у avr он несложен Пиво в студию!!! З.ы. Помоему ассемблер для х86 гораздо проще (ИМХО), я его смутно помню правда.
|
|
|
|
|
Apr 9 2006, 21:48
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(ps1x @ Apr 10 2006, 00:31)  И вот он - ПРАВИЛЬНЫЙ ОТВЕТ!!!! Потрясающая способность начисто игнорировать ответы на заданные вопросы. "правильный ответ" до этого давали Вам уже минимум ДВАЖДЫ. Цитата Только вот куда указывает temp и есть-ли там куда он указывает свободное место для размещения получившейся строки.... По тексту это неинециализированный указатель при записи по которому чего-нибудь и порушите, или, как минимум, в пустоту запишите и потом из этой пустоты чего-нибудь прочитаете. Как минимум компилятор должен был выдать вполне определенные ругательства на этот счет. Не стоило их игнорировать. char temp[MAX_SIZE_OF_STRING+1]; Ну а вообще надо заставить себя книжку дочитать! Цитата Надо писать FAQ по этому вопросу - каждую неделю кто-то накалываться. char *temp - это просто указатель в никуда - ручка от чашки - а самой чашки нет. Надо писать: char temp[размер строки], а потом передавать в функцию указатель - т.е. адрес первого байта массива.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Apr 9 2006, 21:57
|
Местный
  
Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284

|
Да нет, не правы Вы, я пробовал эти варианты, в частности char lcd_buf[2]; и выводил в него каждое преобразование отдельно часов минут и секунд, но, увы, не сработало... Я не игнорирую никаких высказываний по теме, и вдумываюсь в каждый пост, все равно, проблема то в конечном счете моя
|
|
|
|
|
Apr 9 2006, 22:08
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(ps1x @ Apr 10 2006, 00:57)  Да нет, не правы Вы, я пробовал эти варианты, в частности char lcd_buf[2]; и выводил в него каждое преобразование отдельно часов минут и секунд, но, увы, не сработало... Я не игнорирую никаких высказываний по теме, и вдумываюсь в каждый пост, все равно, проблема то в конечном счете моя  Бездумные пробы :-( не увенчались успехом, поскольку: 1) фиг знает что Вы делали за "преобразования"; 2) буфер должен быть на _ТРИ_ байта. Потом раз не "помогло" - НИКОГДА не будем писать какое-то непонятное число в квадратных скобочках. Железная логика :-(
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Apr 9 2006, 22:22
|
Местный
  
Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284

|
Цитата(zltigo @ Apr 10 2006, 02:08)  Цитата(ps1x @ Apr 10 2006, 00:57)  Да нет, не правы Вы, я пробовал эти варианты, в частности char lcd_buf[2]; и выводил в него каждое преобразование отдельно часов минут и секунд, но, увы, не сработало... Я не игнорирую никаких высказываний по теме, и вдумываюсь в каждый пост, все равно, проблема то в конечном счете моя  Бездумные пробы :-( не увенчались успехом, поскольку: 1) фиг знает что Вы делали за "преобразования"; 2) буфер должен быть на _ТРИ_ байта. Потом раз не "помогло" - НИКОГДА не будем писать какое-то непонятное число в квадратных скобочках. Железная логика :-( Почему непонятное, очень даже понятное char lcd_buf[2]; - фактически, это массив из char'ов размерностью 2, а 3 их там надо, поскольку строка в С всегда должна завершаться \0. )) Преобразование itoa(); преобразует int в *сhar.
|
|
|
|
|
Apr 9 2006, 22:25
|
Знающий
   
Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32

|
Цитата(ps1x @ Apr 10 2006, 01:31)  Цитата(vet @ Apr 9 2006, 22:25)  Да конечно. lcd_putsf('0'); - что должно быть аргументом? а что есть?
Пожалуйста, не отвечайте вопросом на вопрос, у меня итак уже крыша едет от этого... Поясняю. lcd_putsf принимает аргументом строку. Вы передавали в неё символ. Всё.
--------------------
Главная линия этого опуса ясна мне насквозь!
|
|
|
|
|
Apr 9 2006, 22:26
|
Местный
  
Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284

|
Цитата(vet @ Apr 10 2006, 02:25)  Цитата(ps1x @ Apr 10 2006, 01:31)  Цитата(vet @ Apr 9 2006, 22:25)  Да конечно. lcd_putsf('0'); - что должно быть аргументом? а что есть?
Пожалуйста, не отвечайте вопросом на вопрос, у меня итак уже крыша едет от этого... Поясняю. lcd_putsf принимает аргументом строку. Вы передавали в неё символ. Всё. Как я уже говорил выше, я пробовал и такой вариант: lcd_putsf("0");
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|