Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I'm trying to get a serial device working on my linux (debian) system. On the internet, I found these rules for the communication:
Quote:
Transmit a break time, which is a logical "0" lasting for 88 microseconds. On a microcontroller you can usually do this by temporarily setting the baud rate to 96KBaud, then transmit a "0" byte.
Then transmit a startcode of "0" (returning the baud rate to 250KBaud).
Then transmit up to 512 8-bit channel level bytes
Source: sabretechnology.co.uk/dmxwork.htm
Now I'm not quite sure how to implement that. My version:
Now, that doesn't work. (The device's data-LED is on when I run the script.) With stty I couldn't set the baud-rates to the 96k and 250k as written in the specifications (Error message: stty: invalid argument ,,96000"). BTW: Changing to 9600 and others does work!
How would you implement these specifications?
Could anybody help me, please?
kafi
(Sorry for my english)
UPDATE 07-24-07 06:02 PM
Ok I think I could fix the baud-problems on my own. But now I should write single bits to the serial port. Is this possible using bash?
What do you mean by 'write single bits'? The uart will always output a specified number of bits. Usually it's 7 or 8, but 5 is possible as well (if I remember correctly it's the lowest that I have seen).
As described in opening post, I think one can by changing the baudrate to a lower value and transmitting the 'break'. The receiving end will not change the baudrate, so it will see a longer logical 0.
As described in opening post, I think one can by changing the baudrate to a lower value and transmitting the 'break'. The receiving end will not change the baudrate, so it will see a longer logical 0.
Ahh, I get it ...
Open the TTY, then drop the /dev/ttyS0 speed lower than the serial devices speed ... then send a null (\x00) ... and the output character will be logical 0 and the lower baud rate will make it appear to the serial device as being longer than it's expected character length (then flip the/dev/ttyS0 back to normal speed).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.