Skocz do zawartości

kasaidolar

Users
  • Zawartość

    12
  • Rejestracja

  • Ostatnio

Informacje

  • Płeć
    Brak informacji
  • Lokalizacja
    Wrocław

Osiągnięcia użytkownika kasaidolar

Starszy odkrywca

Starszy odkrywca (5/19)

  • Za 5 postów
  • Młodszy roboty
  • To już rok!
  • To już 5 lat!
  • To już 10 lat!

Odznaki

2

Reputacja

  1. Mam bardzo podobnie napisany program ale niestety funkcja read czeka na znak \n konca linii. Funkcja write przesyła mi znaki bez \n na końcu (wygląda, że nie buforuje i jest ok). Używam uart do wysyłania i odbierania danych binarnych i nie umiem przejść tego problemu. Na płytce mam połączenie TX i RX. Tak więc to co wysyłam powinienem dostawać. I dzieje się tylko jak wyślę na końcu ramki \n. #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <termios.h> #include <stdio.h> #include <string.h> #include <linux/types.h> #include <stdlib.h> /* baudrate settings are defined in <asm/termbits.h>, which is included by <termios.h> */ #define BAUDRATE B115200 // Change as needed, keep B #define _POSIX_SOURCE 1 /* POSIX compliant source */ #define FALSE 0 #define TRUE 1 #define TIOCGRS485 0x542E #define TIOCSRS485 0x542F /* change this definition for the correct port */ //#define MODEMDEVICE "/dev/ttyO1" //COM1 STEROWANIE //#define MODEMDEVICE "/dev/ttyO2" //COM2 STEROWANIE #define MODEMDEVICE "/dev/ttyO4" //IO STEROWANIE //#define RS485_RTS_GPIO_PIN 45 // 1.13 COM1 STEROWANIE //#define RS485_RTS_GPIO_PIN 46 // 1.14 COM2 STEROWANIE #define RS485_RTS_GPIO_PIN 60 // 1.28 IO STEROWANIE struct serial_rs485 { __u32 flags; /* RS485 feature flags */ #define SER_RS485_ENABLED (1 << 0) /* If enabled */ #define SER_RS485_RTS_ON_SEND (1 << 1) /* Logical level for RTS pin when sending */ #define SER_RS485_RTS_AFTER_SEND (1 << 2) /* Logical level for RTS pin after sent*/ #define SER_RS485_RX_BEFORE_TX (1 << 3) #define SER_RS485_USE_GPIO (1 << 5) __u32 delay_rts_before_send; /* Delay before send (milliseconds) */ __u32 delay_rts_after_send; /* Delay after send (milliseconds) */ __u32 gpio_pin; /* GPIO Pin Index */ __u32 padding[4]; /* Memory is cheap, new structs are a royal PITA .. */ }; main() { int fd, c, res, res1; struct termios oldtio, newtio; char buf[255]; char bufTx[32]; printf("Start: %d\n\r", '\n'); fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY ); if (fd < 0) { perror(MODEMDEVICE); exit(-1); } printf("open\n\r"); struct serial_rs485 rs485conf; /* Set RS485 mode: */ rs485conf.flags |= SER_RS485_ENABLED|SER_RS485_USE_GPIO; /* Set RS485 "1" when sending */ rs485conf.flags &= ~(SER_RS485_RTS_ON_SEND); /* Set RS485 "0" after sending */ rs485conf.flags &= ~(SER_RS485_RTS_AFTER_SEND); /* Set delay: */ rs485conf.delay_rts_before_send = 0x000000005; rs485conf.delay_rts_after_send = 0x000000005; rs485conf.gpio_pin = RS485_RTS_GPIO_PIN; rs485conf.padding[0] = 0; rs485conf.padding[1] = 0; rs485conf.padding[2] = 0; rs485conf.padding[3] = 0; ioctl (fd, TIOCSRS485, &rs485conf); bzero(&newtio, sizeof(newtio)); /* clear struct for new port settings */ /* BAUDRATE: Set bps rate. You could also use cfsetispeed and cfsetospeed. CRTSCTS : output hardware flow control (only used if the cable has all necessary lines. See sect. 7 of Serial-HOWTO) CS8 : 8n1 (8bit,no parity,1 stopbit) CLOCAL : local connection, no modem contol CREAD : enable receiving characters */ newtio.c_cflag = BAUDRATE | CS8 | CLOCAL | CREAD; /* IGNPAR : ignore bytes with parity errors otherwise make device raw (no other input processing) */ newtio.c_iflag = IGNPAR; /* Raw output */ newtio.c_oflag = 0; /* ICANON : enable canonical input disable all echo functionality, and don't send signals to calling program */ newtio.c_lflag = ICANON; /* now clean the modem line and activate the settings for the port */ tcflush(fd, TCIFLUSH); tcsetattr(fd,TCSANOW,&newtio); //sleep(1); //setvbuf(fd, NULL, _IONBF, 0); /* terminal settings done, now handle input*/ while (TRUE) { /* loop continuously */ bufTx[0] = '1'; // lub 0x01 bufTx[1] = '2'; // lub 0x02 bufTx[2] = '3'; // lub 0x03 //bufTx[3] = '\n'; write(fd, bufTx, 3); sleep(1); /* read blocks program execution until a line terminating character is input, even if more than 255 chars are input. If the number of characters read is smaller than the number of chars available, subsequent reads will return the remaining chars. res will be set to the actual number of characters actually read */ res = read(fd, buf, 255); buf[res] = 0; /* set end of string, so we can printf */ printf("Odebrano %d znaki: \n\r%s\n\r", res, buf); } tcsetattr(fd, TCSANOW, &oldtio); } Wynik programu z \n na końcu to: Odebrano 4 znaki: 123
  2. Tak detka moim zdaniem to bardzo dobre rozwiazanie - ogolnie guma. ** Dodano: 2008-05-16, 22:01 ** Co taka cisza ? 😋
  3. Kola zrobione sa z wałka aluminiowego - wytoczenie zalatwione przez tate mojej dziewczyny 🙂 Detka za opone robi 😉
  4. Sharpy sa po ok 50 zl. Problem z rozsunieciem czujnikow jest taki ze one maja dosc wazka wiazke i jak jest np metr od przeszkody to drga - raz widzi lewym raz prawy raz lewym raz prawym... ** Dodano: 2008-05-13, 21:43 ** Tak smiga mi TSOP z IR... troche slaby zasieg 🙂
  5. Tak schemat znam ale zastanawiaja mnie wygnaly na wyjsciu samego czujnika... czy jak cos widzi to jest jeden konkretny stan czy tez na wyjsciu jest cos zmodulowanego. Na tej stronie ktora mi wyslales to jest zdjecie plytki na wiecej niz jeden czujnik tak? Pozdrawiam ** Dodano: 2008-05-13, 18:12 ** drukarz - dzieki 🙂
  6. treker - mozesz napisac co wiecej o tym zestawie TSOP i IR 🙂 Mialem sie sto razy za to zabrac 🙂 Jak wyglada zabawa z TSOP? Czy to jest tak ze na diode jest 36kHz z procka czy tam z czegos i co wtedy ma na wyjsciu ten TSOP - kiedys czytalem dokumentacje od niego ale nie doszedlem do konkretnych wniosko 🙂 ** Dodano: 2008-05-13, 18:01 ** Yatu - obudowa aluminiowa - skrecona z blachy dwojki ktora zalatwila mi mama mojej dziewczyny 🙂
  7. Bo to byl tylko prototyp - to jest robot robiony konkretnie na zawody - mial jezdzic 🙂 Straciłbym niepotrzebnie czas, pewnie jakis tydzien na robienie projektu i samej plytki - nie bylo to warte - w protelu mam zrobione schematy wiec tylko krok od plytki ale to jest niepotrzebne 🙂 Ładuje filmy z zawodow na youtuba - sparingi itd - mysle ze bedzie cos widac:) np ten: http://pl.youtube.com/watch?v=bP8h4TNak_8 Pozdrawiam 🙂
  8. Czemu mialbym chowac kola? Musze jakos przerobic program zeby lepiej szukal (na filmiku robot widzi lozka albo lodowke oprocz kartonu 🙂 Macie jakis pomysl jak szukac przeciwnika ?
  9. Witam Was! Chciałbym w paru słowach opowiedzieć o swoim robocie klasy sumo budowanym na tegoroczne zawody w Poznaniu. Pierwszym, głownym i najwazniejszym priorytetem było to aby robot w ogóle wystartował w zawodach... czyli przeszedl eliminacje 🙂. Robota robilem sam bez sponsorów i bez wspołpracy z kimkolwiek (kola naukowe itd). Robot wyniósł ok 400 zl - tak mi sie wydaje. W zasadzie wszystko robilem sam - nie kupowalem gotowych modułów - czujniki Sharpa byly tylko oryginalne. Napęd robota to cztery silniki i przedładnie z wkretarek z Tesco 😉 Obudowa aluminiowa. Zasilanie silnikow to jeden akumulator 3,7V Li-Po ze sklepu modelarskiego, zasilanie elektroniki to 11,1 V akumulator modelarski Li-Po. Steruje tym Atmega32. Czyjnik linii zrobiony z 4x CNY70 i komparatorow:). Sterowanie silnikami przez mostek typu H na MOSFETach. Czujniki zblizeniowe Sharpa - te wieksze 🙂 Ale tylko dwa... Zawodow nie wygralem bo 🙂 - byli lepsi 🙂 - silniki z Tesco - tylko dwa czujniki zblizeniowe Ale zabawa była suuuper - mowie Wam 😃 - jestem bardzo zadowolony 🙂 Poniżej kilka zdjęć 🙂 Na youtubie jest kilka filmikow z testow mojego robota.. to jeden z nich 🙂 -> http://pl.youtube.com/watch?v=3j-1M2WUv6U Eliminacje: Sparingi: Testy na zawodach - ogolna zabawa 🙂 Pozdrawiam serdecznie!
  10. Konstrukcja ktora wygrała konkurs na najciekawszego robota byla ok ale spokojnie bylo do pobicia 🙂 Ja tez startowalem ale w sumo 🙂 Przeszedlem eliminacje ale pozniej bylo co raz gorzej 🙂 Same problemy - standardowo 🙂 Pozdrawiam 🙂
  11. Szkoda ze kolega nie byl wczoraj w poznaniu na CybAiRBot 2008. Moim zdaniem dwa kafle byly spokojnie do zdobycia przez kolege 🙂 Pozdrawiam!
  12. Jakis filmik moze wrzuć czy cos...
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.