串口调试完成,库函数法
自动返回你输入的字符主函数如下:#include "stm32f0xx.h"
#include "Usart1.h"
unsigned char Uart_buf={0x00,0x00}; //缓冲接收缓冲器
void led_gpio_config()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHBPeriphClockCmd ( RCC_AHBPeriph_GPIOA, ENABLE); //总线使能
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //Pin 5
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT ; //输出模式
GPIO_InitStructure.GPIO_OType =GPIO_OType_PP ; //推挽输出
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ; //配置为上拉
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_3; //50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
int main(void)
{
led_gpio_config(); //IO口初始化
GPIO_SetBits(GPIOA,GPIO_Pin_5);
USART_Config();
printf("STM32-NUCLEO-072RB开发板初始化成功!\r\n");
printf("\"hello world\"!\r\n");
printf("\r\n 你输入的字符是:\r\n");
while (1)
{
Uart_buf=Uart_RChar();
if(Uart_buf!=NULL)
printf("你输入的字符是:%x\r\n",Uart_buf);
}
}
谢谢~ 串口打印的,printf重定向部分:(在此感谢“山河”网友的指点啊,不知道论坛ID是啥) /*******************************************************************************
函数名称:fputc(int ch, FILE *f)
功 能:串口实现Printf()函数功能
参 数:无
返回值:
********************************************************************************/
int fputc(int ch, FILE *f)
{
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)
<font color="#ff0000"> ;</font>
USART_SendData(USART1,(uint8_t)ch);
return (ch);
}
关于上面的那个分号,如果在while后面,会有警告
帮顶 ,感谢分享
页:
[1]