реклама на сайте
подробности

 
 
> AT91SAM7S256 и RS485 ...ерунда какая-то, комунибудь удалось норальный результат получить? - не получается
PrSt
сообщение Jun 13 2006, 09:46
Сообщение #1


http://uschema.com
****

Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394



Люди - подскажите что не впорядке?
вот я инициализирую RS485
// usart1->US_MR = 0x08c0; // rs232
usart1->US_MR = 0x08c1; // rs485
надо заметить, что код программы идеально работает когда идет обмен по RS232
я надеясь на то что 485 у камня аппаратный его же и хочу использовать - а тут такой кастыль...

при этом вроде бы как все работает, да не так как нужно, а именно вот какая проблема
когда идет посылка RTS дергается - вижу осцилом, все вроде - ок
пакеты уходит, ему отвечают, он принимает, но...
корректно по протоколу(своему) принимает только маленькие пакеты до гдето 15 байт
если пакет больше - то там содержимое какоето не понятное и вообще архинепонятное в конце посылки...

что это все может быть?


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Nicholas
сообщение Jun 14 2006, 11:35
Сообщение #2





Группа: Новичок
Сообщений: 3
Регистрация: 7-06-06
Пользователь №: 17 836



Если на том же драйвере с той же линией всё работает, то смотрите скорости. И ещё RTS должен дёргаться на всю посылку. Нет ли переполнения буфера? Очень похоже на левые скорости или отсутствие терминаторов на линии. Ну и код инициализации в студию.
Go to the top of the page
 
+Quote Post
PrSt
сообщение Jun 15 2006, 05:55
Сообщение #3


http://uschema.com
****

Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394



Цитата(Nicholas @ Jun 14 2006, 14:35) *
Если на том же драйвере с той же линией всё работает, то смотрите скорости. И ещё RTS должен дёргаться на всю посылку. Нет ли переполнения буфера? Очень похоже на левые скорости или отсутствие терминаторов на линии. Ну и код инициализации в студию.

RTS действительно деркается вроде как надо бы...
терминаторов действиельно нет
их установка ни чего не меняет

вот моя процедура переинициализации

void init_ComPort1_reinit(unsigned long value){ // Init USART (COM_1) RE_INIT

AT91PS_USART usart1 = AT91C_BASE_US1;
AT91PS_PIO usart1_pio = AT91C_BASE_PIOA;
AT91PS_PMC pmc = AT91C_BASE_PMC;
AT91PS_PDC pdc = AT91C_BASE_PDC_US1;

//Disable usart
usart1->US_CR = 0x00;

//enable the clock of USART
pmc->PMC_PCER = 1<<AT91C_ID_US1;
//set baud rate divisor register

/*
скорость=Fкварца/(CD*16)
CD=Fкварца/(скорость*16)
CD скорость Fкварца
960 1200 18432000
480 2400 18432000
120 9600 18432000
80 14400 18432000
30 38400 18432000
20 57600 18432000
10 115200 18432000 */

// usart1->US_BRGR = 0xA; //((18432000)/115200x16)
usart1->US_BRGR = value;

//write the Timeguard Register
usart1->US_TTGR = 0;

//Set the USART mode
// usart1->US_MR = 0x08c0; // rs232
usart1->US_MR = 0x08c1; // rs485

//Enable the RX and TX PDC transfer requests
pdc->PDC_PTCR = AT91C_PDC_TXTEN | AT91C_PDC_RXTEN;

//Enable usart
usart1->US_CR = 0x50;

// Init IO
// Disable PIO on DBGU pins
usart1_pio->PIO_PDR |= (AT91C_PIO_PA21 | AT91C_PIO_PA22 | AT91C_PIO_PA24);
usart1_pio->PIO_PER &= ~(AT91C_PIO_PA21 | AT91C_PIO_PA22 | AT91C_PIO_PA24);

// Enable peripheral A on DBGU pins
usart1_pio->PIO_ASR |= (AT91C_PIO_PA21 | AT91C_PIO_PA22 | AT91C_PIO_PA24);
usart1_pio->PIO_BSR &= ~(AT91C_PIO_PA21 | AT91C_PIO_PA22 | AT91C_PIO_PA24);

// enableRxInterrupt
usart1->US_IER |= AT91C_US_RXRDY;
usart1->US_IDR &= ~AT91C_US_RXRDY;

}


--------------------
Go to the top of the page
 
+Quote Post
Master
сообщение Jun 15 2006, 06:53
Сообщение #4


Частый гость
**

Группа: Новичок
Сообщений: 170
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 405



