有谁用AVR的MEGE系列做过485通信程序?给个例程好吗?

来源:百度知道 编辑:UC知道 时间:2024/06/22 00:58:07
只需要简单的收发测试功能就可以

这是我用ATmega162做的协议转换的程序,带通讯协议,RS485就是在RS232的程序基础上加上发送和接收的控制即可,
用CVAVR软件编的,如果有不明白之处,请发信息

void ReturnXMTA808(unsigned char pvAddr);
void putchar1(char c);

#define RXB8 1
#define TXB8 0
#define UPE 2
#define OVR 3
#define FE 4
#define UDRE 5
#define RXC 7

#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<OVR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)

unsigned int tempdat=0;
char ttup=0;
char ttdown=0;
char temp=0;
char SlaveAddr=0;

// USART0 Receiver buffer
#define RX_BUFFER_SIZE0 8
char rx_buffer0[RX_BUFFER_SIZE0];

unsigned char rx_wr_index0,rx_counter0;//rx_rd_index0,

// This flag is set on USART0 Receiver buffer overflow
bit rx_buffer_overflow0;
//bit slaveokflag;

// USART0 Receiver interrupt service routi