|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 2:06 pm
|
Страница 1 от 1
|
[ 4 мнения ] |
|
Atmel uc3c, can_get_mob_dlc проблем
| Автор |
Съобщение |
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 10:32 pm Мнения: 710
|
 Atmel uc3c, can_get_mob_dlc проблем
В Атмел студио, ползвам asf CAN драйвера. Ако всичките CAN съобщения са с еднакъв брой Data байтове - всичко е ОК. Обаче, при смяна на броя байтове, като че ли в DLC, който получавам от asf драйвера, се OR-ва броя на байтовете в последователните пакети. Пробвахме да нулираме DLC - не се получи ефект  Къде ли е проблема? малко 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 |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
 Re: Atmel uc3c, can_get_mob_dlc проблем
Тия съобщения авр-а ги праща или ги получава? Ако ги получава да не е проблема в рс частта или адаптера. Пробвай с нещо, дето си сигурен че работи, че така като правиш и двете страни и кой знае  .
|
| Вто Юли 05, 2016 2:13 pm |
|
 |
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 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 |
|
 |
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 10:32 pm Мнения: 710
|
 Re: Atmel uc3c, can_get_mob_dlc проблем
Някой да е правил формулка (и да му се споделя?  ) за инициализация на променливите на AVR CAN скорости? За сега ползвам табличка (тествана за 125К, 250К, 500К)  |  |  |  | Код: 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 |
|
|
|
Страница 1 от 1
|
[ 4 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|