guest53493 0 19 октября, 2012 Опубликовано 19 октября, 2012 · Жалоба Отлаживаю программу в 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 прерывание по нажатию клавиши генерится! :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 0 22 октября, 2012 Опубликовано 22 октября, 2012 · Жалоба а у Кейлов не спрашивали? Хоть они и тормознутые на ответ, а могут и вообще не ответить, но все бывает... :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
guest53493 0 22 октября, 2012 Опубликовано 22 октября, 2012 · Жалоба а у Кейлов не спрашивали? Хоть они и тормознутые на ответ, а могут и вообще не ответить, но все бывает... :laughing: Спрашивал на форуме. Даже расписал по шагам, как воспроизвести это на кейловском же примере. Но они там, похоже, не читатели, а писатели, поэтому пишут пока хрень типа "ты наверное прерывания неправильно настроил". :) Ладно, посмотрим, что дальше будет... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
guest53493 0 23 октября, 2012 Опубликовано 23 октября, 2012 · Жалоба Всё заработало. Короче, надо внимательно следить за настройками (в моём случае - PCONP и Acceptance Filter). А кейловский пример не работал потому, что Acceptance Filter был настроен не на тот идентификатор, который я посылал из скрипта. На кейловском форуме надоумили. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться