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

 
 
> 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 15 2006, 12:17
Сообщение #2





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



Ну незнаю как тут насчёт поржать. Но вообще-то PDR и PER доступны только на запись. Когда вы делаете |= это означает, что он сначала читается. Я таким счастьем не страдал, но мне кажется ничего хорошего из него не прочитается. Да и просто не надо это. Если вам надо что-то запретить - пишите в PDR единички. Разрешить - в PER. Совместная запись здесь ни к чему.
Если не понятно изъясняюсь - вот код инита обычного уарта (для примера):

int usart1_Init(void)
{
//Setup USART1

//setup power management controller
AT91C_BASE_PMC->PMC_PCER=(1<<AT91C_ID_US1);

//Enable RxD & TxD pins
AT91C_BASE_PIOA->PIO_PDR= AT91C_PA21_RXD1 | AT91C_PA22_TXD1;

AT91C_BASE_US1->US_CR = AT91C_US_RSTRX | /* Reset Receiver */
AT91C_US_RSTTX | /* Reset Transmitter */
AT91C_US_RXDIS | /* Receiver Disable */
AT91C_US_TXDIS; /* Transmitter Disable */

AT91C_BASE_US1->US_MR = AT91C_US_USMODE_NORMAL | /* Normal Mode */
AT91C_US_CLKS_CLOCK | /* Clock = MCK */
AT91C_US_CHRL_8_BITS | /* 8-bit Data */
AT91C_US_PAR_NONE | /* No Parity */
AT91C_US_NBSTOP_1_BIT; /* 1 Stop Bit */

AT91C_BASE_US1->US_BRGR = USART1_BRD; /* Baud Rate Divisor */

//* open Usart 1 interrupt

//* Disable the interrupt on the interrupt controller
AT91C_BASE_AIC->AIC_IDCR = (1<<AT91C_ID_US1);
//* Save the interrupt handler routine pointer and the interrupt priority
AT91C_BASE_AIC->AIC_SVR[AT91C_ID_US1] = (unsigned int) & USART1_IRQ_Handler ;
//* Store the Source Mode Register
AT91C_BASE_AIC->AIC_SMR[AT91C_ID_US1] = AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL | USART1_INTERRUPT_PRIORITY;
//* Clear the interrupt on the interrupt controller
AT91C_BASE_AIC->AIC_ICCR = (1<<AT91C_ID_US1);

//enable interrupt in AIC
AT91C_BASE_AIC->AIC_IECR =(1<<AT91C_ID_US1);

//interrupt mask
AT91C_BASE_US1->US_IER= AT91C_US_RXRDY ;

AT91C_BASE_US1->US_CR = AT91C_US_RXEN | /* Receiver Enable */
AT91C_US_TXEN; /* Transmitter Enable */

return 0;

}
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
- - Nicholas   Если на том же драйвере с той же линией всё работа...   Jun 14 2006, 11:35
|- - PrSt   Цитата(Nicholas @ Jun 14 2006, 14:35) Есл...   Jun 15 2006, 05:55
|- - Master   Цитата(PrSt @ Jun 15 2006, 08:55) RTS дей...   Jun 15 2006, 06:53
|- - PrSt   [quote name='Master' date='Jun 15 2006...   Jun 15 2006, 09:58
|- - Master   Цитата(PrSt @ Jun 15 2006, 12:58) Цитата....   Jun 15 2006, 19:26
- - 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 Текстовая версия Сейчас: 23rd July 2025 - 00:22
Рейтинг@Mail.ru


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