多个uart xc8上的Printf

问题描述 投票:0回答:1

我经常使用 ccs,现在我开始使用 xc8。

在ccs中使用多个uart时,命名一个流配置uart并使用fprintf(stream,"TEXT");

示例:

#use rs232 (UART1,BAUD=115200, XMIT=PIN_C6, RCV=PIN_C7, PARITY=N, BITS=8,errors,TIMEOUT=1000,STREAM=main)

#use rs232 (UART2,BAUD=115200, XMIT=PIN_B0, RCV=PIN_B1, PARITY=N, BITS=8,errors,TIMEOUT=1000,STREAM=minor)

void main(){
    fprintf(main, "\r\nUART1");
    fprintf(minor, "\r\nUART2");
}

我想知道是否有人有在 xc8 中执行此操作的示例

printf uart xc8
1个回答
0
投票

我认为你能做的最好的事情就是:

uint8_t printEUSART = 0;

void putch(char txData)
{
    if (printEUSART == EUSART2) {
        EUSART2_Write(txData);
    }
    else {
        EUSART1_Write(txData);
    }
}

在主打印第一个USART:

printEUSART = EUSART1;
printf("%s\r\n", string);

在 main 或其他函数上打印第二个 USART:

printEUSART = EUSART2;
printf("%s\r\n", string);
© www.soinside.com 2019 - 2024. All rights reserved.