金牌会员
 
- 积分
- 1276
- 金钱
- 1276
- 注册时间
- 2016-5-31
- 在线时间
- 499 小时
|
发表于 2016-6-10 10:44:09
|
显示全部楼层
楼上,使用printf函数,不一定非得使用串口1,使用其它的串口,也是完全可以的!!!
如下请看,STM32F407,使用USART6(串口6)的printf功能:
/* Definition for USARTx clock resources */
#define USARTx USART6
#define USARTx_CLK_ENABLE() __HAL_RCC_USART6_CLK_ENABLE();
#define USARTx_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
#define USARTx_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
#define USARTx_FORCE_RESET() __HAL_RCC_USART6_FORCE_RESET()
#define USARTx_RELEASE_RESET() __HAL_RCC_USART6_RELEASE_RESET()
/* Definition for USARTx Pins */
#define USARTx_TX_PIN GPIO_PIN_6
#define USARTx_TX_GPIO_PORT GPIOC
#define USARTx_TX_AF GPIO_AF8_USART6
#define USARTx_RX_PIN GPIO_PIN_7
#define USARTx_RX_GPIO_PORT GPIOC
#define USARTx_RX_AF GPIO_AF8_USART6
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&UartHandle, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
/*---- Configure the USART6 peripheral---------------------------*/
/* USART6 configured as follow:
- Word Length = 8 Bits
- Stop Bit = One Stop bit
- Parity = no parity
- BaudRate = 115200 baud
- Hardware flow control disabled (RTS and CTS signals) */
UartHandle.Instance = USARTx;
UartHandle.Init.BaudRate = 115200;
UartHandle.Init.WordLength = UART_WORDLENGTH_8B;
UartHandle.Init.StopBits = UART_STOPBITS_1;
UartHandle.Init.Parity = UART_PARITY_NONE;
UartHandle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
UartHandle.Init.Mode = UART_MODE_TX_RX;
UartHandle.Init.OverSampling = UART_OVERSAMPLING_16;
if(HAL_UART_Init(&UartHandle) != HAL_OK)
{
Error_Handler(); //Initialization Error
}
printf("\n");
printf("--------------------------------------------------------------\n");
printf("* Project : STM32F4 Discovery HP DeskJet 1110 *\n");
printf("* Author : Chnny Xia *\n");
printf("* Copy right: Chnny_xia 2016 *\n");
printf("--------------------------------------------------------------\n");
printf("\n");
|
|