Styrning via serieport - nybörjartips önskas
G Hasse
gh at raditex.se
Fri Oct 19 13:09:46 CEST 2007
On Fri, Oct 19, 2007 at 10:50:01AM +0200, Mackan wrote:
> Hej gott folk!
>
> Kastar ur mig en fråga till alla busar, då jag vet att det finns mycket
> kompetent folk på denna lista, som brukar vara trevliga.
>
> Jag har för avsikt att skriva ett mycket enkelt textbaserat program som
> ska användas för att skicka kommandom till en serieport.
>
> Jag har aldrig berört detta område, så jag har i princip inga kunskaper om
> detta.
>
> Tar tacksamt emot tips var jag ska börja läsa.
>
> - *BSD eller *inux kvittar.
> - Hur ställer man in portens egenskaper? Speed, paritet o.s.v
> - Hur sänder man själva kommandot? Finns nåt mellanprogram som underlättar
> läsa/skriva från comportar?
> - Vill gärna göra ett mycket enkelt textgränssnitt, typ Dialog eller
> liknande. Eller något annat.
> - Jag har specifikationer på protokollet i fråga, gränssnittet ska bara
> användas för att enkelt fylla i värden som ska skickas.
>
> Jag kan utveckla mera om det skulle behövas! :-)
Japp - gör så. Vad ska du pilla med??
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <termios.h>
#include <sys/file.h>
#include <unistd.h>
#define TIME 50000
main()
{
char buffer[20];
struct termios term;
int fd, varv, i;
char rel;
varv = 0;
if ( ( fd = open("/dev/cuaa1", O_RDWR )) < 0 ) {
printf("FEL\n");
exit(1);
}
tcgetattr( fd , &term );
term.c_cflag = CS8;
term.c_cflag |= CREAD ;
term.c_cflag |= CLOCAL ;
term.c_lflag |= ICANON ;
cfsetispeed(&term, B19200 );
cfsetospeed(&term, B19200 );
tcsetattr( fd , TCSANOW, &term );
while(1) {
varv++;
printf("Nytt varv %d\n", varv);
usleep(TIME);
bzero( buffer, sizeof buffer);
printf("Send: ");
fgets( buffer, sizeof buffer, stdin);
write(fd, buffer, sizeof buffer);
usleep(TIME);
}
close(fd);
}
>
>
> MVH Mackan
>
>
> _________________________________________________
> BSD Users Sweden -- BUS at stacken.kth.se
> https://lists.stacken.kth.se/mailman/listinfo/bus
>
--
Göran Hasse
----------------------------------------------------------------
Göran Hasse email: gh at raditex.se Tel: 08-6949270
Raditex AB http://www.raditex.se
Planiavägen 15, 1tr Mob: 070-5530148
131 34 NACKA, SWEDEN OrgNr: 556240-0589
VAT: SE556240058901
------------------------------------------------------------------
More information about the BUS
mailing list