⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.h

📁 AVR ISO9141 OBDII Souce code
💻 H
字号:
/*************************************************************************
**  AVR ISO 9141/14230-2 Interface
**  by Michael Wolf
**
**  Released under GNU GENERAL PUBLIC LICENSE
**
**  contact: webmaster@mictronics.de
**  homepage: www.mictronics.de
**
**  Revision History
**
**  when         what  who			why
**
**************************************************************************/
#ifndef __MAIN_H__
#define __MAIN_H__

// Set RS232 baud rate
#define BAUD_RATE    115200					// Config USART communication speed

#define SERIAL_MSG_BUF_SIZE	18

unsigned char serial_msg_buf[SERIAL_MSG_BUF_SIZE];	 // serial Rx buffer
signed char *serial_msg_pntr;

static char ident_txt[]    PROGMEM = "AVR-ISO/KWP2000 v1.00\n\r" __DATE__" / "__TIME__"\n\r\n\r\0";

static char bus_init_txt[]     PROGMEM = "BUS INIT:...ERROR";
static char init_failed_txt[]  PROGMEM = "FAILED\n\r";
static char init_ok_txt[]      PROGMEM = "OK\n\r";
static char bus_busy_txt[]     PROGMEM = "BUSBUSY\n\r";
static char bus_error_txt[]    PROGMEM = "BUSERROR\n\r";
static char data_error_txt[]   PROGMEM = "<DATA ERROR\n\r";
static char no_data_txt[]      PROGMEM = "NO DATA\n\r";

// define bit macros
#define SETBIT(x,y) (x |= (y)) 		// Set bit y in byte x
#define CLEARBIT(x,y) (x &= (~y)) // Clear bit y in byte x
#define CHECKBIT(x,y) (x & (y)) 	// Check bit y in byte x

// define parameter bit mask constants 
#define ECHO 		  0x0001 // bit 0 : Echo on/off
#define HEADER	  0x0002 // bit 1 : Headers on/off
#define LINEFEED  0x0004 // bit 2 : Linefeeds on/off
#define RESPONSE  0x0008 // bit 3 : Responses on/off
#define PACKED    0x0010 // bit 4 : use packed data
#define AUTO_RECV 0x0020 // bit 5 : auto receive on/off
#define MON_TX		0x0040 // bit 6 : monitor transmitter
#define MON_RX		0x0080 // bit 7 : monitor receiver
#define CONNECTED	0x0100 // bit 8 : bus init done, connected to bus

// use of bit-mask for parameters init to default values
volatile unsigned int parameter_bits = ECHO|LINEFEED|RESPONSE|AUTO_RECV;

unsigned char iso_req_header[3] = {0xC1, 0x33, 0xF1};  // default request header
unsigned char auto_recv_addr = 0x6B;  // physical or functional address in receive mode
unsigned char mon_receiver;  // monitor receiver only addr
unsigned char mon_transmitter;  // monitor transmitter only addr

unsigned char timeout_multiplier;  // default 4ms timeout multiplier

#define UART_BAUDRATE   ((unsigned int)((unsigned long)MCU_XTAL/((unsigned long)BAUD_RATE*16)-1))	// calculate baud rate value for UBBR

unsigned char iso_msg_buffer[260];

void serial_putc(unsigned char data);
void serial_put_byte2ascii(unsigned char val);
void serial_puts_P(const char *s);
void print_prompt(void);
void ident(void);
static unsigned char ascii2byte(char *val);

#endif // __MAIN_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -