void Usart_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE); //
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE); //
GPIO_PinAFConfig(GPIOA,GPIO_PinSource2,GPIO_AF_USART2); //
GPIO_PinAFConfig(GPIOA,GPIO_PinSource3,GPIO_AF_USART2); //
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2|GPIO_Pin_3; //
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF ; //
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz; //
GPIO_InitStructure.GPIO_OType= GPIO_OType_PP ; //
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP; /
GPIO_Init(GPIOA,&GPIO_InitStructure); //
USART_InitStructure.USART_BaudRate=115200; //
USART_InitStructure.USART_WordLength=USART_WordLength_8b; //
USART_InitStructure.USART_StopBits=USART_StopBits_1 ; //
USART_InitStructure.USART_Parity=USART_Parity_No ; //
USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx; //êÕ·¢Ä£ê½
USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None; //
USART_Init(USART2,&USART_InitStructure); //
USART_Cmd(USART2,ENABLE); //
}
int main(void)
{
u8 res;
Usart_Init();
while(1)
{
if(USART_GetFlagStatus(USART2,USART_FLAG_RXNE))
{
res=USART_ReceiveData(USART2);
USART_SendData(USART2,res);
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
用的是原子开发板,不存在硬件问题吧
1. 串口助手波特率设置的是不是115200?
2. 数据位是不是8?
3. 停止位是不是1?
4. 校验位和流控是不是None?
然后建议先勾选hex发送和hex接收来进行测试,发送一串数据比如:12 34 56 78 90 (注意要有空格)
如果还不行就换个串口助手试试~
兄弟,还是不行啊
一周热门 更多>