Arduino: "digitalWrite" geht. "PORTD/PORB" ist un zuverlässig?

Hallo,

Das geht im wesentlichen auch bereits, ist aber noch etwas langsam.

sein, mal mit den Port-Registern zu probieren.

Ich habe zwei Funktionen:

// Set one byte to the parallel interface void ParportWriteDataDW(unsigned char aData) { digitalWrite(PIN_D0, aData & (1

Reply to
Manuel Reimer
Loading thread data ...

Am 02.04.2017 um 11:50 schrieb Manuel Reimer:

Hallo,

"Arduino", das ist wohl vertarntes C, oder?

Versuche es eventuell mit echtem C

formatting link
und hier LCD via i2c
formatting link

-> AVR Dragon an ISP und JTAG

Peter

Reply to
Peter Thoms

"Manuel Reimer" schrieb im Newsbeitrag news:obqham$2sr$ snipped-for-privacy@dont-email.me...

digitalWrite(PIN_D2, aData & (1

Reply to
MaWin

C++ mit einer Library die das Ansteuern des Atmel vereinfachen soll.

Ich verwende ein paralleles LCD mit T6963C Controller.

Und nein, fertige Libraries helfen mir hier nicht. Ich will die Pixel selber steuern. Zeichenfunktionen oder gar einache Textausgabe bringt mir nichts.

Manuel

Reply to
Manuel Reimer

Nachtrag: Auch das hier geht nicht:

// Set one byte to the parallel interface void ParportWriteData(unsigned char aData) { unsigned char maskD = B11111100; unsigned char bitsD = aData > 6; PORTB = (PORTB & ~maskB) | (bitsB & maskB); digitalWrite(PIN_D0, aData & (1

Reply to
Manuel Reimer

Ich werde den Gedanken nicht los, dass ich vielleicht die Status-Bits

PORTD zu fahren.

maskiere. Oder nicht?

Manuel

Reply to
Manuel Reimer

Manuel Reimer schrieb:

Variable funktioniert?

Marc

Reply to
Marc Santhoff

Aus der Arduino-Library: | out = portOutputRegister(port); | if (val == LOW) *out &= ~bit; | else *out |= bit;

"&=" schreibt direkt, was auch Sinn macht.

Manuel

Reply to
Manuel Reimer

Manuel Reimer schrieb:

das noch gebraucht wird...

Marc

Reply to
Marc Santhoff

Du betreibst das Display an einer 8-Bit Datenschnittstelle wobei Du die

8 Datenbits auf 2 Ports aufgeteilt hast?

Wo liegen die Steuerleitungen?

Datenleitungen fertig gesetzte sind?

Gerald

Reply to
Gerald Oppen

Ja. Weil es eben nicht anders geht. Die Arduino-Platinen sind fest so verdrahtet...

Aktuell auf "PORTB". Also "oberhalb" von zwei der Datenbits.

Steuerleitungen "fertig gemeldet".

Manuel

Reply to
Manuel Reimer

Am 02.04.2017 um 12:59 schrieb Manuel Reimer:

Stimmt Dein Handshake (STA0/1)? Der Controller kann nur 1 Byte/Maschinenzyklus verarbeiten.

Zugriff auf PORTB/D ist schon in Ordnung. Du kannst ja mit LEDs selbst

DoDi

Reply to
Hans-Peter Diettrich

Statusbits Lesen vom LCD? Habe ich bisher nicht hinbekommen. Die sind

sauberem Status, immer bis ins Timeout in einer Schleife rennt habe ich das mit dem Statusbits aufgegeben.

Manuel

Reply to
Manuel Reimer

eingebaut.

DoDi

Reply to
Hans-Peter Diettrich

Hallo Manuel,

Zuerst dachte ich mir: Warum legst Du die 8 Datenleitungen nicht auf

dass man, sofern man irgendwas am Analogeingang machen will, einen UART

Wer hat sich solch eine Pinbelegung ausgedacht?

Wie war das mit dem Burggraben und tunken?

Die PortB-Pins liegen ja mittendrin, nicht am Rand.

Marte

Reply to
Marte Schwarz

darauf hinauslaufen, dass ich irgendwann durch die Arduino-Libraries suchen muss um rauszufinden wo genau die dort beschrifteten Pins im Register liegen...

Manuel

Reply to
Manuel Reimer

Meistens sind das historische Altlasten. Der Chip soll zu irgendwas Altem pinkompatibel bleiben. Das geht bei z.B. dem ATmega8515 so weit, dass das "Original" gar kein AVR war, sondern ein 8051.

modernen Teile noch auf jahrzehntealte Layouts. Es war immer die

einen kompatiblen Nachfolger zu bieten. Die Microchip-Strategie war dagegen PICs weiterzubauen, so dass man sie teils nach Jahrzehnten

in Zukunft verfahren werden.

Reply to
Michael Bäuerle

Hi Manuel,

nimm

formatting link
da stehts recht

PB6 und PB7 liegen zwischen PD4 und PD5. Du legst sie aber an den Rand. Marte

Reply to
Marte Schwarz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.