Показано с 1 по 2 из 2
  1. #1
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    49
    Сообщений
    320
    Вес репутации
    332

    По умолчанию Вопрос по СИ

    Взялся я тут на си написать программку, чтоб общалась с ардуиной подключённой к роутеру. Писать отдельные символы в ардуину у меня получается и читать отдельные символы тоже получилось.
    Вот:
    PHP код:
    #include <fcntl.h>
    #include <unistd.h>
    #include <termios.h>
    #include <stdio.h>
    #define PORT "/dev/ttyUSB0"
    #define BAUDRATE B115200
    int fd;
    int valvxd1vxd2vxd3vxd4vxd5;
    int retcount;

    int main()
    {
     
    fd open(PORTO_RDWR O_NOCTTY);
     if (
    fd<0) return 1;
     if (!
    isatty(fd)) return 2;
     
    struct termios port_cfg;
     if (
    tcgetattr(fd, &port_cfg)<0) return 3;
     
    cfmakeraw(&port_cfg);
     
    cfsetospeed(&port_cfgBAUDRATE);
     
    cfsetispeed(&port_cfgBAUDRATE);
     if (
    tcsetattr(fdTCSANOW, &port_cfg)<0) return 4;
    ..................................................................................
     
    val='1';
     
    ret write(fd, &val1);
     if (
    ret!=1) return 5;
     
    ret read(fd, &vxd11);
     if (
    ret!=1) return 6;
     
    printf("%d\n"vxd1); 
    .................................................................................

    Тоесть порт открывается, туда еденица записывается и в ответ приходит нужное число.

    А вот что нужно вписать вот сюда:?

    PHP код:
    int main()
    {
     
    fd open(PORTO_RDWR O_NOCTTY);
     if (
    fd<0) return 1;
     if (!
    isatty(fd)) return 2;
     
    struct termios port_cfg;
     if (
    tcgetattr(fd, &port_cfg)<0) return 3;
     
    cfmakeraw(&port_cfg);
     
    cfsetospeed(&port_cfgBAUDRATE);
     
    cfsetispeed(&port_cfgBAUDRATE);
     if (
    tcsetattr(fdTCSANOW, &port_cfg)<0) return 4;
    ..................................................................................
    ????????????????????????????????
    ?????????????????????????????
    ????????????????????????????
    printf(???????); 
    .................................................................................

    И какие переменные надо обьявить?
    Чтоб принять от ардуины массив байт?
    Вот кусок ардуины:

    PHP код:
      bytes[0]=2
      
    bytes[1]=4
      
    bytes[2]=67
      
    bytes[3]=24;
      
    Serial.write(bytes,4); 
    Как принять, разложить по полочкам эти вывести в консоль эти байты?
    Подскажите плиз!!!

  2. #2
    Продвинутый
    Регистрация
    20.05.2011
    Сообщений
    325
    Вес репутации
    231

    По умолчанию Re: Вопрос по СИ

    А ты какой IDE пользуешься? Судя по printf... Ты просто С используешь? Кстати, посмотри -http://webhole.net/2010/05/01/arduino-visual-c-plus-plus-tutorial/
    Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •