san822 2 27 января, 2006 Опубликовано 27 января, 2006 · Жалоба В CAN-контроллере C167 в регистре контроля-состояния CSR есть бит TXOK, который устанавливается если последняя передача сообщения была успешна завершена. При его изменении изменится значение INTID в регистре PCIR – оно будет равно «01» (т.к. CSR обновил состояние). В тоже время, в регистре передающего буфера MCR установится бит INTPND (если это разрешено установкой бита TXIE). Например, если передающий буфер имеет номер 3, то возникает прерывание и бит INTID регистра PCIR будет иметь значение (2 + 3) = «05». Понятно, что прерывание с INTID = «01» имеет больший приоритет и обработается первым, но что будет с прерыванием от передающего буфера ? Будет ли оно «поставлено в очередь» или будет потеряно ? Если у вас возник встречный вопрос - о чём здесь идёт речь, то почитайте сперва файл CAN167.zip, который присоединен к третьему сообщению данной темы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Juan Carlos 0 5 апреля, 2006 Опубликовано 5 апреля, 2006 · Жалоба Чтобы не забыть, может пригодится... Keil Crack работает с Keil c166v602 -> www.megaupload.com/?d=GJI2CQGG Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
legotron 0 21 марта, 2007 Опубликовано 21 марта, 2007 · Жалоба Keil Crack работает с Keil c166v602 -> www.megaupload.com/?d=GJI2CQGG :( что-то ссылочка не работает Может у кто-нибудь скинет crack для Keil (желательно под c166v606), хотя кидайте любую! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wedmeed 0 30 мая, 2011 Опубликовано 30 мая, 2011 · Жалоба Тема, конечно, древняя, но я только сейчас столкнулся с проблемой. 1) Зачем такая хитрая система в регистре MCRn - установка и сброс двумя битами? И как обойтись без того цикла чтение-модификация-запись, про который упоминается в руководстве? Это XRAM, поэтому побитно туда не обратишься, следовательно и команды BFLDL/BFLDH не работают. 2) Как я понимаю - маски работают по принципу сверять идентификатор пришедшего сообщения с полем арбитража в объекте сообщения или нет. Т.е. если маски все в 1, значит жесткое отсеивание - примутся только те сообщения, чьи идентификаторы явно прописаны в приемнике (в поле арбитражей), если маски все нулевые - любое пришедшее собщение запишется в объект первого сообщения. Так это или нет? 3) Если в CSR запретить прерывания, будут ли выставляться флаги этих прерываний? 4) Обязательно ли пользоваться регистром CSR для отслеживания завершения приема-передачи, или можно ограничиться регистром MCR каждого сообщения, там есть аналогичные биты. 5) Если не трудно, опишите последовательность действий при правке сообщения, при постановлении на отправку, при посылке кадра запроса. Желательно в формате "для чайника" по типу: Записываешь в бит ХХ регистра ХХ значение ХХ - для того-то, того-то Записываешь........ и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrew2000 0 31 мая, 2011 Опубликовано 31 мая, 2011 · Жалоба , опишите последовательность действий при правке сообщения, при постановлении на отправку, при посылке кадра запроса. Желательно в формате "для чайника" Скачайте DAVE - он именно это и сделает. http://www.infineon.com/cms/en/product/mic...1134ee4d3b30265 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wedmeed 0 7 июня, 2011 Опубликовано 7 июня, 2011 · Жалоба Кому надо - ответы на часть моих же вопросов. Если запретить все прерывания, их флаги будут выставляться в глобальном регистре, в управляющем регистре каждого сообщения флаги прерываний появляться не будут (все остальные работают как должны). Глобальным регистром и прерываниями пользоваться не обязательно, в регистре управления каждым сообщением достаточно информации чтобы понять что произошло: для принимаемых сообщений - флаг NEWDAT и флаг потерянного пакета MSGLST; Для отправляемых сообщений - тот же NEWDAT (сбрасывается при успешной передаче) и флаг RMTPND + TXRQ. Сам я в начеле основного цикла заполняю буфера, передаю данные и посылаю запросы, в конце основного цикла по флагам проверяю что пришло и распаковываю. В регистре MCRn данная организация чтобы можно было одним MOVом сделать три (а не две - как ORом или ANDом) операции над каждым флагом - установить, сбросить, не менять. Зарезарвированные комбинации при чтении ни разу не возникали, при записи игнорируются. Вопрос по маскам остался. Как работают понять не могу. Если в масках все единички - то сообщение записывается в объект, арбитраж которого полностью совпадет с арбитражем сообщения. При наличии в маске 0 начинается полная абракадарбра. В DAVE про это ничего не сказано - заполнение масок и арбитражей он оставил на моё усмотрение. Если кто в курсе - подскажите пожалуйста. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
velkarn 0 21 июня, 2011 Опубликовано 21 июня, 2011 · Жалоба подскажите, в какой момент происходит считывание данных из внешней памяти (демультиплексная шина), из даташита понял, что по фронту сигнала RD, это верно? интересует вот в каком ключе: если этот сигнал подцепить на CS внешней флехи, будет ли это корректно? не успеет ли она перейти в 3-е состояние до завершения считывания данных? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Neodim 0 10 августа, 2011 Опубликовано 10 августа, 2011 · Жалоба Есть несколько вопросов по C167CR. В блоке управления ДВС (блок на диагностику не выходит) установлен данный процессор, и ЗАДАЧА состоит в проверке работоспособности его. На сколько я правильно понял, то при помощи программы R16x Flash Programmer я могу соединится с процессором. Народ, подскажите где возможно скачать программу или пакет ИСР RIDE??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 11 августа, 2011 Опубликовано 11 августа, 2011 · Жалоба В блоке управления ДВС (блок на диагностику не выходит) установлен данный процессор, и ЗАДАЧА состоит в проверке работоспособности его. На сколько я правильно понял, то при помощи программы R16x Flash Programmer я могу соединится с процессором. Народ, подскажите где возможно скачать программу или пакет ИСР RIDE??? Помню, когда давным-давно занимался C167, прямо на сайте у Infineon была программка Memtool. Сам я ей не пользовался, так как работал с Keil C166, и он делал всё, что мне было нужно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
leonforte 0 11 ноября, 2011 Опубликовано 11 ноября, 2011 · Жалоба Чем можно посмотреть и запрограммировать фьюзы в С167? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
прыгун 0 17 ноября, 2011 Опубликовано 17 ноября, 2011 · Жалоба Чем можно посмотреть и запрограммировать фьюзы в С167? работаю с с167. А что такое фьюзы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
leonforte 0 17 ноября, 2011 Опубликовано 17 ноября, 2011 · Жалоба Да уж сморозил, я имею ввиду регистры. Пробовал MiniMon читать есть только соединение с проц. Подскажите чем можно посмотреть и записать состояние регистров. Соединение по UART. Пробовал FLASHit - читается и пишется нормально,а посмотреть и записать состояние регистров - не доходит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wedmeed 0 17 ноября, 2011 Опубликовано 17 ноября, 2011 (изменено) · Жалоба Да уж сморозил, я имею ввиду регистры. Пробовал MiniMon читать есть только соединение с проц. Подскажите чем можно посмотреть и записать состояние регистров. Соединение по UART. Пробовал FLASHit - читается и пишется нормально,а посмотреть и записать состояние регистров - не доходит. Регистры в этом контроллере - всего навсего кусок оперативки. Посмотрите, куда в программе указывет CP и 30 байт вниз от этого адреса - и есть регистры. Если, конечно, в указанных программах есть возможность читать ОЗУ. Мы на работе используем небольшие самописные модули, например перекладка PECCом в S0TBUF. Т.к. это кусок ОЗУ - запрограммировать его невозможно. Начальные значения копировать в регистры при инициализации в самом коде. Хотя я на практике сталкивался, что минут пять без питания в ОЗУ остается висеть мусор - так что желательно в инициализации еще и обнулять всю ОЗУ. Изменено 18 ноября, 2011 пользователем wedmeed Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
leonforte 0 18 ноября, 2011 Опубликовано 18 ноября, 2011 · Жалоба Да,есть функция считывания содержания отдельных адресов с указанием с какого и по какой адрес нужно. Спасибо,wedmeed, за подсказку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wedmeed 0 18 ноября, 2011 Опубликовано 18 ноября, 2011 · Жалоба Небольшое уточнение - вниз от CP - т.е. в сторону увеличения адресов (по привычке в голове карта памяти как в дизассемблере). Содержимое CP = адрес R0, прибавляем 2 - R1. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться