Например TDA7294

Форум РадиоКот • Просмотр темы - Не работает CAN на AT90CAN64
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср июл 30, 2025 23:38:45

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 2 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Не работает CAN на AT90CAN64
СообщениеДобавлено: Вт апр 24, 2012 13:23:25 
Встал на лапы

Зарегистрирован: Ср янв 18, 2012 19:37:10
Сообщений: 129
Рейтинг сообщения: 0
Добрый день! Уважаемые форумчане, возникла следующая проблема. Надо передать посылку по CAN. Все проинициализировал, отладил через JTAG, во все приведенные ниже регистры все записывается. Передачу разрешаю, а на выходе ниче нет. Похоже я что то не учел. Подскажите, пожалуйста, где косяк. Буду очень признателен.

Код:
void ResetAllMailbox (void)
{
  unsigned char num_channel;

  for (num_channel = 0; num_channel < 15; num_channel++)
  {
    CANPAGE  = (num_channel<<4);
    CANSTMOB = 0;
    CANCDMOB = 0;
    CANIDT4  = 0;
    CANIDT3  = 0;
    CANIDT2  = 0;
    CANIDT1  = 0;
    CANIDM4  = 0;
    CANIDM3  = 0;
    CANIDM2  = 0;
    CANIDM1  = 0;
 }

RX_Buf_Count = 0;   
   
CANBT1=0x00;
CANBT2=0x04; 
CANBT3=0x13;
CANTCON=0x7C;

     CANGIE=0x00;
    CANEN2=0x0f;
    CANEN1=0x00;
    CANIE2=0x00;
    CANIE1=0x00;
    CANHPMOB=0x00;
    CANGCON |= 0x02;

}


void CAN_Init(unsigned char CAN_Page_Num)
{
unsigned char num_data;
   ResetAllMailbox ()
   for (num_data = 0; num_data < CAN_PACK_LEN; num_data++)
      CANMSG = 0;

   switch(CAN_Page_Num)
     {
       //MOB0=TX
      case 0: case 3:
        {
      СANSTMOB = 0x00; 
          CANCDMOB = 0x08;
          CANIDT4 = 0x00;                                                   
          CANIDT3 = 0x00;                                                             
          CANIDT2 = 0x20;                                                         
          CANIDT1 = 0x44;
         break;
        }
      //MOB1=RX
      case 1:
        {
         CANSTMOB = 0x00; 
          CANCDMOB = 0x08;
          CANIDT4 = 0x00;                                                 
          CANIDT3 = 0x00;                                                             
          CANIDT2 = 0x20;                                                           
          CANIDT1 = 0x06; 
          CANIDM4  = 0x00;                                                             
          CANIDM3  = 0x00;                                                           
          CANIDM2  = 0xE0;                                                     
          CANIDM1  = 0xFF;
         break;
        }
       //MOB2=TX
      case 2:
        {
         CANSTMOB = 0x00;
          CANCDMOB = 0x08;
          CANIDT4 = 0x00;                                                       
          CANIDT3 = 0x00;                                                             
          CANIDT2 = 0x20;                                                             
          CANIDT1 = 0xC4;
         break;
        }
      }
                                                  
}


void Send_Data_To_CAN (unsigned char CAN_Page_Num,  short int Pack_Len)
{

    if(CAN_Page_Num <= CAN_PAGE_MAX_NUM)
     {
      CANPAGE = CAN_Page_Num << 4;
      CAN_Init(CAN_Page_Num);
                                
                  for(unsigned char i = 0; i < Pack_Len; i++)
               CANMSG = buffer[i];
       
            CANCDMOB = 0x48;
       
      }
}



Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не работает CAN на AT90CAN64
СообщениеДобавлено: Чт апр 26, 2012 21:00:06 
Встал на лапы

Зарегистрирован: Ср янв 18, 2012 19:37:10
Сообщений: 129
Рейтинг сообщения: 0
вобщем, вопрос снимается. Все работает, просто у контроллера кварц отвалился, поэтому на выходе ниче и не было.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y