Ich möchte gern den Hard SPI (Ansteuerung LCD Nokia 3310) in ein Soft spi umwandlen, damit ich den Port B frei habe für eine MMC Karte. So jetzt habe ich folgendes gemacht: $regfile = "m16def.dat" $crystal = 8000000 Config Portb = Output 'Nokia 3310 Config Porta = Output 'communication port to LCD Config Spi = Soft , Din = Pinb.6 , Dout = Portb.5 , Ss = None , Clock = Portb.7 'Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 ' Config Spi = Soft , Din = Pina.6 , Dout = Porta.5 , Ss = None , Clock = Porta.7 '************************** Global vars declarations **************************** Dim Txloc As Byte , Tyloc As Byte , Yy As Byte , Xx As Byte , Tout As Byte Dim Ee_data As Byte , Menu_ptr As Byte , Scr_string As String * 14 , X As Byte '*********************************** Aliases ************************************ Lcd_cmd Alias Porta.0 'Low for cmd mode Lcd_cs Alias Porta.2 Lcd_res Alias Porta.1 'Low for reset <Schnipp Ende> Wenn ich SPI -> Hard Einstelle, arbeitet das Nokia 3310 Wenn ich SPI Soft auf Port B lege ( Hardwaremässig gleiche PINS am µC ), arbeitet das Nokia 3310 Wenn ich SPI Soft auf Port A lege -> geht nichts! LCD_cmd,LCd_cs und LCD_res ist entweder Port A oder Port B welches ich das Display anschliesse, werden enstsprechend angepasst. Wieso kann geht kein Soft SPI, die PINS kann man doch frei wählen? Kann mir einer was dazu sagen ? Thx
Hi! Also ich kenn mich in Bascom net aus aber kann man da wirklich einfach durch angeben des Typs, sprich Hard oder Soft auswählen und Bascom implementiert das gesammte SPI selbst? Und wieso schliesst du nicht MMC und LCD an das Hardware-SPI an? Dann brauchst nur noch einen zusätzlichen Pin, der als Chipselect dient und den gerade benötigten Slave auswählt. mfg Fasti
Das kommt später , ich fange erst an in SPI einzuarbeiten, deswegen etwas umständlich, aber ich bin am lernen. Die HARD SPI ist ja am PORT B ( ATMEGA 16L ) MOSI,SCK,MISO,/SS SOFT SPI ist frei wählbar wollte von B nach A wechseln. SOFT SPI auf PORT B geht ja Warum klappt SOFt SPI dann nicht an Port A?
Hi Mikro, bei mir ist es genau andersrum: "Soft" klappt, "Hard" nicht. Soft Spi habe ich auf Port b und c erfolgreich getestet (MMC Karte). Hier der Programmauszug: Config Spi = Soft , Din = Pinc.3 , Dout = Portc.4 , Ss = Portc.5 , Clock = Portc.2 ' AT8 Ddrc = &B11110111 Cs Alias Portc.5 Clk Alias Portc.2 Miso Alias Pinc.3 'inp Mosi Alias Portc.4 'out Das klappt leider nicht: Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1 Port A gibt es nicht auf allen AVRs. Hast du das überprüft? Und beim 16er liegen auf PortA die Analogeingänge. Kann sein, dass es da Konflikte gibt. Probier doch mal zuätzlich für jeden Pin Input oder Output zu definieren. Benutzt du nämlich irgendwo im Programm den AD Wandler, dann kann das nicht gehen. lg Ralf
Also wenn ich PortC oder PortD mit Softspi nehme gehts auch nicht. Könntest du mir die MMC Programm geben, dann hätte ich den direkten vergleich und weniger Fehlerquellen. Verstehen kann ich das nicht ich arbeite mit Version 1.11.74 Anbei das Programm welches für Nokia 3310 über Hard SPI geht, vielleicht kannst du für deine MMC karte was dazu finden. mfg Dirk
Hi Dirk, ja kann ich machen, hinterlasse mir doch bitte deine EMailAddr oder schreib mich über EMail an. lg Ralf
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.