Jeg har slået mit hoved på bordet i flere dage for at prøve at finde ud af det. I mit liv kan jeg ikke synes at få min Raspberry Pi 3 serielle port til at kommunikere med Xbee Series 2.

Jeg tjekkede min /boot/cmdline.txt, og der er ingen referencer til AMA0 i filen. Her er hvad der er aktuelt derinde:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait 

EDIT: PI 3 AMA0 ikke. Det bruger S0. Jeg har fjernet post console=serial0,115200

Da dette er Jessie-opdateringen, er der ingen inittab. I hvilken jeg har læst, at jeg har brug for at gøre følgende (som jeg har gjort):

sudo systemctl stop [email protected] sudo systemctl disable [email protected] sudo systemctl mask [email protected] 

Efter at have gjort alt dette, åbner jeg cutecom , indstil den til 9600 baudrate, læs / skriv, 8 bit data, 1 bit stop, og indstil enheden til / dev / ttyAMA0.

Når jeg rammer connect og skriver:

+++ 

for at komme ind i den konfigurationstilstand, jeg får:

write returned 0 errno: 11 write : Resource temporarily unavailable 

Jeg er ikke sikker på, hvad jeg laver forkert her … Jeg ved, at Xbee er funktionel, fordi jeg er i stand til at konfigurere den ved hjælp af XCTU-software via et serielt til USB-breakoutkort. Men på Pien, der er tilsluttet via GPIO-serielle ben, får jeg intet svar.

Har du nogen ideer?

Xbee er tilsluttet en Spark Fun Xbee Regulated Explorer


Jeg har også problemer med at gøre dette med min Raspberry Pi 2 (Hvilket er hvor Pi 3 kommunikerer til). På Pi 2 har jeg redigeret cmdline.txt-filen og fjernet referencer til AMA0:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait 

Og jeg har kørt igennem de tidligere nævnte systemctl-kommandoer på Pi2.

I øjeblikket når jeg åbner en session ved hjælp af cutecom (S0 for Rpi3 AMA0 for Rpi2) får jeg ingen output. Jeg skriver +++ ind på inputlinjen, jeg ser TX-lyset blinke på min Regulerede Explorer, men jeg får ingen output inde i cutecom eller nogen meddelelse i terminalvinduet.

Kommentarer

  • Prøv at fjerne console=serial0,115200 -parameteren fra cmdline.txt. Selvom det ikke er ' en henvisning til AMA0, er det ganske klart en henvisning til en seriel konsol, som kun kunne være den på GPIOer. Sørg for, at du efterlader filen som en enkelt linje!
  • Word. Jeg ' Jeg prøver det og vender tilbage til dig.
  • Dit forslag løste ikke ' t ret problemet, men jeg tror, det kan være et skridt i den rigtige retning. Se, hvordan i Milliways kommentar: han bemærkede, at Pi3 ikke længere bruger AMA0, men bruger S0, som tilsyneladende er, hvad konsollen = serial0,115200 henviser til.
  • Højre, så du vil bruge ttyS0 med Xbee i stedet også da.
  • Det fungerer stadig ikke ' t arbejder for mig … Når jeg brug sudo minicom -b 9600 -D /dev/ttyS0 Jeg får ' for ikke at få noget. Det viser minicom velkomstmeddelelsen, der viser indstillingerne og sådan, men ingen status i bunden af terminalen, og jeg kan ' ikke skrive noget. Når jeg bruger cutecom med de samme indstillinger, får jeg ikke ' heller ikke noget output (intet i konsollen siger, at det ikke er tilgængeligt eller noget).

Svar

Pi3 har byttet serielle porte. /dev/ttyAMA0 bruges nu til Bluetooth. serial0 refererer til den ikke-Bluetooth-serielle port, der er på /dev/ttyS0 som standard.

Min erfaring, hvis jeg prøver at brug serial0 er ikke godt. Det fungerer, men upålideligt, selvom jeg kun har prøvet at bruge en seriel til USB-konverter til en pc og ikke har testet udførligt. Fra videre læsning bruger miniUART “kerneklokken”, som kan ændre sig med ændringer i processorhastighed, hvilket kan forklare problemer. Jeg har set forslag til at rette uret med: –

core_freq=250 

EDIT Jeg har siden prøvet dette, og det ser ud til at løse problemerne. Indtil videre kan jeg “t ser nogen ulemper.

miniUART er også begrænset – den understøtter kun 8 databits og har ingen paritet samt en mindre buffer.

Hvis du ikke bruger Bluetooth, er det muligt at bytte portene tilbage i Device Tree. Der er en pi3-miniuart-bt og pi3-disable-bt modul.

EDIT Jeg har nu formået at få seriel arbejde til min tilfredshed på Pi 3 og har dokumenteret dette i Hvordan gør jeg-make- seriel-arbejde-på-hindbær-pi3

Kommentarer

  • Åh, jeg kan se … Det er godt at vide. Jeg forestiller mig, at det er grunden til, at jeg aldrig fik noget svar ud af AMA0. Skal jeg bare deaktivere serial0 så?
  • Og ville jeg bare gøre det ved at slette referencen i cmdline.txt, eller skulle jeg også køre lignende systemctl-kommandoer?
  • @ Myg0t på Pi3 tilsyneladende SKAL du bruge serial0, som ikke er BT UART. Jeg har ikke prøvet dette selv.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *