版主
最后登录1970-1-1
在线时间 小时
注册时间2014-11-16
|
按手册和官方例程 自己配置了一下usart1
连接上串口调试助手后 并没能打印出信息
随即 换成 野火的429 串口例程,现象一样
/**
*@breief 内部函数,外部无法调用
*@param None
*@reval None
*@notice None
*/
static void USART_GPIO_Config(void)
{
/* < 定义GPIO初始化结构体 > */
GPIO_InitTypeDef GPIO_InitStructure;
/* < 开启GPIO时钟 > */
RCC_AHB1PeriphClockCmd(COM1_GPIO_CLK, ENABLE);
/* < 复用功能使能 >*/
GPIO_PinAFConfig(COM1_GPIO_Port,COM1_TX_SOURCE|COM1_RX_SOURCE, COM1_GPIO_AF);
/*< IO口模式配置 >*/
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽输出
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //复用功能
GPIO_InitStructure.GPIO_Pin = COM1_TX_Pin; //IO选择
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输出速率50M HZ
GPIO_Init(COM1_GPIO_Port, &GPIO_InitStructure); //IO口初始化
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //复用功能
GPIO_InitStructure.GPIO_Pin = COM1_RX_Pin; //IO选择
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉
GPIO_Init(COM1_GPIO_Port, &GPIO_InitStructure); //IO口初始化
}
/**
*@breief 串口初始化函数
*@param None
*@reval None
*@notice None
*/
void DEBUG_USART_Init(void)
{
/* < 定义串口初始化结构体 > */
USART_InitTypeDef USART_InitStructure;
/* < 串口所占用GPIO初始化 > */
USART_GPIO_Config();
/* < 外设时钟打开(串口) > */
RCC_APB2PeriphClockCmd(COM1_CLK, ENABLE);
/* < 串口配置 > */
USART_InitStructure.USART_BaudRate = COM1_BaudRate; //波特率设置
USART_InitStructure.USART_WordLength = USART_WordLength_8b; //8位数据位
USART_InitStructure.USART_StopBits = USART_StopBits_1; //1位停止位
USART_InitStructure.USART_Parity = USART_Parity_No; //无校验位
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; //无硬件流
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //接收发送同时开启
/* < 写入结构体并初始化 > */
USART_Init(COM1,&USART_InitStructure);
/* < 串口使能 > */
USART_Cmd(COM1, ENABLE);
}
|
|