Gast
#116933
Hallo, ich möchte mit dem SJA1000 und 82C250 einen CAN-Bus Knoten aufbauen. Wenn ich dem SJA1000 per 8515 ein Senderequest schicke, setzt der SJA1000 das Statusregister auf 0x00 (-> SJA1000 beschäftigt). Und der SJA1000 nimmt das 0x00 nicht mehr zurück, d.h. ist nach dem ersten Senden von zwei Bytes dauernd beschäftigt . Hier der Codingausschnitt, um den den SJA1000 zu initialisieren: while (!CAN_CTRL & RESREQ) // sja in reset-mode setzen CAN_CTRL = RESREQ; CAN_AC = OWN_ID; // eigene ID (=0x00) setzen, höchste Prio CAN_AM = ACCEPTMASK; // (0xFF) jede Nachricht akzeptieren CAN_TMG_0 = 0x03; CAN_TMG_1 = 0x1c; CAN_OCR = 0xde; CAN_CLKDIV = 0x07; CAN_CTRL = 0x5e; CAN_CMD = 0x0c; Folgendes Codinig soll den SJA1000 zum Absetzen von zwei Bytes auf den Bus bewegen: id = 0x500; // len = 2; // Nachrichtenlänge CAN_TX_ID = id >> 3; // CAN_TX_ID Bit 10 bis 3 des Identifiers CAN_TX_LEN = ((id & 0x07) << 5) | len; // in CAN_TX_LEN (Bit7 bis 5) steht Bit2-0 des Identifiers CAN_TX_BUF0 = 'J'; CAN_TX_BUF1 = 'R'; CAN_CMD = TXREQ; Kann es an der Hardware liegen? Mir ist noch so ganz klar, wieso der SJA zwei Sende- und zwei Empfangspins hat (TX0, TX1 und RX0, RX1). Habe einfach das TX0 (SJA) mit dem TxD (82C250) verbunden einschließlich R=470 gegen +5V. TX1 (SJA) offen gelassen, RX0 (SJA) an RxD (82C250), wieder mit R=470 gegen +5V. RX1 (SJA) über R=6,2k gegen +5V und R=über 3,3k gegen GND gelegt. Gibt es irgendwo Infos wie der 82C250 an den SJA1000 angeschlossen werden kann und wozu die TX1 und RX1 des SJA1000 da sind? Die Datenblätter beider IC's geben da nicht soviel her. Vielen Dank. Gruß, Jan
