各位好友,我现在做的一个项目需要实现主调机与次调机之间的通信,用的是M0516芯片的UART1部分。由于是远距离传输,要用485通信。1台主调机,3台次调机,主调主动向次调机发指令,次调机用查询方式接受主调机的指令,并作出相应的反应,并返回给主调机相应的返回指令。这里我不太会配置485通信模式,查询方式也不太懂
loop1:
STR_UART_T sram1 ;
DrvGPIO_InitFunction(E_FUNC_UART1);
/* Select UART Clock Source From 12MHz */
DrvSYS_SelectIPClockSource(E_SYS_UART_CLKSRC,3);
sram1.u32BaudRate = 4800; //115200
sram1.u8cDataBits = DRVUART_DATABITS_8;
sram1.u8cStopBits = DRVUART_STOPBITS_1;
sram1.u8cParity = DRVUART_PARITY_NONE;
sram1.u8cRxTriggerLevel = DRVUART_FIFO_1BYTES;
sram1.u8TimeOut = 0; //
DrvUART_Open(UART_PORT1, &sram1);
UART1->MCR.LEV_RTS = 0; //485接收模式
if(UART1->FSR.RX_EMPTY ==0) //==0表明接到新数据!空闲状态是1
jieshou_485(ctreceive_485,10);
。。。。。。。。。
。。。。。。。。。
goto loop1;
不知道这样行不行 |