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

 
 
> Согласование переменных разных типов
GoodNews
сообщение Feb 3 2010, 22:22
Сообщение #1


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

Группа: Участник
Сообщений: 88
Регистрация: 12-01-09
Из: Minsk (BY)
Пользователь №: 43 259



Если есть одна переменная у которой тип "char", вторая переменная типа "uint16_t" на которой реализован счётчик. Как их представить в переменной типа "char" для последующей записи в порт LCD?

МК - mega16
Компилятор - AVR-GCC
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Палыч
сообщение Feb 4 2010, 07:44
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(GoodNews @ Feb 4 2010, 01:22) *
Как их представить в переменной типа "char" для последующей записи в порт LCD?
Вам - что, нужно получить последовательность символов, соответствующих значению счетчика? Тогда - функция sprintf. Ну, и поместить эту последовательность в переменную массив char'ов... Как-то так:
Код
uint16_t Cnt;
char Array[10];
sprintf(Array, "%d", Cnt);
Go to the top of the page
 
+Quote Post
GoodNews
сообщение Feb 4 2010, 08:54
Сообщение #3


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

Группа: Участник
Сообщений: 88
Регистрация: 12-01-09
Из: Minsk (BY)
Пользователь №: 43 259



Цитата(Палыч @ Feb 4 2010, 09:44) *
Вам - что, нужно получить последовательность символов, соответствующих значению счетчика? Тогда - функция sprintf. Ну, и поместить эту последовательность в переменную массив char'ов... Как-то так:
Код
uint16_t Cnt;
char Array[10];
sprintf(Array, "%d", Cnt);

Я хотел взять некоторое значение, например 125,3876, добавить к нему текст (в а конкретно "MHz"), и всё это отправить в lcd_putdata() в соответствующую строку дисплея (запись в дисплей у меня реализована, выбор строк тоже). Вот функция записи в дисплей:
Код
void lcd_putchar(char data)
{    
        LCD_CTL |= LCD_RS; //Включаем режим обработки данных дисплеем (если бит инвертирован, то - обработка инструкций)
    LCD_PORT = data;
        lcd_strobe();
        LCD_CTL &= ~(LCD_RS|LCD_RW);
}
void lcd_putdata(uint8_t line, char* data)
{
    lcd_select_addr(line);
    while(*data)
    {
        lcd_busy();
        lcd_putchar(*data++);
    }
}
int main(void)
{
///
    lcd_init();
    lcd_putdata(1, "1234567890ABCDEF");
    lcd_putdata(2, "GHIJKLMNOPQRSTUV");
    lcd_putdata(3, "WXYZ!@#$%^&*()_+");
///
.....
}
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- GoodNews   Согласование переменных разных типов   Feb 3 2010, 22:22
- - volodya   Цитата(GoodNews @ Feb 4 2010, 00:22) Если...   Feb 4 2010, 06:36
|- - Палыч   Цитата(GoodNews @ Feb 4 2010, 11:54) Я хо...   Feb 4 2010, 09:05
|- - GoodNews   Цитата(Палыч @ Feb 4 2010, 11:05) Ну, так...   Feb 4 2010, 09:20
|- - Палыч   Цитата(GoodNews @ Feb 4 2010, 12:20) Тут ...   Feb 4 2010, 09:52
|- - rezident   Цитата(GoodNews @ Feb 4 2010, 14:20) Тут ...   Feb 4 2010, 13:18
|- - GoodNews   Цитата(rezident @ Feb 4 2010, 15:18) Да, ...   Feb 4 2010, 16:12
- - GoodNews   Решил попробовать использовать такой вариант кода ...   Feb 5 2010, 12:09
|- - Палыч   Цитата(GoodNews @ Feb 5 2010, 15:09) Поче...   Feb 5 2010, 13:31
|- - GoodNews   Цитата(Палыч @ Feb 5 2010, 15:27) Функция...   Feb 5 2010, 14:02
- - ukpyr   http://www.avrfreaks.net/index.php?name=PN...;high...   Feb 5 2010, 17:17
|- - GoodNews   Цитата(ukpyr @ Feb 5 2010, 19:17) http://...   Feb 5 2010, 17:48
- - ukpyr   ЦитатаПроблема в sprintf(Str, "%4.6fKHz...   Feb 5 2010, 19:06
|- - GoodNews   Цитата(ukpyr @ Feb 5 2010, 21:06) а что в...   Feb 5 2010, 19:35
- - GoodNews   На данный момент решён вопрос с отображение значен...   Feb 6 2010, 17:29
- - GoodNews   Вариант #2. В таком виде - работает. Если раскомме...   Feb 7 2010, 12:30
- - ReAl   Если уж использовать в WinAVR printf, то тогда так...   Feb 7 2010, 13:16
|- - GoodNews   Цитата(ReAl @ Feb 7 2010, 15:16) Если уж ...   Feb 7 2010, 15:49
|- - ReAl   Цитата(GoodNews @ Feb 7 2010, 17:49) Собс...   Feb 7 2010, 17:05
|- - GoodNews   Цитата(ReAl @ Feb 7 2010, 19:05) Да это я...   Feb 7 2010, 17:51
|- - ReAl   Цитата(GoodNews @ Feb 7 2010, 19:51) Ну т...   Feb 14 2010, 09:52
- - XVR   Пока видна 1 ошибка - sizeof(buf) в hzToStr и main...   Feb 8 2010, 11:01
|- - GoodNews   Цитата(XVR @ Feb 8 2010, 13:01) Пока видн...   Feb 8 2010, 16:37
- - GoodNews   2ReAl: понятно. т.е. размерность массива buf вычис...   Feb 21 2010, 18:56


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:02
Рейтинг@Mail.ru


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