当前位置:网站首页>stm32学习(入门2)
stm32学习(入门2)
2022-08-06 22:40:00 【童独秀】
stm32学习心得
` 提示:写博客纯属第一次练手,不足之处希望多提建议
前言
我们前面写了stm32对led灯跟按键的例程,有些东西不再累赘陈述,这期我们说说串口的使用
一、什么是串口
------串口,原名叫做串行接口(Serial Interface) 。串行口不同于并行口之处在于它的数据和控制信息是一位接一位地传送出去的。虽然这样速度会慢一些,但传送距离较并行口更长,因此若要进行较长距离的通信时,应使用串行口。 而串口有很多种USART、UART、TTL、RS232、RS422、RS485都遵循类似的通信时序协议,因此都被通称为串口,而这时是电气上的,而对于硬件上的就很多了,DB9接口,DB25接口都有。
------而我们这里讲的是USART,因为小编在应用过程中发现TTL、RS232、RS422、RS485这些只要加一个电平转换芯片就行,例如TTL的ch340,cp2012,485的sp485或者max485,所以基本就是电平芯片的问题对吧
------而USART分为3部分,收发器(tx、rx)、同波特率(一秒内能传输的比特位)、共地(电信号的回路),一般如果双方都有供电,那就vcc就不接,因为能避免模块的短路以及反灌,小编的说法好像跟别人有点不同 建议都去了解了解,因为有机会在汽车、无人车或者高精度定位行业的话,不少惯导跟GNSS或者其他模块都会用到这些所谓串口
二、观察现象
在我们波特率不同的情况下我们会发现乱码

ch340短接

波特率不同情况下

波特率相同情况下
stm32代码
//假如参数是72 115200 pa9 pa10
void uart_init(u32 pclk2,u32 bound)
{
float temp;
u16 mantissa;
u16 fraction;
temp=(float)(pclk2*1000000)/(bound*16);//得到USARTDIV 39.0625
mantissa=temp; //得到整数部分-------- 39
fraction=(temp-mantissa)*16; //得到小数部分 1
mantissa<<=4;
mantissa+=fraction;
RCC->APB2ENR|=1<<2; //使能PORTA口时钟
RCC->APB2ENR|=1<<14; //使能串口时钟
GPIOA->CRH&=0XFFFFF00F;//IO状态设置
GPIOA->CRH|=0X000008B0;//IO状态设置
RCC->APB2RSTR|=1<<14; //复位串口1
RCC->APB2RSTR&=~(1<<14);//停止复位
//波特率设置
USART1->BRR=mantissa; // 波特率设置
USART1->CR1|=0X200C; //1位停止,无校验位.
#if EN_USART1_RX //如果使能了接收
//使能接收中断
USART1->CR1|=1<<5; //接收缓冲区非空中断使能
MY_NVIC_Init(3,3,USART1_IRQn,2);//组2,最低优先级
#endif
}



我们从配置过程中可以发现io的配置从CRL变成了CRH, 0XFFFFF00F;清空了9 10 引脚状态
0X000008B0 8对应的是1000,对应的是输入模式 ,B对应1011,对应的是复用推挽输出50Mhz,
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
边栏推荐
猜你喜欢

推荐一个全新硬件/嵌入式刷题网站!免费!好用!

Convertible bond strategy under R-Breaker

谷歌浏览器插件HackBar安装方法(详细教程)

HCIP笔记(九)

node连接mysql,并操作mysql

Unity-ugui-slider上下限值一致时进度显示问题

移动平台助力推进智慧型科研院所信息化建设

xp系统怎么升级win7系统版本

This article takes you to understand the basic principles of webrtc (hands-on 1v1 video call)

学会如何写一篇符合搜索引擎排名要求的高质量SEO文章
随机推荐
D. Number into Sequence【1300】
10个自动EDA库功能介绍:几行代码进行的数据分析靠不靠谱
Qt6.2.2 配置PCL1.12.0
VS2019报错:应用程序无法正常启动(0xc000007b),请单击确定关闭应用程序;VCRUNTIME140.dll报错
HCIP笔记(九)
Compose 进阶挑战来啦!直播预告 | 8 月 7 日晚 19:30 与 GDE 导师面对面
Mel滤波器:模拟人耳对不同频率语音的感知【人类对频率的感知不是线性的】【对低频信号的感知要比高频信号敏感;对1kHz以下,与频率成线性关系;对1kHz以上,与频率成对数关系】【频率越高,感知力越弱】
The Node study notes
Three ways to introduce external fonts in Mini Programs and problems
12 MySQL optimization tips, the speed is more than ten times faster!
MySQL 免安装版安装配置
HCIP笔记(十四)
灵活好用的sql monitoring 脚本 part5
From VLAN to IPVLAN: Talking about virtual network devices and their cloud-native applications
k8s部署redis集群(6节点,3主3从集群模式)
从 min 到 max 的随机数
MMDtection3D
Django项目的创建、Admin后台系统以及数据库迁移
[ 漏洞复现篇 ] OpenSSH 命令注入漏洞 (CVE-2020-15778)
0x000000f4蓝屏是怎么回事 win7蓝屏0x000000f4解决方法