Вывод собственного символа на LCD

Обсуждаем контроллеры компании Atmel.
Ответить
Мучитель микросхем
Аватара пользователя
Сообщения: 414
Зарегистрирован: Ср янв 26, 2011 13:43:30
Откуда: С того берега моря

Сообщение Jman »

Добрый день! Пытаюсь вывести собственный символ на LCD в Atmel Studio. Как это сделать? Что нужно написать в main?
Библиотеку использую отсюда - http://radioparty.ru/prog-avr/program-c ... on-lib-lcd
Массив для символа колокольчика:

Код: Выделить всё

// Bell symbol;
byte bellChar[8] = { 
    0b10000000,
    0b10000100,
    0b10001110,
    0b10001110,
    0b10001110,
    0b10011111,
    0b10100100,
    0b11000000};

Функция из библиотеки LCD:

Код: Выделить всё

// Make your symbol;
void lcd_definechar(const uint8_t *pc,uint8_t char_code)
{
    uint8_t a, pcc;
    uint16_t i;
    a=(char_code<<3)|0x40;
    for (i=0; i<8; i++)
    {
        pcc=pgm_read_byte(&pc[i]);
        lcd_com(a++);
        lcd_dat(pcc);
    }
}
[color=#4080FF]- Бежит этот подлец-электрон, а вокруг его масса (аж 10 в 23й) штук ионов кремния и 10 в 15й ионов примеси и он, подлец, взаимодействует![/color]
Контактная информация:
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

Вы наверное имеете ввиду LCD с контроллером типа hd44780? Я не работал с чужой библиотекой, делал свою. Если что, могу пояснить как устанавливается свой символ.

По библиотеке, могу предположить что Вам надо сделать так (судя по названию функции):

Код: Выделить всё

lcd_definechar (bellChar,0x00)
Ваш колокольчик будет иметь код 0x00. Можно сделать 8 своих символов с кодами от 0x00 до 0x07.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Ответить

Вернуться в «AVR»