Здравствуйте. Пользуюсь MCP2515. Скажите, при переполнении счётчика ошибок приёма и передачи MCP переходит в режим bus-off. Судя по даташиту, сбросить регистры 1С(кол-во ошибок передачи) и 1D (чтения) нельзя. В разделе 6 сказано, что только в регистре 2D (ERROR FLAG) можно сбросить BIT6, BIT7.
bit7 RX1OVR: Receive Buffer 1 Overflow Flag bit - Set when a valid message is received for RXB1 and CANINTF.RX1IF = 1
bit6 RX0OVR: Receive Buffer 0 Overflow Flag bit - Set when a valid message is received for RXB0 and CANINTF.RX1IF = 1
Что они означают? И вообще, что делать если какой либо счётчик превысил значение 127 или предупреждающие 96?
Поясните пожалуйста про 3 регистра CNF1 (адрес 2A), CNF2 (29), CNF3 (28). Как эту скорость настроить? У меня кварц 8МГц, частота шины 250 кбит/с, стандарт J1939.
ldimitri, Вы дали пример: #define FOSC 8000000 (моя частота кварца) #define NTQ 8 (а это что означает?) #define BRP_VAL(BITRATE) ((FOSC /(2*NTQ*BITRATE))-1) (BITRATE это скорость? в кбит/с ?)
Такой код сконфигурирует MCP2510 на работу по CAN со скоростью 250КБит/с: ?
__mcp_write(CNF1, BRP_VAL(125000)); __mcp_write(CNF2, 0x90); __mcp_write(CNF3, 0x02);
А MCP надо конфигурировать для автоматической настройки скорости? Как она происходит?
Сообщение отредактировал KARLSON - Mar 18 2011, 12:47
--------------------
Кризис - это не отсутствие денег, а отсутствие идей! Учитесь и никаких кризисов не будет.
|