Цитата(PrSt @ Jun 15 2006, 08:55) *
RTS действительно деркается вроде как надо бы...
терминаторов действиельно нет
их установка ни чего не меняет
Надеюсь, это не голые слова.
Цитата
вот моя процедура переинициализации
...
// Init IO
// Disable PIO on DBGU pins
usart1_pio->PIO_PDR |= (AT91C_PIO_PA21 | AT91C_PIO_PA22 | AT91C_PIO_PA24);
usart1_pio->PIO_PER &= ~(AT91C_PIO_PA21 | AT91C_PIO_PA22 | AT91C_PIO_PA24);

// Enable peripheral A on DBGU pins
usart1_pio->PIO_ASR |= (AT91C_PIO_PA21 | AT91C_PIO_PA22 | AT91C_PIO_PA24);
usart1_pio->PIO_BSR &= ~(AT91C_PIO_PA21 | AT91C_PIO_PA22 | AT91C_PIO_PA24);

// enableRxInterrupt
usart1->US_IER |= AT91C_US_RXRDY;
usart1->US_IDR &= ~AT91C_US_RXRDY;

}
А вот это реальный шедевр! Просто зачОт какой-то laugh.gif
Чисто чтоб поржать biggrin.gif давайте попробуем убрать каждую вторую строчку в последних трёх абзацах "процедуры переинициализации". Сообщите о результатах.
Go to the top of the page
 
+Quote Post
PrSt
сообщение Jun 15 2006, 09:58
Сообщение #5


http://uschema.com
****

Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394



[quote name='Master' date='Jun 15 2006, 09:53' post='123869']
...
// Init IO
// Disable PIO on DBGU pins
usart1_pio->PIO_PDR |= (AT91C_PIO_PA21 | AT91C_PIO_PA22 | AT91C_PIO_PA24);
usart1_pio->PIO_PER &= ~(AT91C_PIO_PA21 | AT91C_PIO_PA22 | AT91C_PIO_PA24);

// Enable peripheral A on DBGU pins
usart1_pio->PIO_ASR |= (AT91C_PIO_PA21 | AT91C_PIO_PA22 | AT91C_PIO_PA24);
usart1_pio->PIO_BSR &= ~(AT91C_PIO_PA21 | AT91C_PIO_PA22 | AT91C_PIO_PA24);

// enableRxInterrupt
usart1->US_IER |= AT91C_US_RXRDY;
usart1->US_IDR &= ~AT91C_US_RXRDY;

}
[/quote]А вот это реальный шедевр! Просто зачОт какой-то laugh.gif
Чисто чтоб поржать biggrin.gif давайте попробуем убрать каждую вторую строчку в последних трёх абзацах "процедуры переинициализации". Сообщите о результатах.
[/quote]
ну и что за юмор?
все же в порядке здесь.


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- PrSt   AT91SAM7S256 и RS485 ...ерунда какая-то   Jun 13 2006, 09:46
- - aaarrr   С AT91SAM7S64 проблем не наблюдалось. Если RTS дер...   Jun 13 2006, 10:07
|- - PrSt   Цитата(aaarrr @ Jun 13 2006, 13:07) С AT9...   Jun 14 2006, 07:08
|- - Master   Цитата(PrSt @ Jun 15 2006, 12:58) Цитата....   Jun 15 2006, 19:26
- - Nicholas   Ну незнаю как тут насчёт поржать. Но вообще-то PDR...   Jun 15 2006, 12:17
- - defunct   Цитатанадо заметить, что код программы идеально ра...   Jun 15 2006, 20:30
|- - PrSt   Цитата(defunct @ Jun 15 2006, 23:30) Цита...   Jun 16 2006, 06:51
|- - defunct   Цитата(PrSt @ Jun 16 2006, 09:51) да - я ...   Jun 16 2006, 15:20
- - rezident   Я не знаком с этим SAMом, но у меня практически-те...   Jun 16 2006, 08:44
|- - PrSt   Цитата(rezident @ Jun 16 2006, 11:44) Я н...   Jun 16 2006, 13:12
|- - rezident   Цитата(PrSt @ Jun 16 2006, 19:12) Цитата(...   Jun 16 2006, 13:41
- - beer_warrior   ЦитатаА в какой момент устанавливается/снимается R...   Jun 16 2006, 09:12
- - beer_warrior   BTW. А сама микросхема приемника какая? И к какому...   Jun 16 2006, 13:35
|- - PrSt   Цитата(beer_warrior @ Jun 16 2006, 16:35)...   Jun 16 2006, 14:28
- - aaarrr   А прием чем ведется? Компьютером, или таким же уст...   Jun 16 2006, 13:43
- - beer_warrior   У меня сейчас на столе, точно такая же игрушка. Ра...   Jun 16 2006, 18:49


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 02:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01324 секунд с 7
ELECTRONIX ©2004-2016