DOGS102 und Atmega32

Gast #2823649
Lesenswert?
• ▲
▼
Hallo,

verwende den Beispielcode aus folgendem Link:
http://basteln-mit-avr.de/Download/atmega644_DOGS102.zip

Folgende Parameter habe ich schon angepaßt:

- Makefile
1
LCD = 0
2

3
# MCU name
4
MCU = atmega32
5

6

7
# Processor frequency.
8
#     This will define a symbol, F_CPU, in all source code files equal to the 
9
#     processor frequency. You can then use this symbol in your source code to 
10
#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11
#     automatically to create a 32-bit value in your source code.
12
#     Typical values are:
13
#         F_CPU =  1000000
14
#         F_CPU =  1843200
15
#         F_CPU =  2000000
16
#         F_CPU =  3686400
17
#         F_CPU =  2000000
18
#         F_CPU =  7372800
19
         F_CPU =  8000000

- spi.c
1
#include "tools.h"
2

3

4
//*----------------------------------------------------------------------------
5
// SPI-Bus initialisieren
6
//*----------------------------------------------------------------------------
7
#define LCD_A0      0     // PB0 (PIN1)  = Display A0      ->    PIN 38
8
#define LCD_RST     3     // PB1 (PIN2)  = Display Reset      ->    PIN 39 
9
#define LCD_CS      1     // PB4 (PIN5)  = Select          ->     PIN 40 
10
#define SPI_MOSI    5     // PB5 (PIN6)  = SPI MOSI        ->    PIN 36
11
#define SPI_MISO    6     // PB6 (PIN7)  = SPI MISO        ->     
12
#define SPI_SCK     7     // PB7 (PIN8)  = SPI SCK        ->    PIN 37
13

14
void SPI_PORT_Init(void) 
15
{
16
  // === PORT-B CONFIG ===
17

18
  DDRB  = (1 << LCD_RST) | (1 << LCD_A0) | (1 << SPI_MOSI) | (1 << SPI_SCK) | (1 << LCD_CS); 
19

20

21
  PORTB &=~(1<<SPI_MISO); 
22

23
  PORTB = (1<<SPI_MISO);

- dogm-graphic.h
1
//*----------------------------------------------------------------------------
2
// PORT - DEFINITIONEN
3
//*----------------------------------------------------------------------------
4
// == PORT C ==
5
#define LCD_A0      0    // PC1 (Pin 16) = Display A0      ->    PIN 38
6
#define LCD_RST     3     // PC2 (Pin 17) = Display Reset    ->    PIN 39 
7
#define LCD_CS      1     // PC4 (Pin 19) = Display Chip-Select ->     PIN 40 
8
#define SPI_MOSI    5     // PC5 (Pin 20) = SPI MOSI      ->    PIN 36
9
#define SPI_MISO    6     // PC6 (Pin 21) = SPI MISO      ->     leer
10
#define SPI_SCK     7     // PC7 (Pin 22) = SPI SCK        ->    PIN 37
11

12

13

14
//*----------------------------------------------------------------------------
15
#define MEM_FLASH     0
16
#define MEM_RAM       1
17
#define MEM_EEPROM    2
18
//*----------------------------------------------------------------------------
19

20

21

22

23

24
/*****************************************************************************
25
 * BEGIN CONFIG BLOCK
26
 *****************************************************************************/
27
//Select the display type: DOGS102: 102, DOGM128/DOGL128: 128, DOGM132: 132
28
#define DISPLAY_TYPE  102
29

30
//Should chip select (CS) be used?
31
#define LCD_USE_CHIPSELECT  1
32
//Use Backlight?  (0: no backlight, 1: backlight (on when pin is high), 2: backlight (on when pin is low))
33
#define LCD_USE_BACKLIGHT   0
34

35
#define PORT_A0  PORTB
36
#define DDR_A0   DDRB
37
#define PIN_A0   0
38

39
//Reset Port
40
#define PORT_RST PORTB
41
#define DDR_RST  DDRB
42
#define PIN_RST  3
43

44
//Backlight Port
45
#if LCD_USE_BACKLIGHT != 0
46
  #define PORT_LED PORB
47
  #define DDR_LED  DDRB
48
  #define PIN_LED  0
49
#endif
50

51
//Chip select
52
#if LCD_USE_CHIPSELECT == 1
53
  #define PORT_CS  PORTB
54
  #define DDR_CS   DDRB
55
   #define PIN_CS   1
56
#endif


Das DOGS102 ist wie folgt an dem Atmega angeschlossen:
Display:     Atmega32
SDA/SI ----->PB5 MOSI
SCK/SCL ---->PB7 SCK
CD/A0   ---->PB0
CSO/CS ----->PB1
Reset/RST -->PB3

Was könnte die Ursache sein, dass auf dem Display nichts angezeigt wird?

Gru0
Rik
Gast #2824114
Lesenswert?
• ▲
▼
Hallo G.G.,

hab genau diesen Beitrag vorhin gelesen....habs ergänzt und 
funktioniert.

Hast Du ein Beispiel, wie man mit Jan.M 's Library z.b einen Rahmen 
zeichnet oder einen Kreis...bzw. einzelne Pixel setzt oder löscht....

Gruß
#2824142
Lesenswert?
• ▲
▼
Hallo,



Rik schrieb:

> Hast Du ein Beispiel, wie man mit Jan.M 's Library z.b einen Rahmen
> zeichnet oder einen Kreis...bzw. einzelne Pixel setzt oder löscht....


leider nein.

http://www.basteln-mit-avr.de/atxmega128a3.html#dogm128_gr

Ich  versuche mal  eine Version von dieser Software für einen 
Atmega644/32

zu erstellen.Die hat alle Funktionen die du brauchst.


Melde mich nochmals

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.