Перейти к содержанию
    

uVision4: эмуляция прерывания от CAN. У кого получилось?

Отлаживаю программу в IDE и пытаюсь сэмулировать прерывание от CAN с помощью следующего отладочного скрипта:

 

func void CAN_transmit(void) {
    CAN1ID = 0xC7;        // CAN message ID
    CAN1L = 7;        // message length
    CAN1B0 = 0x07;        // message data byte 0
    CAN1B1 = 0xD4;        // message data byte 1
    CAN1B2 = 0x0C;        // message data byte 2
    CAN1B3 = 0x1F;        // message data byte 3
    CAN1B4 = 0x0A;        // message data byte 4
    CAN1B5 = 0x01;        // message data byte 5
    CAN1B6 = 0x00;        // message data byte 6
    CAN1B7 = 0x00;        // message data byte 7
    CAN1IN = 1;        // send CAN message
}

define button "Send CAN message", "CAN_transmit();"

 

Программа рабочая, т.е. на реальном железе прерывания генерятся как надо, но в симуляторе почему-то этого не происходит.

 

Вопрос: а вообще с помощью отладочного скрипта возможно сэмулировать прерывание от CAN? У кого-нибудь получалось? Инет на эту безмолвствует, в лучшем случае есть что-то про эмуляцию прерываний для 8085.

 

P.S. А вот от UART прерывание по нажатию клавиши генерится! :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а у Кейлов не спрашивали? Хоть они и тормознутые на ответ, а могут и вообще не ответить, но все бывает... :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а у Кейлов не спрашивали? Хоть они и тормознутые на ответ, а могут и вообще не ответить, но все бывает... :laughing:

 

Спрашивал на форуме. Даже расписал по шагам, как воспроизвести это на кейловском же примере. Но они там, похоже, не читатели, а писатели, поэтому пишут пока хрень типа "ты наверное прерывания неправильно настроил". :) Ладно, посмотрим, что дальше будет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё заработало. Короче, надо внимательно следить за настройками (в моём случае - PCONP и Acceptance Filter). А кейловский пример не работал потому, что Acceptance Filter был настроен не на тот идентификатор, который я посылал из скрипта. На кейловском форуме надоумили. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...