/***************************************************************************** * * CAN Test APP * - header file of at90can.c * * Compiler : avr-gcc 4.3.0 / avr-libc 1.6.2 / AVR Studio 4.14 * size : 2,02KB * by : Thomas Fuchs, Wolfsburg, Germany * linux@cc-robotics.de * * License : Copyright (c) 2009 Thomas Fuchs * * Tested with AT90CAN128 ****************************************************************************/ // CPU speed #define F_CPU 16000000UL #define CAN_DDR DDRD #define CAN_RX 6 #define CAN_TX 5 // message objects #define NR_MOBS 15 // number of message objects #define NOMOB 0xff // global structs and variables typedef struct { uint16_t id; // MSG ID 11 Bit uint16_t msk; // Mask for ID 11 Bit uint8_t length; // DLC length uint8_t data[8]; // Data field 8 Byte }CAN_messageType; // CAN 2.0 A message 11 Bit // globale Varaiabe für empfangene CAN-Botschaft CAN_messageType recMsg; //CAN speed-settings for 16MHz const prog_char _at90can_cnf[8][3] = { // 10 kbps { 0x7E, 0x6E, 0x7F }, // 20 kbps { 0x62, 0x0C, 0x37 }, // 50 kbps { 0x26, 0x0C, 0x37 }, // 100 kbps { 0x12, 0x0C, 0x37 }, // 125 kbps { 0x0E, 0x0C, 0x37 }, // 250 kbps { 0x06, 0x0C, 0x37 }, // 500 kbps { 0x02, 0x0C, 0x37 }, // 1 Mbps { 0x00, 0x0C, 0x37 } }; // external functions extern void delay_ms(uint16_t period); //delay routine (milliseconds)