arm7串口采用奇偶校验 强制为1或0的方式实现对应ch375的9位数据发送,可为什么ch375没反应呢(不回复)。我是这样做的程序: 请赐教问题出在哪 芯片复位正常 void USB_UART_INIT(void) { unsigned long Fdiv; //uart1 p2.0 p2.1 PINSEL4=(PINSEL4&0xffCffff0)|0x0000000A; //使用UTAR1功能 P2.10 U1LCR = 0xBB; //8数据位 一个停止位 奇偶校验位 校验位强制为1 Fdiv = ( Fpclk / 16 ) / UART1_BAUDRATE ; U1DLM = Fdiv / 256; U1DLL = Fdiv % 256; U1LCR = 0x2B; U1FCR = 0x07; }
void CH375_WR_CMD_PORT( unsigned char cmd ) { U1LCR = 0x2B; //(U1LCR&0x0F)|第9位强制为1 while (!(U1LSR & 0x20)); U1THR = cmd; } void CH375_WR_DAT_PORT( unsigned char dat ) { U1LCR = 0x3B; //(U1LCR&0x0F)|第9位强制为0 while (!(U1LSR & 0x20)); U1THR = dat; }
unsigned char CH375_RD_DAT_PORT(void) { char re_dat; while ((U1LSR & 0x01)==0); re_dat=U1RBR; // DEBUG("14!"); return re_dat; }