新手上路
- 积分
- 37
- 金钱
- 37
- 注册时间
- 2015-5-27
- 在线时间
- 0 小时
|
5金钱
原子哥,帮我看看这段串口接收程序有什么问题吗?为什么用串口调试助手接收不到正确信息呢?
#include"stm32f10x_map.h"
u8 res;
int main()
{
RCC->APB2ENR|=1<<14; //开启USART时钟
RCC->APB2ENR|=1<<2; //开启GPIOA时钟
GPIOA->CRH&=0xfffff00f;
GPIOA->CRH|=0x000004b0; //PA.09(TX1)复用推挽输出,PA.10(RX1)浮空输入
USART1->BRR=0x0045; //设置波特率为115200
USART1->CR1|=1<<2; //接收允许
USART1->CR1|=1<<3; //发送允许
USART1->CR1|=1<<13; //USART允许
RCC->APB2ENR|=1<<5; //开启GPIOD时钟
GPIOD->CRH&=0x0000ffff;
GPIOD->CRH|=0x33330000; //设置PD.13位通用推挽输出
while(1)
{
if(USART1->SR&1<<5)
{res=USART1->DR;
if(res==1)
GPIOD->ODR=0xffff;} //如果接收到1,点亮点亮小灯
}
}
|
|