Hallo alle zusammen, ich habe folgendes Phänomen und finde keine Erklärung dafür. An einem Atemga128L habe ich am Port F eine SD-Card angeschlossen, über 74HC4050 als Pegelwandler. Die SD-Card-Schaltung funktioniert aber nicht am Port F, ändere ich es auf einen anderen Port z.B. Port D klappt es. Ich habe AVCC mit VCC verbunden und AREF offen gelassen, liegt hier evtl. mein Problem. Arbeiten tue ich mit Bascom und wenn ich den Port F auf Augang schalte und die Pull-UP´s einschalte habe ich an allen Ausgängen 5V anliegen. Nutze ich den Port aber mit AVR-DOS und der MMC_CONFIG.BAS (Soft-SPI) habe ich keine Signale auf den Ausgängen nur F0 hat 5V. Ändere ich jetzt die MMC_CONFIG.BAS auf Port D um und verbinde meine SD-Card mit selbigem klappt es sofort. Kann es damit zu tun haben das der Port F die ADC`s darstellt? Die Fuses sind korrekt, JTAG disabled und 128 Modus aktiviert. Ich nutze 5 Volt als Spannungsversorgung und 8 MHz interne Frequenz für den MC sowie 3,3V für den 74HC4050 und SD-Card. Bin dankbar für jeden Tipp der es mir erklärt. Gruß Thomas H.
Auf PORTF ist das JTAG-Interface... (das ist standartmäßig an, genauso wie der "atmega103 compatibility-mode", dem bist du aber bestimmt schon 'begegnet'). hth. Jörg
@Jörg X. Wie ich ja schrieb ist JTAG disabled und der 128er Modus aktiviert ;) Darauf achte ich immer zuerst.
> Arbeiten tue ich mit Bascom und wenn ich den Port F auf Augang schalte > und > die Pull-UP´s einschalte habe ich an allen Ausgängen 5V anliegen. Nutze > ich den Port aber mit AVR-DOS und der MMC_CONFIG.BAS (Soft-SPI) habe ich > keine Signale auf den Ausgängen nur F0 hat 5V. Die internen PullUPs wirken sich nur auf die Pins aus, welche als Eingänge konfiguriert sind! Setze mal DDRF als Ausgang, und füttere PORTF mit 0xFF. Jetzt sollten an den Pins PF0 bis PF7 ca. 5V zu messen sein. Nun wiederholst du den Versuch, allerdings setzt du nun PORTF auf 0x00. Nun sollten an den Pins PF0 bis PF7 ca. 0V zu messen sein.
@ Magnus Müller Funktioniert wunderbar, nur wenn ich jetzt wieder die SD-Card über AVR-DOS anbinde klappt es nicht mehr. AVR-DOS schaltet pinweise und nicht den ganzen Port, kann es daran liegen?
Poste doch bitte mal deine auf PORTF umgeschriebene "MMC_CONFIG.BAS" als Anhang. Ich schätze mal, dass der Hund dort begraben liegt.
@ Magnus Müller Hier der Teil mit den Änderungen auf Port F ' Chip Select Pin => Pin 1 of MMC/SD Config Pinf.0 = Output Mmc_cs Alias Portf.0 Set Mmc_cs ' MOSI - Pin => Pin 2 of MMC/SD Config Pinf.1 = Output Set Pinf.1 Mmc_portmosi Alias Portf Bmmc_mosi Alias 1 ' MISO - Pin => Pin 7 of MMC/SD Config Pinf.3 = Input Mmc_portmiso Alias Pinf Bmmc_miso Alias 3 ' SCK - Pin => Pin 5 of MMC/SD Config Pinf.2 = Output Set Pinf.2 Mmc_portsck Alias Portf Bmmc_sck Alias 2
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.