OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2731|回复: 6

STM32F103串口通信

[复制链接]

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2019-3-21
在线时间
24 小时
发表于 2019-3-21 14:42:29 | 显示全部楼层 |阅读模式
串口发一个数据在打印接收的数据,结果出现了这样是为什么呀?


8MY3%N~LGY}0[RVL8LJI}5B.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2019-3-21
在线时间
24 小时
 楼主| 发表于 2019-3-21 14:44:33 | 显示全部楼层
这么简单的问题吧,我就不知道哪有而错了,小白求大神说一下问题
回复 支持 反对

使用道具 举报

2

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2019-3-20
在线时间
23 小时
发表于 2019-3-21 15:10:11 | 显示全部楼层
把工程传上来看看呢
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2019-3-21
在线时间
24 小时
 楼主| 发表于 2019-3-21 16:02:37 | 显示全部楼层
void USART1_Config(uint32_t brr)
{
        float div;//分频数
        uint32_t div_m;//整数部分
        uint32_t div_f;//小数部分
        //A端口时钟      PA9,PA10  ----Rxd,Txd
        RCC->APB2ENR |= (1<<2);
        RCC->APB2ENR |= (1<<14);//USART1时钟打开
       
        //PA9 PA10配置为复用功能
        GPIOA->CRH &= ~((0xf<<4)|(0xf<<8));
        GPIOA->CRH |=(0xb<<4);
        GPIOA->CRH |=(0x4<<8);
       
        //配置串口 232协议:字长 + 奇偶校验使能
        USART1->CR1 = 0;
        //停止位 1位
        USART1->CR2 &= ~(0x3<<12);
        //配置全双工模式:接收发送打开
        USART1->CR1 |= (0x1<<2)|(0x1<<3);
        //配置波特率
        div = 72000000.0/(16.0*brr);
        div_m = (uint32_t)div;
        div_f = (uint32_t)((div-div_m)*16);
        USART1->BRR = div_m<<4|div_f;
        //使能串口1
        USART1->CR1 |= (1<<13);
}

void USART1_NVICConfig(void)
{
        //接收中断使能
        USART1->CR1 |= (1<<5);
        //NVIC
        NVIC_SetPriority(USART1_IRQn,1);//占先 0 次级 1
        NVIC_EnableIRQ(USART1_IRQn);
}





主函数就是简单的调用
if((USART1->SR)&(1<<5))
                {
                        printf("usart->data=%d\r\n",USART1->DR);
                }
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2019-3-21
在线时间
0 小时
发表于 2019-3-21 17:00:43 | 显示全部楼层
为什么不仿真看看
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2019-3-21
在线时间
24 小时
 楼主| 发表于 2019-3-21 18:25:13 | 显示全部楼层
闲时吧 发表于 2019-3-21 17:00
为什么不仿真看看

仿真了,没有值呀、
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2019-3-21
在线时间
24 小时
 楼主| 发表于 2019-3-26 11:56:59 | 显示全部楼层
其实没有什么问题,是个人的问题,串口调试助手发送的本来就是ASCII码!在程序中写个简单的函数把ASCII转十进制数即可!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-24 04:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表