Отговори на тема  [ 4 мнения ] 
Atmel uc3c, can_get_mob_dlc проблем 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 10:32 pm
Мнения: 710
Мнение Atmel uc3c, can_get_mob_dlc проблем
В Атмел студио, ползвам asf CAN драйвера.
Ако всичките CAN съобщения са с еднакъв брой Data байтове - всичко е ОК.
Обаче, при смяна на броя байтове, като че ли в DLC, който получавам от asf драйвера, се OR-ва броя на байтовете в последователните пакети.

Пробвахме да нулираме DLC - не се получи ефект :)
Код:
//      CANIF_mob_clr_dlc(channel->channel, handle);
      ((unsigned volatile long*)&(AVR32_CANIF.channel[channel->channel].mobctrl))[handle*3]=0;
      CANIF_mob_clear_status(channel->channel, handle);
      can_rx(channel->channel, handle, CAN_DATA_FRAME, &RX_DUMMY_MSG);

Къде ли е проблема?

малко Log: първият пакет е 6 байта (DLC 6), втория 5 байта, получвам DLC 7 (5 or 6):
0000000012 0000000000 00000000 7 00 00 00 00 00 00 00
0000000011 0000000000 00000000 6 00 00 00 00 00 00
ПП: Пакетите са от ДОЛУ НАГОРЕ !!!

ППП: И сме със стара версия на ASF: май 3.5.1 :), за сега.


Вто Юли 05, 2016 12:11 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение Re: Atmel uc3c, can_get_mob_dlc проблем
Тия съобщения авр-а ги праща или ги получава? Ако ги получава да не е проблема в рс частта или адаптера. Пробвай с нещо, дето си сигурен че работи, че така като правиш и двете страни и кой знае :D .


Вто Юли 05, 2016 2:13 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 10:32 pm
Мнения: 710
Мнение Re: Atmel uc3c, can_get_mob_dlc проблем
Оправи се. Заблудил съм че, че
CANIF_mob_clr_dlc(channel->channel, handle);
не е подействало, защото си мислех, че проблемът е само при предаване (от ATMEL процесора към CAN интерфейса).
Оказа ае, че DLC трябва да се нулира и при приемане и при предаване.


Вто Юли 05, 2016 4:55 pm
Профил ICQ WWW
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 10:32 pm
Мнения: 710
Мнение Re: Atmel uc3c, can_get_mob_dlc проблем
Някой да е правил формулка (и да му се споделя? :)) за инициализация на променливите на AVR CAN скорости?
За сега ползвам табличка (тествана за 125К, 250К, 500К)
Код:
typedef struct
{
   Bool   bSupported;
   U8      swj;
   U8      pres;
   U8      prs;
   U8      phs1;
   U8      phs2;
   
}BAUD_VAL_CFG;
Код:
static const BAUD_VAL_CFG baudCfg[CAN_BAUD_MAX] =
{
   //   CAN_BAUD_10K,
   {FALSE},
   //   CAN_BAUD_20K,
   {FALSE},
   //   CAN_BAUD_50K,   Not tested
   {FALSE, 1,   19,   6,   3,   3},   
   //   CAN_BAUD_100K,   Not tested
   {FALSE, 1,   9,   6,   3,   3},
   //   CAN_BAUD_125K,
   {TRUE, 1,   7,   6,   3,   3},
   //   CAN_BAUD_250K,
   {TRUE, 1,   3,   6,   3,   3},
   //   CAN_BAUD_500K,
   {TRUE, 1,   1,   6,   3,   3},
   //   CAN_BAUD_800K,   Not tested
   {FALSE, 1,   1,   3,   2,   2},
   //   CAN_BAUD_1000K,   Not tested
   {FALSE, 1,   1,   2,   1,   1},
};


Вто Юли 12, 2016 10:31 am
Профил ICQ WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 4 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 12 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни