[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