一转多串口芯片GM8125的初始化程序 2009-02-22 09:38 由于新产品的需求,原先mega64l的两个串口不够用了,需要在产品里加入一个扩展串口芯片,选择了GM8125(成都一家公司产的,用到现在感觉还行),但开始和这位同志的沟通上出现了不少问题,现在终于是和他熟悉了,把我做的GM8125初始化程序写在这里,希望能对大家有点用,不完善之处请指出,我会很感激的。 //用PB口控制 GM8125的各个控制引脚 #define CHOOSE_MODE PB0 //8125通道模式选择 #define STADD0 PB2 //8125 STADD0 #define STADD1 PB3 //8125 STADD1 #define STADD2 PB4 //8125 STADD2 #define SRADD0 PB5 //8125 SRADD0 #define SRADD1 PB6 //8125 SRADD1 #define SRADD2 PB7 //8125 SRADD2 //将某引脚置 1 void setb_port(uint8_t i0,uint8_t i1) { switch(i0) { case 1:PORTA|=(1<>4) { case 0: scon_order[0]=c00; break; ....//program code default: break; } } //发送中断1 INTERRUPT(SIG_UART1_TRANS) //INTERRUPT { return; } //把GM8125初始化为多通道工作模式 void uwart_init(void) { uint8_t result=0; UCSR1B=0xdc; //8125复位后贞格式为11bit,与 8125同步 while(result!=0xf3) { wd_tmer=0; delay_ms2(30); clr_port(7,PG4); //芯片复位 rst8125-PG4 delay_ms2(50); setb_port(7,PG4); delay_ms2...