1. Заменил ATmega64 на AT90CAN128 у двух своих устройств + добавил КАН приёмопередатчики. 2. Переписал программу (таблица прерываний и обращение к портам). 3. Разобрался (более-менее) с КАН-овскими портами. 4. Написал примитивную посылалку - принималку по КАН. 5. Попробовал - всё сразу заработало! 6. Отрубил у принимающего устройства TXCAN (не передаёт в линию ACK) - начались вопросы: У принимающего устройства возникает ошибка "ACK error", хотя по описанию (да и логически) должна-бы возникнуть "Bit Error". Устройство-то передаёт в линию 0-й уровень (ACK), а в линии 1. 7. Запретил у принимающего устройства приём адреса генерируемого передатчиком. Судя по описанию в этом случае должна возникнуть общая ошибка - ACK error general (в линии имеется кадр с ресессивным уровнем в бите ACK). Реально у приёмника не возникает никаких ошибок. Пробовал запретить все MOb вообще, проверял разрешение всего, что относится к общим ошибкам - бесполезно.
Особенно волнует отсутствие общей ошибки (планировал использовать), что это - глюк в AT90CAN128, или во мне.
|