Hallo, ich nütze den code: http://fandigunawan.wordpress.com/2008/06/18/lcd-nokia-3310-pcd8544-driver-in-winavravr-gcc/ will auch SD(nur lesen :D) und nehme http://www.ulrichradig.de/home/index.php/avr/mmc-sd diesen code jetzt braucht das LCD SPI Hardware doch man kann bei der SD wählen zwischen H/S. Aber ich blick es nicht. Ich lerene mehr über Beispiele als aufgaben :D Kann mir das jemand verbinnden(LCD source und SD) und pin sagen? Denn igenwie verzweifle ich, LCD geht und SD nicht. MfG Alex
> Ich lerene mehr über Beispiele > als aufgaben :D Das ist eine schöne Ausrede, die offensichtlich nicht stimmt. Du lernst nämlich bei Beispielen im Grunde genau 0. Du tippst einfach ab und wenns läuft freust du dich. Beim geringsten Problem jedoch stehst du da wie der Ochs vorm Tor. Warum? Weil du dich nie mit den Grundlagen beschäftigt hast, sondern immer nur Code geklaut hast. D.h. heutzutage tippt man auch nicht mehr ab, man kopiert den Code einfach unbesehen in sein Projekt hinein. Das Prinzip ist aber dasselbe: Gelernt wird nicht mehr, solange es einen gibt, der einem alles so aufbereitet dass man selber keinen Handschlag mehr tun muss, bzw. wenigstens ein bischen nachdenken oder Eigenrecherche leisten muss. Und dann kommts soweit, dass einem 8 #define in einem Header File zur Einstellung der Konfiguration schon unlösbare Probleme bereiten. Selbst dann, wenn daneben eigentlich recht eindeutige Kommentare stehen (mmc.h)
Ok, so jetzt hab ich die datein zusammengeführt on compelirt(49% voll). Nun hab ich es so gemacht: mmc.h
1 | /*#######################################################################################
|
2 | Connect ARM to MMC/SD
|
3 | |
4 | Copyright (C) 2004 Ulrich Radig
|
5 | #######################################################################################*/
|
6 | |
7 | #ifndef _MMC_H_
|
8 | #define _MMC_H_
|
9 | |
10 | #include <avr/io.h> |
11 | |
12 | #define SPI_Mode 0 //1 = Hardware SPI | 0 = Software SPI
|
13 | //#define SPI_Mode 1
|
14 | |
15 | #define MMC_Write PORTD //Port an der die MMC/SD-Karte angeschlossen ist also des SPI
|
16 | #define MMC_Read PINB
|
17 | #define MMC_Direction_REG DDRB
|
18 | |
19 | |
20 | #define SPI_DI 3 //Port Pin an dem Data Output der MMC/SD-Karte angeschlossen ist
|
21 | #define SPI_DO 2 //Port Pin an dem Data Input der MMC/SD-Karte angeschlossen ist
|
22 | #define SPI_Clock 1 //Port Pin an dem die Clock der MMC/SD-Karte angeschlossen ist (clk)
|
23 | #define MMC_Chip_Select 4 //Port Pin an dem Chip Select der MMC/SD-Karte angeschlossen ist
|
24 | #define SPI_SS
|
also bei den port D 1 bis 4 anschließen? Hoffe auf rat befor ich so löte...
Ich hab zwar den Code nicht darauf kontrolliert, ich denke aber nicht, dass die Lib so geschrieben ist, dass
1 | #define MMC_Write PORTD //Port an der die MMC/SD-Karte angeschlossen ist also des SPI
|
2 | #define MMC_Read PINB
|
3 | #define MMC_Direction_REG DDRB
|
du die Pins auf mehr als 1 Port verteilen kannst. Also ich würd das nicht tun. Die beiden #define wird es wohl nur deswegen geben, weil es keine simple und portable Möglichkeit gibt, wie man aus einem PORTx den zugehörigen PINx bzw. DDRx ableiten kann. Daher ist es das einfachste, das dem Konfigurierer zu überlassen. Diese Erfahrung hat wohl jeder gemacht, der sein viertes Lernprogramm, die mit einem Taster einschaltbare LED, so umgearbeitet hat, dass man die Pin Positionen von Taster und LED möglichst einfach auf jeden beliebigen Pin am µC verlegen kann.
Hast du das nicht gelesen?
1 | #define SPI_DI 3 //Port Pin an dem Data Output der MMC/SD-Karte angeschlossen ist
|
2 | #define SPI_DO 2 //Port Pin an dem Data Input der MMC/SD-Karte angeschlossen ist
|
3 | #define SPI_Clock 1 //Port Pin an dem die Clock der MMC/SD-Karte angeschlossen ist (clk)
|
4 | #define MMC_Chip_Select 4 //Port Pin an dem Chip Select der MMC/SD-Karte angeschlossen ist
|
5 | #define SPI_SS
|
Also stimmt das jetzt so? Ich hab die Pins angepasst
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.