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

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

Ответ:

Отправлено A_F 04 января 2008 г. 13:00
В ответ на: Что-то не получается запустить этот долбаный ECAN (как на грех под руками только PIC16F2580) Никто не поделится рабочим примерчиком? отправлено Гудвин 04 января 2008 г. 12:36


void CAN_Init(void)
{
//настройка скорости
#if defined(_18F4580)
CANCON_0 = 0b10010000;//run
while( (CANSTAT_0 & 0b11100000) != 0b10000000 );
#endif
#if defined(_18F458)
CANCON = 0b10010000;//run
while((CANSTAT & 0b11100000) != 0b10000000 );
#endif
#if defined(_18F258)
CANCON = 0b10010000;//run
while((CANSTAT & 0b11100000) != 0b10000000 );
#endif

BRGCON1 = 0b00111111;
BRGCON2 = 0b00111000;
BRGCON3 = 0b00000111;
//настройка портов
CIOCON = 0b000000;

RXB0CON = 0b01100000;
RXM0SIDH = 0x0;
RXM0SIDL = 0x0;
RXM1SIDH = 0xff;
RXM1SIDL = 0xff;
RXF0SIDH = 0;
RXF0SIDL = 0;
RXF1SIDH = 0;
RXF1SIDL = 0;
RXF2SIDH = 0;
RXF2SIDL = 0;
RXF3SIDH = 0;
RXF3SIDL = 0;
RXF4SIDH = 0;
RXF4SIDL = 0;
RXF5SIDH = 0;
RXF5SIDL = 0;

#if defined(_18F4580)
CANCON_0 = 0b00000000;//run
while( (CANSTAT_0 & 0b11100000) != 0b0 );
#endif
#if defined(_18F458)
CANCON = 0b00000000;//run
while((CANSTAT & 0b11100000) != 0b0 );
#endif
#if defined(_18F258)
CANCON = 0b00000000;//run
while((CANSTAT & 0b11100000) != 0b0 );
#endif
}

unsigned char CAN_SendMessage(void)
{
MSCount = 0;
while((TXB0CON & 0b00001000) != 0)if(MSCount>10000)return 0;
{

TXB0SIDH = ID >> 3;
TXB0SIDL = (ID & 255) << 5;
// TXB0DLC = 0b000001000;//8byte
TXB0DLC = 4;
TXB0D0 = CanData[0];
TXB0D1 = CanData[1];
TXB0D2 = CanData[2];
TXB0D3 = CanData[3];
TXB0D4 = CanData[4];
TXB0D5 = CanData[5];
TXB0D6 = CanData[6];
TXB0D7 = CanData[7];
TXB0CON |= 0b00001000;//start transmitt;
return 1;
}
}


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

Ответы


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

Сообщение:

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

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

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

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