Forum: Compiler & IDEs 3310 & SD Software


von Halgn H. (Gast)


Lesenswert?

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

von Halgn H. (Gast)


Lesenswert?

kann keiner mir helfen? Schade...

von Karl H. (kbuchegg)


Lesenswert?

> 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)

von Halgn H. (Gast)


Lesenswert?

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...

von Karl H. (kbuchegg)


Lesenswert?

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.

von Halgn H. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.