[an error occurred while processing this directive]
Ага ... поторопился :( ... ... видимо с меня причитается :-) ... ... но !
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Ivax 22 июня 2006 г. 21:33
В ответ на: Речи как раз и идет о том, что данные пойдут по одному порту, а управление - по ДРУГОМУ, так что ставочка твоя - того :)) отправлено =AVR= 22 июня 2006 г. 18:22

Но там библиотека lcd.lib в исходнике и за 5 минут меняем немного кода в воде-выводе нибла ...

// -------------------------------------------------
// в программе обьявляем не одну, а две константы
#asm
.equ __lcd_port=0x15 ; порт управления
.equ __lcd_port_DATA=0x18 ; а это будет порт вывода данных
#endasm

// -------------------------------------------------
// а это файл lcd.lib
// в обьявлении добавляем

#asm
.equ __lcd_direction_DATA=__lcd_port_DATA-1
.equ __lcd_pin_DATA=__lcd_port_DATA-2
#endasm

// и в месте вывода нибла делаем махонькую поправочку в тексте
static void _lcd_write_nibble(void)
{
#asm
andi r26,0xf0
or r26,r27
out __lcd_port_DATA,r26 ;write - ВОТ ТУТ МЕНЯЕМ НЕМНОГО
sbi __lcd_port,__lcd_enable ;EN=1
#endasm
_lcd_delay();
#asm
cbi __lcd_port,__lcd_enable ;EN=0
#endasm
_lcd_delay();
}

И далее по тексту в нескольких местах, где прямой вывод в порт на запись или чтение - вносим поправку. И работать можно на два порта будет.

НО НЕНУЖНО. КАКОЙ СМЫСЛ ЭТОГО ИЗВРАТА?
Если уж и переписывать библиотеку - так на вывод через SPI в регистр посл-параллельный на LCD - и все ноги свободны!

А чтение готовности с LCD это вааще понты :-)

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru