栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

STM32(六)——串口通信原理

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

STM32(六)——串口通信原理

本节为——正点原子笔记,海创电子学习笔记

我们先来看看我们学习的内容

一、 串行接口的基本知识

而我们今天主要说说 串行通信

而这些又是怎么样理解的?

接下来还有一个问题——即是串行通讯的同步与异步的问题

 而 UART 是属于全双工 异步通讯 —— 即可以自己主动发送消息不需要对方等待,并且可以同时在两个地方同时发送,接收

SPI 为全双工 同步通讯     IIC 为半双工(只有一定时间内) 同步通讯

当然UART 也是有对应的引脚

 ——————————————————————————————————————————

编写流程

1.串口时钟 ,GIPO时钟使能  ——  RCC_ABP2PeriphClockCmd();

2.GPIO端口模式设置  ——  GPIO_Init();

3.串口参数初始化 —— USART_Init();

4.开启中断并初始化NVIC —— NVIC_Iint();USART_ITConflg();

5.使能串口 —— USART_Cmd();

6.编写中断处理函数 —— USARTx_IRQHandler();

这张图片主要是针对,单片机对外发送数据 和 接收 数据 所使用的

1.得到一个标志位状态,第一个参数是指定一个串口,第二个参数是一个普通的变量

2. 和1. 是一对,是用来清除标志位的

3.获取中断状态

4.清除中断相关状态

 不管接收还是发送都需要两个寄存器

接收和发送使用都是数据寄存器

整个过程由CPU 或 DMA 处理

 我们对他做一个总结

———————————————————————————————————————————我们这节课就要进行简单的实验,单片机把一个简单的字符发到我们的电脑上 

 1. 

 2.

 3.

 

 我们只是简单的发送字符,没有使用中断,所以省略了中断服务函数和NVIC的配置

在主函数里调用,就可以了。

之后我们就可以在串口助手看到单片机发的 'H'了(把上面的初始化都完成后调用我们定义的函数——即 包括一系列流程的函数) 

———————————————————————————————————————————

关于TXE的标志位的小知识

举个好理解的例子

我们的八个人要从 A 到达 D ,但是我们不能直接到达,需要经过 B 和 C

首先呢 从 A 到 B 再到 C ,八个人都是一起行动的,但是从 C 到 D只能一个一个过

 从C 到 D 的过程 就相当于我们的串行通信

 

——————————————————————————————————————————

关于TC标志位的小知识

这个是什么意思呢?

我们理解一下 TXE  是先写入DR,然后再读SR,让下一位补上来,然后发送清空,所以我们上面程序能正常发送,但是如果是TC的话,就无法进行了,因为TC是相反的

我们看看这个,执行的是先写入DR,再读取SR

所以用TC的话,TC会读取1,而不是0,所以会直接跳转到下一行 ,而在一一行因为已经执行过了,所以会是 0 

 所以我们修改一下

这样字节就都出现了

————————————————————————————————————————

发送字符串功能

 同样用一个例子

 

 我们再来回顾一下这个内容,所以在上面。我们首先需要4个TEX,把这些组从 B 全部 都送到 C,同时我们在最后也需要一个 TC 来让最后一个字节过去 到 D ,因为如果没TC的话,当我们的B没有字符时候,就不会再继续送了

 以上是我们发送字符的库函数,接下来我们对他进行一些修改

 

 依次发送字符串中的字符,每发送一次检查一下 TXE位,到最后的字符发完后,他就会跳出中间的while循环来到最后一个 判断TC位

int main(void)
{
		LED_GPIO_Config();
		delay_init();
		//KEY_GPIO_Config();
	
		//TIM2_Init(4999,7199);
	    My_USART1();
	    USART_SendString(USART1, "ROSCAR 王x ");
		while(1)			
		{
			//KEY_Scan();	
			//LED_Change();			
		
		};
}

这样就可以了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/702339.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号