例程中Uart测试程序如下,请问红色部分三句代码的作用是什么,为什么要设置GPIO[15],查询datasheet发现Uart复用的引脚应该是GP[28-31]。
删除掉红色部分代码后发现例程仍然可以正常运行。
Int16 uart_test()
{
char rx;
/* Enable UART to FTDI chip */
EZDSP5535_GPIO_init();
EZDSP5535_GPIO_setDirection( 15, GPIO_OUT );
EZDSP5535_GPIO_setOutput( 15, 0 );
printf(" This program tests the UART over the FTDI chip.\n");
printf(" Open a Terminal window set to 115200 baud.\n");
printf(" Type in the terminal and a message returns on the button pressed.\n");
printf(" Press escape to exit.\n");
/* Open Uart Handle */
EZDSP5535_UART_open( );
/* UART Test */
while(1)
{
/* Waitin for RX */
EVM5515_UART_getChar( &rx ); // Read 1 byte
/* Was Esc pressed? */
if(rx == 27)
break;
/* TX Message */
EVM5515_UART_putChar('Y' ); // Write Y
EVM5515_UART_putChar('o' ); // Write o
EVM5515_UART_putChar('u' ); // Write u
EVM5515_UART_putChar(' ' ); // Write space
EVM5515_UART_putChar('p' ); // Write p
EVM5515_UART_putChar('r' ); // Write r
EVM5515_UART_putChar('e' ); // Write e
EVM5515_UART_putChar('s' ); // Write s
EVM5515_UART_putChar('s' ); // Write s
EVM5515_UART_putChar('e' ); // Write e
EVM5515_UART_putChar('d' ); // Write d
EVM5515_UART_putChar(' ' ); // Write space
EVM5515_UART_putChar('"' ); // Write "
EVM5515_UART_putChar( rx ); // Write 1 byte
EVM5515_UART_putChar('"' ); // Write "
EVM5515_UART_putChar( 13 ); // Write CR
EVM5515_UART_putChar( 10 ); // Write LF
}
return 0;
}
Shine:
你好,
这三句话的意思是GPIO15输出低电平来使能74CBTLV3125PWR,使uart口和FT2232HL芯片相连。GPIO15的具体接法可以看eZdsp5535原理图。http://support.spectrumdigital.com/boards/ezdsp5535/revc/files/ezdsp5535_Schematics_RevC.pdf去掉的话,即使uart例程能跑,但FT2232HL端应该没有信号。
yi zhang6:
回复 Shine:
看明白了,谢谢指导!非常感谢。