MK и LCD

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
              Привет, All !

Пpоблемка возникла. Подключал гpафический ЖКИ на шинy к ATS8252. В Кейле
обpащение к ЖКИ делал чеpез пеpеменные:
unsigned char xdata comandbuf _at_ 0x8000;
unsigned char xdata databuf _at_ 0x8001;
соответственно в пpогpамме вывод на экpан и чтение состояния пpоисходило
пpостым чтением и записью пеpеменных comandbuf и databuf.

Тепеpь пеpебиpаюсь на платфоpмy AVR (ATMEGA128), ЖКИ подключил также на шинy.
В IAR не могy pазобpатся, что-бы было также по аналогии, не знаю аналога xdata
в кейле.

 C уважением, Андрюха _gsm:8(029)7519249_ ICQ: 280907035

В FAQ давно пора! (was: MK и LCD)
28-Nov-03 20:21 Andrew Zhukowski wrote to All:

AZ> Пpоблемка возникла. Подключал гpафический ЖКИ на шинy к ATS8252. В Кейле
AZ> обpащение к ЖКИ делал чеpез пеpеменные:
AZ> unsigned char xdata comandbuf _at_ 0x8000;
AZ> unsigned char xdata databuf _at_ 0x8001;
AZ> соответственно в пpогpамме вывод на экpан и чтение состояния пpоисходило
AZ> пpостым чтением и записью пеpеменных comandbuf и databuf.

AZ> Тепеpь пеpебиpаюсь на платфоpмy AVR (ATMEGA128), ЖКИ подключил также на
AZ> шинy.
AZ> В IAR не могy pазобpатся, что-бы было также по аналогии, не знаю аналога
AZ> xdata в кейле.
У AVR нет data/idata/xdata.
Всё что есть - в одном адресном пространстве, как вылезешь за адреса
internal -- пойдут обращения к external.

Но у меня бы это и для 89s8252 выглядело бы как

#define LCD_BASE ((volatile unsigned char xdata *)0x8000)
#define LCD_COMMAND LCD_BASE[0]
#define LCD_DATA    LCD_BASE[1]

Без этого xdata оно заработает с AVR (и такое прекрасно работало
на ДВК-шках и прочих клонах PDP-11/LSI-11).
Пардон, не заработа_ет_, а заработа_ло_, и при переносе с IAR
на GCC я эти хидеры просто не трогал вообще.

Что интересно - абсолютно стандартно, жрётся одинаково любым
C-компилятором. В свете чего я этих танцев вокруг

_at 0x8000 unsigned char foo;
unsigned char foo @ 0x8000;
unsigned char foo _at_ 0x8000;

у каждого компилятора по-своему ну никак понять не могу.

wbr,
--
/* Oleksandr Redchuk, Brovary, Ukraine */
/* real '\x40' real '\x2E' kiev '\x2E' ua     */


Re: В FAQ давно пора! (was: MK и LCD)
Hello Oleksandr.

29 Nov 03 01:04, you wrote to Andrew Zhukowski:

 OR> Что интересно - абсолютно стандартно, жрётся одинаково любым
 OR> C-компилятором. В свете чего я этих танцев вокруг

 OR> _at 0x8000 unsigned char foo;
 OR> unsigned char foo @ 0x8000;
 OR> unsigned char foo _at_ 0x8000;

 OR> у каждого компилятора по-своему ну никак понять не могу.

Я тоже ;)

По поводу индикатора. Если это hd44780, то не факт, что он с АВР-ом
заработает. hd44780 требует удержание шины данных после снятия строба.
А АВР его не дает.

Alexey


Site Timeline