CAN 비트 타이밍에 대한 J1939 정의를 설정하는 데 도움이 필요합니다. 나는 8 MHz 클록으로 PIC18LF26K80 마이크로 컨트롤러를 사용하고있다. CAN 레지스터의 다른 비트를 계산하는 방법을 파악하는 데 문제가 있습니다.J1939 CAN 비트 타이밍
지금 내 J1939.def 파일에 난이 있지만 그것은 내 마이크로 컨트롤러의 문서를 검토 한 결과
#define ECAN_RX_INTERRUPT_PRIORITY 0x00
#define ECAN_TX_INTERRUPT_PRIORITY 0x00
#define ECAN_INTERRUPT_PRIORITY (ECAN_RX_INTERRUPT_PRIORITY | ECAN_TX_INTERRUPT_PRIORITY)
#define ECAN_LEGACY_MODE J1939_TRUE
#define ECAN_EXTRA_RX_BUFFERS 3
#define ECAN_SJW 2
#define ECAN_BRP 1
#define ECAN_BRGCON1 (((ECAN_SJW-1)<<6) | (ECAN_BRP-1))
#define ECAN_SEG2PHTS 0x80
#define ECAN_SAM 0x00
#define ECAN_SEG1PH 6
#define ECAN_PRSEG 6
#define ECAN_BRGCON2 (ECAN_SEG2PHTS | ECAN_SAM | ((ECAN_SEG1PH-1)<<3) | (ECAN_PRSEG-1))
#define ECAN_WAKDIS 0x80
#define ECAN_WAKFIL 0x00
#define ECAN_SEG2PH 3
#define ECAN_BRGCON3 (ECAN_WAKDIS | ECAN_WAKFIL | (ECAN_SEG2PH-1))
16 MHz의 클럭이며 비트하지만 난을 설정하는 방법을 보여줍니다 여전히 8 MHz 클록을 계산하기 위해 해당 정보를 사용하는 방법을 이해하지 못합니다.