ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: EGPIO3  (Прочитано 6227 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Snar

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 22
EGPIO3
« : 16 Апреля, 2010, 12:37:39 »

Есть плата Тион-проV2 рев.1 Пытаюсь использовать линию EGPIO3 для управления потоком RS485. Есть модуль ядра (там один в один из gpio_toggle_2) который управляет линией, проверил его с EGPIO5 - работает, с EGPIO3 не хочет. Как заставить работать EGPIO3?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: EGPIO3
« Ответ #1 : 16 Апреля, 2010, 16:44:18 »

EGPIO3 управляется автоматически, см. EP93xx User's Guide стр. 16-1 (577).
Записан

Snar

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 22
Re: EGPIO3
« Ответ #2 : 17 Мая, 2010, 15:41:53 »

Дабы не плодить лишних тем, спрошу здесь. Пытаюсь прицепить с COM3 на Тионе Про2 изолированный интерфейс RS485. С передачей из Тиона все ОК, а с приемом пока никак, в буфере приема одни нули хотя  кол-во присланных байт верно, может подскажите где грабли?  Привожу код:
Инициализация:
---------------------------------------------------------------
RS=open("/dev/ttyAM2",O_RDWR | O_NOCTTY | O_NDELAY);
        if (RS>0)
        {

            printf("open RS485 \n");
            tcgetattr(RS,&attr);
            bzero(&attr,sizeof(attr));
            attr.c_cflag|= B38400 | CS8 |CLOCAL |CREAD;
            cfsetispeed(&attr,B38400);
            cfsetospeed(&attr,B38400);
            attr.c_iflag=IGNPAR;
            attr.c_oflag=0;
            attr.c_lflag=0; //no canonical no echo
            attr.c_cc[VTIME] =0; //inter character timer unused
            attr.c_cc[VMIN]=0;  //bloking read until 5 chars received
            tcflush(RS,TCIFLUSH);
            tcsetattr(RS,TCSANOW,&attr);
        }
-------------------------------------------------------------------------
Чтение:
int bytesreceived,i;
char readbytes[255];

bytesreceived=read(RS,readbytes,1);
            printf("bytes to read %i \n",bytesreceived);
            if (bytesreceived>0)
            {
               
                printf("read from RS485 \n");
                printf("-------------------------------------------------------------------------------------\n");
                for (i=0;i!=bytesreceived;i++)
                    {
                        printf("%d \n",readbytes);
                    }
            }
Может я не так настраиваю порт? 38400,n,1
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: EGPIO3
« Ответ #3 : 17 Мая, 2010, 15:51:44 »

У вас нет конфликта с передатчиком RS485 или RS232, которые стоят на плате Тион-Про2?
Записан

Snar

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 22
Re: EGPIO3
« Ответ #4 : 17 Мая, 2010, 16:38:31 »

данные наблюдаю осциллографом на контакте 13 разъема X11, тем не менее с интересом послушаю Ваши советы по поводу конфликтов
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: EGPIO3
« Ответ #5 : 17 Мая, 2010, 16:52:31 »

Вы сняли перемычку X26, X28 и замкнули X27?

См. стр. 34
http://www.zao-zeo.ru/media/files/docs/tion-pro2-v1.3.pdf
Записан

Snar

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 22
Re: EGPIO3
« Ответ #6 : 18 Мая, 2010, 11:38:46 »

у меня этих перемычек нет, плата Тион Про V2 рев1. Как быть?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: EGPIO3
« Ответ #7 : 18 Мая, 2010, 12:36:10 »

Если rev1, то
1. DD9.12 у вас должен быть вырезан
2. R224 (к DD10) нужно убрать и R225 (на землю) можно убрать
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: EGPIO3
« Ответ #8 : 18 Мая, 2010, 12:41:47 »

Но на rev1 должно работать и так, X11.13 напрямую соединён с процессором.
Тот 485, который на плате Тион-Про2, он работает?
Записан