мк AT90CAN32, как запустить CAN на приём данных?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
ABS_NUL
Родился
Сообщения: 6
Зарегистрирован: Пн май 14, 2012 18:19:54

мк AT90CAN32, как запустить CAN на приём данных?

Сообщение ABS_NUL »

Код: Выделить всё

;** Любые другие Для CAN
Vite:
   ldi Bufer,0x00      ; 4-7    :  Выбраны 0 MOb, индекс 0
   sts CANPAGE,Bufer      ; 3       :  Автоинкркмент индекса
   ldi Bufer,0x00      ; 24-31 :  Тег идентификатора =00
   sts CANIDT4,Bufer      ;
   ldi Bufer,0x00      ; 16-23 :  Тег идентификатора =00
   sts CANIDT3,Bufer      ;
   ldi Bufer,0x01      ; 8-15   :  Тег идентификатора =01
   sts CANIDT2,Bufer      ;
   ldi Bufer,0x00      ; 3-7     :  Тег идентификатора =00
   sts CANIDT1,Bufer      ; 2        :  Тег запроса удалённой передачи
   clr Bufer         ; 1        :  Бит1 удалённого кадра или кадра данных для передачи
            ; 0        :  Бит0 удалённого кадра или кадра данных для передачи
   sts CANMSG,Slovo1      ; Передача по CAN
Vite1:
   lds Bufer,CANGSTA      ; Ожидание передачи
   sbrc Bufer,4      ;
   rjmp Vite1         ;
   sts CANMSG,Slovo2      ; Передача по CAN (Запись в MOb0)
Vite2:
   lds Bufer,CANGSTA      ; Ожидание передачи
   sbrc Bufer,4      ;
   rjmp Vite2         ;
   sts CANMSG,Slovo3      ; Передача по CAN (Запись в MOb1)
Vite3:
   lds Bufer,CANGSTA      ; Ожидание передачи
   sbrc Bufer,4      ;
   rjmp Vite3         ;
   sts CANMSG,Slovo4      ; Передача по CAN (Запись в MOb2)
Vite4:
   lds Bufer,CANGSTA      ; Ожидание передачи
   sbrc Bufer,4      ;
   rjmp Vite4         ;
   sts CANMSG,Slovo5      ; Передача по CAN (Запись в MOb3)
Vite5:
   lds Bufer,CANGSTA      ; Ожидание передачи
   sbrc Bufer,4      ;
   rjmp Vite5         ;
   sts CANMSG,Slovo6      ; Передача по CAN (Запись в MOb4)
Vite6:
   lds Bufer,CANGSTA      ; Ожидание передачи
   sbrc Bufer,4      ;
   rjmp Vite6         ;
   ldi Bufer,0x00
   sts CANMSG,Bufer      ; Передача по CAN (Запись в MOb5)
   ldi Bufer,0x00
   sts CANMSG,Bufer      ; Передача по CAN (Запись в MOb6)
   ldi Bufer,0x46
   sts CANCDMOB,Bufer      ; Начать передачу
    
   ldi Bufer,0x11      ; 4-7:  Выбраны 7 MOb, индекс 1
   sts CANPAGE,Bufer      ; 3       :  Автоинкркмент индекса
   ldi Bufer,0x00      ; 24-31 :  Тег идентификатора =00
   sts CANIDT4,Bufer      ;
   ldi Bufer,0x02      ; 16-23 :  Тег идентификатора =02
   sts CANIDT3,Bufer      ;
   ldi Bufer,0x00      ; 8-15   :  Тег идентификатора =00
   sts CANIDT2,Bufer      ;
   ldi Bufer,0x00      ; 3-7     :  Тег идентификатора =00
   sts CANIDT1,Bufer      ; 2         : Тег запроса удалённой передачи
   clr Bufer         ; 1         : Бит1 удалённого кадра или кадра данных для передачи
   ldi Bufer,0x82
   sts CANCDMOB,Bufer      ; Начать приём
            ; 0        : Бит0 удалённого кадра или кадра данных для передачи
;   call Delay
   lds Bufer,CANMSG      ; Приём по CAN (Загрузка из MOb1)
   out PortF,Bufer
   sts $39A,Bufer

:dont_know:
В чём проблема? Передача данных на ура, а принять никак не получается... Если кто сможет дайте работающий код плиз (месяц ковыряюсь).
PS: USART на ней тоже почемуто не работает (ни 1, ни 2)
Последний раз редактировалось ABS_NUL Вт май 15, 2012 18:51:51, всего редактировалось 1 раз.
ABS_NUL
Родился
Сообщения: 6
Зарегистрирован: Пн май 14, 2012 18:19:54

Re: мк AT90CAN32, как запустить CAN на приём данных?

Сообщение ABS_NUL »

:shock: Сегодня набрёл на станность приёма по CAN. Данные он оказывается считывает, но после каждой прошивки они лежат в разных MOb (т. е. прошивая микруху несколько раз, добился результата, но со последующей прошивкой всё сбилось. И так несколько раз). Как зделать чтобы принятые данные сохранялись в определённом MOb? КТО ПОДСКАЖЕТ? ОЧЕНЬ НУНА!!!
ABS_NUL
Родился
Сообщения: 6
Зарегистрирован: Пн май 14, 2012 18:19:54

Re: мк AT90CAN32, как запустить CAN на приём данных?

Сообщение ABS_NUL »

УРА!!! Нашёл причину! Я приём делал на 2.0А, а надобыло на 2.0B! Когда исправил всё заработало!!! Спасибо всем кто хотел мне помочь!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»