Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: GreeN - 18 Mayıs 2011, 16:39:20

Başlık: AVR için S65 LCD (IAR C) driver >>>>to>>>> PIC CCS C
Gönderen: GreeN - 18 Mayıs 2011, 16:39:20
Arkadaşlar siemens s65 TFT ekran için datasheet vs. aradım ama sadece AVR ile yapılmış bir iki örnek bulabildim.
Örneklerden bir tanesini incelediğimde karşıma çıkan bir iki kod nedir anlayamadım. AVR ve IAR'da hiç çalışmadım.
Acaba aşağıdaki satırlarda ve yapılmak istenmiş. Zamanlamaları çıkarıp CCS C için bir dosya hazırlayacağım. Teşekkürler.

PORTB&=~(1<<RS); //rs rb3 pini olarak tanımlanmış. bu acaba rb3 'ü 0'mı yapıyor.
PORTB|=(1<<RS); // buda o zaman "lojik 1" yapar. Yada tam tersimi?
SPDR = data; //spi'den data göndermek olsa gerek.
DDRB=0xFF;  // PortB çıkış  TRISB gibimi?
SPCR=(1<<MSTR)|(1<<SPE); // SPI ayarları sanırım MSTR master , 1<<SPE bunu anlayamadım.
SPSR=1; //bunuda anlayamadım

__flash char text0[]= "         DENEME          "; //olayı anladım ama baştaki flash nedir?
Başlık: Ynt: AVR için S65 LCD (IAR C) driver >>>>to>>>> PIC CCS C
Gönderen: Burak B - 18 Mayıs 2011, 19:58:44
http://www.superkranz.de/christian/S65_Display/DisplaySoftware.html (http://www.superkranz.de/christian/S65_Display/DisplaySoftware.html)
http://www.juras-projects.org/eng/lcd.php (http://www.juras-projects.org/eng/lcd.php)

Başlık: Ynt: AVR için S65 LCD (IAR C) driver >>>>to>>>> PIC CCS C
Gönderen: GreeN - 19 Mayıs 2011, 13:21:06
Cevap için teşekkürler bu siteleri inceledim. ama kod satırında yazan kodların açıklamasını istedim sadece.
Neyse deneme yanılma yoluyla bulacaz artık.
Başlık: Ynt: AVR için S65 LCD (IAR C) driver >>>>to>>>> PIC CCS C
Gönderen: JKramer - 19 Mayıs 2011, 14:43:24
http://www.cprogramming.com/tutorial/bitwise_operators.html

Alttaki register'ların ne olduğunu bulmak için ilgili mikrodenetleyicinin kataloğuna bakmak gerekiyor.

Ekleme:
Alıntı YapFlash Variables

The C language was not designed for Harvard architecture processors with separate memory spaces. This means that there are various non-standard ways to define a variable whose data resides in the Program Memory (Flash).

IAR uses a non-standard keyword to declare a variable in Program Memory:
__flash int mydata[] = ....

http://www.nongnu.org/avr-libc/user-manual/porting.html
Başlık: Ynt: AVR için S65 LCD (IAR C) driver >>>>to>>>> PIC CCS C
Gönderen: GreeN - 19 Mayıs 2011, 15:47:53
Çoğunu çözdük , kalanını salladım , şimdi sıra denemede.

PORTB&=~(1<<RS); >>> output_low(rs);
PORTB|=(1<<RS); >>> output_high(rs);
__flash char text0[]= "         DENEME          "; >>> Buda anladığım kadarıyla text0 dizinini ram değilde flash'a program memory'ye atıyormuş.
SPDR = data; //spi'den data göndermek .
DDRB=0xFF;  // PortB çıkış  ayarlamak
SPSR=1; //spi enable


????
SPCR=(1<<MSTR)|(1<<SPE); // SPI ayarları sanırım MSTR master , 1<<SPE bunu anlayamadım.