Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.sci.electronics > #225898
| From | Hans-Peter Diettrich <DrDiettrich1@aol.com> |
|---|---|
| Newsgroups | de.sci.electronics |
| Subject | Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? |
| Date | 2017-04-08 12:47 +0200 |
| Message-ID | <ekrucvFer6gU1@mid.individual.net> (permalink) |
| References | <obqham$2sr$1@dont-email.me> <oc974m$gvh$1@dont-email.me> |
Am 08.04.2017 um 01:28 schrieb Manuel Reimer:
> On 04/02/2017 11:50 AM, Manuel Reimer wrote:
>> // Set one byte to the parallel interface
>> void ParportWriteData(unsigned char aData) {
>> unsigned char maskD = B11111100;
>> unsigned char bitsD = aData << 2;
> PORTD &= B10000011;
>> PORTD = (PORTD & ~maskD) | (bitsD & maskD);
>> unsigned char maskB = B00000011;
>> unsigned char bitsB = aData >> 6;
>> PORTB = (PORTB & ~maskB) | (bitsB & maskB);
>> }
>
> Hallo,
>
> jetzt falle ich aber wirklich vom Glauben ab. Fix ist oben eingebaut.
> Aber warum????
>
> Wenn ich diese Bitfolge zuerst auf "PORTD" "unde", dann funktioniert
> alles wie gewünscht. Der Unterschied ist mir aber nicht klar.
Klar ist da wirklich nichts, daher vermute ich irgendwelche
Seiteneffekte mit den alternativen Portfunktionen. Dein Programm
verwendet ja mindestens Serial, und das hängt an den unteren beiden Bits
von Port D.
Es wäre vielleicht hilfreich, die tatsächlichen Stände von PORTD
(und/oder PIND) nach jedem Schritt in ein Array zu schreiben, und das
hinterher anzuschauen. Wenn darin Bits anders geändert werden als im
Code vorgegeben, dann spuckt irgendwas (Interrupt-Handler, PWM...)
dazwischen.
Um Interrupt Einflüsse auszuschließen, könntest Du auch testhalber die
Interrupts während Deiner Datenübergabe abschalten. Wenn das dann läuft,
ist der Übeltäter schon mal eingegrenzt.
Und die Masken sollten als "const" deklariert werden.
DoDi
Back to de.sci.electronics | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-02 11:50 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Peter Thoms <dl6lat@darc.de> - 2017-04-02 12:15 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-02 12:59 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2017-04-02 16:32 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-02 16:41 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? "MaWin" <me@private.net> - 2017-04-02 12:50 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-02 12:56 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-02 13:12 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-02 13:23 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Gerald Oppen <Gerald.Oppen@web.de> - 2017-04-02 16:06 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-02 16:27 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2017-04-02 16:42 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Gerald Oppen <Gerald.Oppen@web.de> - 2017-04-02 20:24 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Edzard Egberts <news@edzeg.net> - 2017-04-03 09:17 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Marc Santhoff <m.santhoff@t-online.de> - 2017-04-02 14:22 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-02 14:49 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Marc Santhoff <m.santhoff@t-online.de> - 2017-04-02 15:00 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-02 16:46 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Marte Schwarz <marte.schwarz@gmx.de> - 2017-04-02 17:32 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-02 18:31 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Marte Schwarz <marte.schwarz@gmx.de> - 2017-04-02 18:45 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2017-04-02 19:44 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Eric Bruecklmeier <usenet@nerdcraft.de> - 2017-04-03 08:49 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Michael Bäuerle <michael.baeuerle@gmx.net> - 2017-04-02 18:38 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Gerald Oppen <Gerald.Oppen@web.de> - 2017-04-02 20:37 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2017-04-02 18:48 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-08 01:28 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Marc Santhoff <m.santhoff@t-online.de> - 2017-04-08 02:09 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Christian Zietz <newsgroup.1001@chz.xyz> - 2017-04-08 10:56 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-08 11:01 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Christian Zietz <newsgroup.1001@chz.xyz> - 2017-04-08 11:14 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-08 11:25 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Christian Zietz <newsgroup.1001@chz.xyz> - 2017-04-08 11:38 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-08 14:41 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Gerald Oppen <Gerald.Oppen@web.de> - 2017-04-08 17:45 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Gerald Oppen <Gerald.Oppen@web.de> - 2017-04-08 18:07 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-09 11:59 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Gerald Oppen <Gerald.Oppen@web.de> - 2017-04-09 13:11 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-09 14:06 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2017-04-09 14:23 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Christian Zietz <newsgroup.1001@chz.xyz> - 2017-04-09 14:49 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-09 16:46 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Christian Zietz <newsgroup.1001@chz.xyz> - 2017-04-08 11:03 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-08 11:18 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Christian Zietz <newsgroup.1001@chz.xyz> - 2017-04-08 11:23 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-09 13:27 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Christian Zietz <newsgroup.1001@chz.xyz> - 2017-04-09 13:51 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2017-04-08 12:47 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2017-04-08 14:38 +0200
Re: Arduino: "digitalWrite" geht. "PORTD/PORB" ist unzuverlässig? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2017-04-08 18:45 +0200
csiph-web