[elektro] Linux sorosport lefagy
elight
elight at gmail.hu
Fri Mar 3 15:45:29 CET 2017
Szia.
Köszi..
Veszem sorra:
Erre az elején rájöttem, és azóta lezárom..
(nem feltétlen úgy, ahogy a
mellékelt mintaprogramban írtam)
lsof-ra azt írja hogy bash: lsof: parancs nem található.
úgyhogy ennek utána kell néznem majd..
A harmadik probléma szerintem nem játszik,
mert ez az egy program fog futni soroson,
sőt ha végeztem akkor meg szinte totálisan..
Tehát ha globalice az a beállítás lenne
ami nekem kell, az se lenne nagy baj.
Ami sokkal inkább megakaszt,
( még külön küzdés, és ezért is kell a saját program )
hogy tört BAUD ra (B1850) van szükségen,
nem pedig szabványértékre..
De ebben is kezdek lassan képbe jönni,
elvileg megoldható.
Csak még az a vacak B9600-on kiküldött karakter
nincs ott a szkópomon.
( Illetve csak terminálból van, a programomból nem.)
Üdv István
2017-03-03 15:31 keltezéssel, Bánhidi István írta:
> Szia,
>
> Először is nem ártana lezárni a soros portot a progid végén, lehet ez
> kavar be.
> Nézd meg a filedescriptorokat (lsof) a progid indítása előtt és után is.
> Illik, illetve szokták még az induláskori soros port beállításokat
> elmenteni, majd a végén visszatölteni azt.
>
> Steve
>
> 2017.03.03. 12:55 keltezéssel, elight írta:
>> 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]
>>>
>>
>> -----------------------------------------
>> elektro[-flame|-etc]
>>
>
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list