Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Может так понятнее будет. Вот кусок из микрочипового сурца J1939.c(+)

Отправлено Codavr 31 января 2008 г. 22:01
В ответ на: в 0F60-0F6Dh. физически расположены 2 приёмных буфера 0 и 1 и неболее + отправлено Aleksey75 31 января 2008 г. 21:47

// Since we'll be mapping the various buffers into the access bank, we'll
// create definitions for the key registers and bits of the overlayed mapping,
// so it doesn't look like the wrong registers are being used.

#define MAPPED_CONbits RXB0CONbits
#define MAPPED_CON RXB0CON
#define MAPPED_SIDH RXB0SIDH
#ifdef ECAN_IS_CAN_MODULE
#define MAPPED_TXREQ RXRTRRO
#else
#define MAPPED_TXREQ FILHIT3
#endif

блаблабла

while ((TXQueueCount > 0) && (LastTXBufferUsed < ECAN_MAX_TX_BUFFERS))
{
#if ECAN_LEGACY_MODE == J1939_TRUE
CANCON = BUFFER_TABLE[LastTXBufferUsed].WindowBits;
#else
ECANCON = BUFFER_TABLE[LastTXBufferUsed].WindowBits;
#endif
if (!MAPPED_CONbits.MAPPED_TXREQ) // make sure buffer is free
{
TXQueue[TXHead].SourceAddress = J1939_Address;
SendOneMessage( (J1939_MESSAGE *) &(TXQueue[TXHead]) );
TXHead ++;
if (TXHead >= J1939_TX_QUEUE_SIZE)
TXHead = 0;
TXQueueCount --;
}
LastTXBufferUsed++;
}


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 567:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru