[elektro] Linux sorosport lefagy

elight elight at gmail.hu
Fri Mar 3 12:55:34 CET 2017


Ez nem egészen az..

Rasberry Pi 3-at használok.
És a sttyS0 portot szeretném kimenetként
használni.
Odáig eljutottam, hogy ez  a tty terminál
alapból bekapcsolva éled. És ezen be lehet
elvileg távolról jelentkezni. De amíg ez az állapot
érvényes, fogja a rendszer a portot,
és nem lehet más célra használni.
A másik portot meg a bluetooth fogja meg.

Az ttyS0-ról  le lehet tiltani a terminál működést
sudo nano /boot/cmdline.txt  belépve
   a files-ből a
console=serial0,115200
részt  eltávolítva.

Ezt meg is tettem.
Azóta már a minicom-terminál legalább
elindítható volt..
És látom a szkópon a küldött karaktereket.
Ha a baud-ot állítom, akkor meg változik a startidő..
Ez eddig nagyon príma!

wiringPi használok a programomban
a GPIO és soros periféria kezeléshez.

Az mondja a mintapélda:

/*
  * serialTest.c:
  *    Very simple program to test the serial port. Expects
  *    the port to be looped back to itself
  *
  */

#include <stdio.h>
#include <string.h>
#include <errno.h>

#include <wiringPi.h>
#include <wiringSerial.h>

int main ()
{
   int fd ;
   int count ;
   unsigned int nextTime ;

   if ((fd = serialOpen ("/dev/ttyS0", 115200)) < 0)
   {
     fprintf (stderr, "Unable to open serial device: %s\n", strerror 
(errno)) ;
     return 1 ;
   }

   if (wiringPiSetup () == -1)
   {
     fprintf (stdout, "Unable to start wiringPi: %s\n", strerror (errno)) ;
     return 1 ;
   }

   nextTime = millis () + 300 ;

   for (count = 0 ; count < 256 ; )
   {
     if (millis () > nextTime)
     {
       printf ("\nOut: %3d: ", count) ;
       fflush (stdout) ;
       serialPutchar (fd, count) ;
       nextTime += 300 ;
       ++count ;
     }

     delay (3) ;

     while (serialDataAvail (fd))
     {
       printf (" -> %3d", serialGetchar (fd)) ;
       fflush (stdout) ;
     }
   }

   printf ("\n") ;
   return 0 ;
}


Beillesztve a programomba a megfelelő helyekre
és lefordítva nem jelez hibát. Futtatom, sem írja ki
hogy ne lenne soros portja..
Mégsem látom a loopback tesztnél
a karaktereket a szkópon.

És ha kilépek a programomból
utána már a minicom-terminállal sem jó.
Az sem küldi már.

Az egész egyenlőre csak egy újra
bootolással áll helyre mindig.
Rendszerindítás után akárhányszor
indítom a minicom-erminált
az jól működik, egészen addig
amíg egyszer el nem indítom a programomat.

Pl érdekelne, hogyan lehet megnézni, helyrehozni
újraindítás nélkül,
hogy mi fagy, és leállt e a sorosport kezelés
esetleg teljesen?
Mert úgy tűnik többé már nem érhető el.


Üdv István







2017-03-03 12:28 keltezéssel, Szima Gábor írta:
>
> On Fri, 3 Mar 2017, elight wrote:
>
>> Soros portot (rasbian) programozok
>> és van hogy lefagy valami miatt egy művelet.
>> De ki tudok lépni ilyenkor is. A második indításkor
>> már nincs rendes soros port.
>
> Driver/HW bug lesz.
> Pl. USB UART-ok esetében előfordul(t), ha megnyitottad, de közben 
> kihúztad, akkor elhasalt a driver és újraindításik azt a portot nem 
> kaptad meg többet.
>
>
>                                 -Sygma
>
> -----------------------------------------
>          elektro[-flame|-etc]
>



More information about the Elektro mailing list