sailor 0 19 октября, 2007 Опубликовано 19 октября, 2007 · Жалоба Добрый день. В настоящий момент осваиваю МК AT91SAM7X256, который был выбран в качестве основы для разработки системы управления. В наличии имеется отладочный комплект AS-SAM7X от Аргуссофта. Столкнулся с проблемой, что никак не получается "завести" работу по протоколу RS-485. Драйвер 485-го на плате установлен (ADM348). С 485-м интерфейсом успешно работал на других контроллерах. С 232-м интерфейсом (и через USART и через DBGU) проблем не возникло. Да и вообще пока ни с чем проблем не возникало в освоении данного МК. А тут не удается ни принять, ни передать хоть одного байта. К тому же смущает наличие некоего режима AT91C_US_USMODE_RS485. Вот и не могу понять, толи я неправильно что-то делаю, толи это аппаратная проблема конкретного экземпляра платы. Не поможет ли кто-либо с примером, содержащим однозначно работающий код для AT91? Неважно X это или S. Разберусь. Мой мыл: sailor{собака}konver.ru С уважением. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NickB 0 19 октября, 2007 Опубликовано 19 октября, 2007 · Жалоба Работать в режиме 485 интерфейса в эитх контроллерах уч удобно. Режим AT91C_US_USMODE_RS485 включает аппаратное управление через ногу RTS переключением режима прием/передача. Просто соедените ногу RTS со входами DE-RE ADM348. И будет Вам счастье Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sailor 0 19 октября, 2007 Опубликовано 19 октября, 2007 · Жалоба Работать в режиме 485 интерфейса в эитх контроллерах уч удобно. Режим AT91C_US_USMODE_RS485 включает аппаратное управление через ногу RTS переключением режима прием/передача. Просто соедените ногу RTS со входами DE-RE ADM348. И будет Вам счастье Нога сия соединена. Мне нужен пример правильной инициализации и дальнейшей работы по данному протоколу для данного девайса. Или заработает или нет. Я вот тоже подумал, что предусматривается в режиме AT91C_US_USMODE_RS485 аппаратное управление по дефаулту. Но данные не передаются. Возможен аппаратный глюк. У меня всего один девайс и собственаручно написанный код. Так что или железо или моя голова. Но как мне определиться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NickB 0 19 октября, 2007 Опубликовано 19 октября, 2007 · Жалоба В прикрепленном файле простейшая программа Один канал -RS232 второй - RS485 Передаются данные из одного канала в другой И обратно Работает main_RBT.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sailor 0 19 октября, 2007 Опубликовано 19 октября, 2007 · Жалоба В прикрепленном файле простейшая программа Один канал -RS232 второй - RS485 Передаются данные из одного канала в другой И обратно Работает Огромное спасибо за присланный материал. Я на почту уже написал, что в выложенном файле нет описания инициализации PIO. В остальном принципиальном отличий в коде не обнаружил. Но проблема решена. Вы будете смеяться, все оказалось в моей голове. Я перепутал нумерацию контактов на разъеме. В документации и на девайсе первая нога обозначена не была. А я с чего-то решил, что нумерация должна быть именно такой-то, и до последнего момента даже не возникало мысли усомниться в этом :) Сорри всем за беспокойство. *тупо бьется головой об стол, предварительно отодвинув в сторону девайс* Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 21 октября, 2007 Опубликовано 21 октября, 2007 · Жалоба { AT91PS_USART COM0 = AT91C_BASE_US0; // USART0 AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, ((U32) AT91C_PA0_RXD0 ) | ((U32) AT91C_PA1_TXD0 ) | ((U32) AT91C_PA3_RTS0 ), /// < ---- Обязательно (RTS соединить с notRE/DE драйвера 485) 0); // Enable USART clock AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_US0 ); // Usart Configure AT91F_US_Configure (COM0, AT91B_MCK, AT91C_US_ASYNC_MODE | AT91C_US_USMODE_RS485, 115200, 0); // Enable usart COM0->US_CR = AT91C_US_RXEN | AT91C_US_TXEN; COM0->US_TTGR = 0x04; // 4-bits time-guard for rs485 .... Все остальное (в т.ч. обработчик перывания) как у 232-го. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться