主题中讨论的其他器件:TM4C123GH6PM、 EK-TM4C123GXL
工具/软件:TI C/C++编译器
大家好、我使用的是 Tiva launchpad tm4c123ghpm、我遇到了问题。 当将数据从 Tiva 转换到虚拟 COM 时、我突然将数据从虚拟 COM 发送到 Tiva、那么它就不再传输了。 就像发送或接收一样。 因此我决定使用2个 UART、1个用于发送、1个用于接收、但它似乎不起作用。 我将在下面发布我的代码。 请帮帮我。
静态空 Reset_Buffer (char * pBuff)
{
while (*pBuff!=0x0A)
{
*pBuff=0;
pBuff++;
}
*pBuff=0;
}
extern void UARTGetBuffer (char * pBuff)
{
静态 uint16_t i=0;
字符 c;
if (i=0)
RESET_Buffer (pBuff);
while (UARTCharsAvail (UART0_BASE))
{
C=UARTCharGet (UART0_BASE);
*(pBuff+I)=c;
i++;
}
if (c=0x0A)
I=0;
}
extern void UART_ISR (void)
{
UARTIntClear (UART0_BASE、UARTIntStatus (UART0_BASE、TRUE));
while (flag);
UARTGetBuffer (&buff [0]);
//UARTSendS("123");
UARTIntClear (UART0_BASE、UARTIntStatus (UART0_BASE、TRUE));
}
extern void Config_UART (void)
{
SysCtlPeripheralEnable (SYSCTL_Periph_UART0);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
GPIOPinConfigure (GPIO_PA0_U0RX);
GPIOPinConfigure (GPIO_PA1_U0TX);
GPIOPinTypeUART (GPIO_Porta_base、GPIO_PIN_0|GPIO_PIN_1);
UARTClockSourceSet (UART0_BASE、UART_CLOCK_SYSTEM);
UARTConfigSetExpClk (UART0_BASE、SysCtlClockGet ()、115200、UART_CONFIG_WLEN_8|UART_CONFIG_STOP_ONE|UART_CONFIG_PAR_NONE);
UARTIntRegister (UART0_BASE、UART_ISR);
IntEnable (INT_UART0);
UARTIntEnable (UART0_BASE、UART_INT_RX|UART_INT_RT);
}
extern void Config_UART1 (void)
{
SysCtlPeripheralEnable (SYSCTL_Periph_UART1);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB);
GPIOPinConfigure (GPIO_PB0_U1RX);
GPIOPinConfigure (GPIO_PB1_U1TX);
GPIOPinTypeUART (GPIO_PORTB_BASE、GPIO_PIN_0|GPIO_PIN_1);
UARTClockSourceSet (UART1_base、UART_CLOCK_SYSTEM);
UARTConfigSetExpClk (UART1_base、SysCtlClockGet ()、115200、UART_CONFIG_WLEN_8|UART_CONFIG_STOP_ONE|UART_CONFIG_PAR_NONE);
}
空 UARTSendS (无符号字符*s)
{
while (*s!='0')
{
UARTCharPut (UART1_base、* s);
S++;
}
}
void send_num (int16_t value、uint8_t leng)
{
uint16_t I、SetValue;
if (值<0)
{
UARTSendS("-");
value=-value;
}
(i=leng;i>0;i--)
{
SetValue =((uint16_t)(value/pow (10、I-1)))%10;
开关(SetValue)
{
情况0:
UARTSendS ("0");
中断;
案例1:
UARTSendS("1");
中断;
案例2:
UARTSendS("2");
中断;
案例3:
UARTSendS("3");
中断;
案例4:
UARTSendS("4");
中断;
情况5:
UARTSendS("5");
中断;
案例6:
UARTSendS("6");
中断;
案例7:
UARTSendS("7");
中断;
案例8:
UARTSendS("8");
中断;
案例9:
UARTSendS("9");
中断;
}
}
}