Sætte linien høj i ét sekund - seriel kommunikation - Linux
Jeg har fået seriel kommunikation op at køre og kan sende og modtage data vha. almindelig asynkron kommunikation.
MEN: Den hardware jeg skal kommunikere med kræver at linien sættes høj i et sekund for at blive initialiseret! Hvordan dælen gør man det?
Man kunne jo sætte et 9 volt batteri på, meen... :-) Mit første forsøg gik ud på at sende en masse bytes med værdien 0xff (alle bit sat), for at holde linien høj, men start bits'ne er jo lave så det går ikke! Linien er sat til 1200 baud og to stopbits, ingen paritets check.
Nu kan jeg ikke huske om høj er idle eller aktiv tilstand. Hvis høj er idle skal du bare undlade at foretage dig noget i 1 sek. Hvis høj er aktiv sætter du baud til 10 (+/- 1) og sender et 0.
Det er ikke muligt at sætte baud raten til mindre end 50, men du har alligevel givet mig en god ide! Men jeg kan ikke afprøve det endnu, da jeg har en defekt seriel konverter, så vender lige tilbage, når det er afprøvet!
Men istedet for at sende et 0, skulle man så ikke sende 255 (0xff) for at sætte linien høj??? 255 er jo lig med 8 et-taller...
Når der ikke sker noget på linien er den så høj eller lav?
Hvis den er høj behøver du vel kun at vente 1 sek? Hvis den er lav skal du vel sende 0xff eller 0?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.