用UDC3138做的一个恒流数字电源,SCI做的485通信,通过485设置输出电流,当设置的电流设置在5以下时,电源工作正常,通讯也正常,但是当电流设置在5A时,485就不通讯了,而且后面也不会通讯;
我使用了一个定时10s不通讯就复位SCI功能,也不能恢复通讯,除非在电源停止工作时,复位功能才起作用,可以恢复通讯,但是根据电源工作要求,这个方式行不通,只能用来验证,是由于电流过大造成的通讯中断;
请教有什么方法可解决此问题,或者在SCI软件配置上有什么方法可以改善?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
用UDC3138做的一个恒流数字电源,SCI做的485通信,通过485设置输出电流,当设置的电流设置在5以下时,电源工作正常,通讯也正常,但是当电流设置在5A时,485就不通讯了,而且后面也不会通讯;
我使用了一个定时10s不通讯就复位SCI功能,也不能恢复通讯,除非在电源停止工作时,复位功能才起作用,可以恢复通讯,但是根据电源工作要求,这个方式行不通,只能用来验证,是由于电流过大造成的通讯中断;
请教有什么方法可解决此问题,或者在SCI软件配置上有什么方法可以改善?
电源功率小时就没问题,功率大一点就又不行了,代码是参考的例程,
MiscAnalogRegs.IOMUX.bit.JTAG_DATA_MUX_SEL = 1;//配置TDO_Pin功能为SCI_TX-0; TDI_Pin功能为SCI_RX-0
Uart0Regs.UARTCTRL3.bit.SW_RESET = 0x0;
//-UART控制寄存器0配置UARTCTRL0 ---波特率57600,数据位8位,检验位无,停止位1位
Uart0Regs.UARTCTRL0.bit.ADDR_MODE = 0;
Uart0Regs.UARTCTRL0.bit.DATA_SIZE = 0x07;
Uart0Regs.UARTCTRL0.bit.SYNC_MODE = 0x01;
Uart0Regs.UARTCTRL0.bit.PARITY_ENA = 0x0;
Uart0Regs.UARTCTRL0.bit.PARITY = 0x00;
Uart0Regs.UARTCTRL0.bit.STOP = 0x0;
Uart0Regs.UARTHBAUD.bit.BAUD_DIV_H = 0x0;
Uart0Regs.UARTMBAUD.bit.BAUD_DIV_M = 0x0;
Uart0Regs.UARTLBAUD.bit.BAUD_DIV_L = 0x21;
Uart0Regs.UARTRXST.bit.RX_ENA = 0x01;
Uart0Regs.UARTTXST.bit.TX_ENA = 0x01;
//-UART中断状态寄存器UARTINTST(只读)
Uart0Regs.UARTINTST.all = 0xff;
Uart0Regs.UARTINTST.all = 0;
rx_byte0 = Uart0Regs.UARTRXBUF.all; //清除RXRDY标识
Uart0Regs.UARTIOCTRLTX.bit.IO_FUNC = 0x01;
Uart0Regs.UARTIOCTRLRX.bit.IO_FUNC = 0x01;
Uart0Regs.UARTCTRL3.bit.CLOCK = 0x01;
Uart0Regs.UARTCTRL3.bit.SW_RESET = 0x01;
Uart0Regs.UARTIOCTRLSCLK.bit.IO_FUNC = 0x0;
Uart0Regs.UARTTXBUF.all = '\n'; //put out a byte to get things started.