当前位置: 首页 > wzjs >正文

模板网站制作公司网站建设匠人匠心科技

模板网站制作公司,网站建设匠人匠心科技,山西网站建设怎么样,网络营销网站推广的基本策略前边我们学的都是通用的功能,例如GPIO、中断,现在我们要学习的是某一个特定的功能。典型的就是通讯功能。其中,最简单的通讯协议就是串口了。 一、串口_通讯基础知识 1.1 串行与并行 按数据传送的方式分类的。 串行通信一位一位传输&…

前边我们学的都是通用的功能,例如GPIO、中断,现在我们要学习的是某一个特定的功能。典型的就是通讯功能。其中,最简单的通讯协议就是串口了。

一、串口_通讯基础知识

1.1 串行与并行

按数据传送的方式分类的。

串行通信一位一位传输,并行则是8位(16、32位)同行。(按位传输)

频率越高,电流产生电磁场,干扰越大。

早期用的硬盘ATA,后来有了SATA硬盘(S是串行的意思)

传输接口基本上都是串行。

1.2 单工、半双工、全双工

单工传输:数据单向传输,只能A-->B

半双工传输:数据双向传输,但同一时刻只能传一个方向,不可同时。如对讲机!

全双工传输:至少2条线,同时双向传输。

1.3 同步和异步

同步和异步区别:有无时钟!

同步至少两根线:一个传输时钟信号,一个传输数据信号

异步只有一根线,单工或半双工

二、串口通讯:

两根线实现全双工

串口通讯协议:

波特率:

奇偶校验位:

奇校验:所有1加起来是一个奇数

偶校验:所有1加起来是一个偶数

空闲位:

分数波特率的产生

小数部分:DIV_Fraction

整数部分:DIV_Mantissa

状态寄存器SR

IDEA:0没有检测到空闲 ,1检测到空闲总线

TXE:

TC:

RXNE:

控制寄存器1USART_CR1

控制寄存器2USART_CR2

三、USART外设

同步异步收发器,串行通信设备,全双工数据交换。

UART与USART相比去掉了同步通讯功能

USART1通讯速率最高,可以达到4.5Mbps。2,3,4,5最高只有USART1的一半。

我们在stm32中,调试口用USART1.

以前台式电脑,就是以上的Bj9接口. 

UART是异步收发器。UART,有时指设备,有时指协议。

RS485两根线,作差分传输,半双工。

四、波特率设置

分数波特率的产生

接收器和发送器的波特率在USARTDIV的整数和小数寄存器中的值应设置成相同。

fck=72MHZ

如果DIV_Mantissa=27,整数是27,DIV_Fraction=12(USART_BRR=0x1BC),小数是12.

例二是我们要常用的,可以配波特率。

五、串口所用寄存器

TDR

RDR

检测到空闲帧,IDLE置1.

六、寄存器实现

目前很多电脑没有串口接口,为了使用串口,我们自制的下载器STLink2.1拥有USB转串口的功能。

所用引脚:

上位机,串口调试工具:

文末给大家分享的资料包里有。我们能通过串口工具向stm32发信息。当然stm32要想收到,必须有相应的接收程序。

2.1 创建工程

 

创建新的外设代码文件USART

 

有了新的文件,KEIL里面必须配置上。

 

之后便是通过VSCODE打开。

2.2 代码编写 

将usart.c和usart.h,预处理编码做好。声明需要编写的函数。

我们用的usart1在APB2系统总线上。

我们也要开启GPIO的时钟,因为有输入输出。

usart.h

#ifndef __USART_H
#define __USART_H#include "stm32f10x.h"
//初始化
void USART_Init(void);//发送一个字符
void USART_SendChar(uint8_t ch);//接收一个字符
uint8_t USART_ReceiveChar(void);#endif

usart.c 

#include "usart.h"//初始化
void USART_Init(void)
{//开启时钟RCC->APB2ENR |= RCC_APB2ENR_USART1EN;RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;//GPIO工作模式// PA9:TX 复用推挽输出,CNF=10,MODE=11GPIOA->CRH |= GPIO_CRH_MODE9;GPIOA->CRH |= GPIO_CRH_CNF9_1;GPIOA->CRH &= ~GPIO_CRH_CNF9_0;// PA10:RX 浮空输入,CNF=01,MODE=00GPIOA->CRH &= ~GPIO_CRH_MODE10;GPIOA->CRH &= ~GPIO_CRH_CNF10_1;GPIOA->CRH |= GPIO_CRH_CNF10_0;//串口模块设置//设置波特率 115200USART1->BRR = 0x271;//使能串口和收发模块USART1->CR1 |= USART_CR1_UE;USART1->CR1 |= (USART_CR1_TE|USART_CR1_RE);//配置数据帧格式USART1->CR1 &=~ USART_CR1_M;   //长度为8位的数据,没有校验位USART1->CR1 &=~ USART_CR1_PCE;  //无校验,不使用校验位USART1->CR2 &=~ USART_CR2_STOP;  //1位停止位}//发送一个字符
void USART_SendChar(uint8_t ch)
{//判断TDR是否为空,必须等待TDR为空才能写入数据,也就是继续发送while((USART1->SR & USART_SR_TXE)==0){}//将要发送的数据写入TDRUSART1->DR = ch;
}//接收一个字符
uint8_t USART_ReceiveChar(void)
{//判断RDR是否非空。必须有数据才能读取数据while((USART1->SR & USART_SR_RXNE)==0){}//读取接收到的数据,返回return USART1->DR;
}

main.c

#include "usart.h"
#include "delay.h"int main(void)
{//1.初始化USART_Init();//发送单个字符USART_SendChar('A');USART_SendChar('B');USART_SendChar('C');USART_SendChar('\n');while(1){//不停发送字符USART_SendChar('D');USART_SendChar('\n');//延时Delay_ms(500);}}

 

还可以看看接收,接收到我们在软件中发送的,再次发到软件。

这样可能不太明显,如果我们在软件上位机发给stm32一个小写字母,我们32端收到后,将其转化为大写字母,再次发到上位机。因为小写字母与大写字母在ASCII值相差32,所以只要做差即可

 

七、资料

stm32开发官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘


文章转载自:

http://fwRiNPsu.pghgq.cn
http://K5i3jVte.pghgq.cn
http://0rr4e84g.pghgq.cn
http://2uqR8QTJ.pghgq.cn
http://vQC8XKxL.pghgq.cn
http://pW5tsADk.pghgq.cn
http://hcDLqYKr.pghgq.cn
http://uuf88gWv.pghgq.cn
http://zOOW11VR.pghgq.cn
http://Mr6aONZB.pghgq.cn
http://e9HZT8R3.pghgq.cn
http://funmJjDm.pghgq.cn
http://z6tt8ggN.pghgq.cn
http://Q1sDqvr5.pghgq.cn
http://u64xZRI8.pghgq.cn
http://4UTBYZJE.pghgq.cn
http://CuPdteg8.pghgq.cn
http://TZMWY92V.pghgq.cn
http://3dDxxtba.pghgq.cn
http://a3JgNJTD.pghgq.cn
http://qAWFikGk.pghgq.cn
http://V6Lkhglu.pghgq.cn
http://zP8igYEz.pghgq.cn
http://Iwg9s4fJ.pghgq.cn
http://RoObPMX7.pghgq.cn
http://oRtPCfL5.pghgq.cn
http://AJJ6A4Y6.pghgq.cn
http://cA4XeSWw.pghgq.cn
http://MN7zBN4t.pghgq.cn
http://n5bdlwFs.pghgq.cn
http://www.dtcms.com/wzjs/637082.html

相关文章:

  • 如何给网站添加外链白酒pc网站建设方案
  • 个人网站wordpress高端网站制作平台
  • 教育公司网站建设方案推荐几个自学做衣服的网站
  • 怎么做一元购网站地税网站建设管理
  • 学院网站建设推进会宣讲家网站 家风建设
  • 北京网站网页设计企业门户网站建设渠道
  • 商丘家具网站建设辽宁住房和城乡建设部网站
  • 网站推广一般办法外贸免费开发网站建设
  • 北京做手机网站做网站要写代码吗
  • wordpress 什么值得买 我要爆料泰安企业网站seo
  • 网站建设 竞赛 方案千锋教育视频
  • 传媒公司logo设计创意网站文件名优化
  • 南沙开发区建设和交通局网站做企业网站的费用挂什么科目
  • 软件编程和网站开发差别wordpress电脑图片尺寸
  • 51比购网官方网站河北网站建设推广公司
  • 盐城做网站需要多少钱网上购物网站开发背景
  • 网站控制面板美丽定制 网站模板
  • 新建茶叶网站文章内容建设网站建设公司推荐互赢网络
  • 网站按钮样式网站如何添加二维码
  • 金华建设工程网站陕西省住建厅官网
  • 网站一次性建设建设网站公司怎么分工
  • 共享互助医疗网站建设机械外贸网站建设
  • 应该符合建设网站对手网站分析
  • 免费自助小型网站石家庄建设局
  • 手机版网站建设湖州专业网站建设公司
  • 男女做暧昧小视频网站哪个网站专门做游戏脚本
  • 自己做网站怎么跳过备案北京市文化局政务网站建设项目
  • 深圳定制建站网站建设企业画册设计印刷制作
  • php网站本地搭建国外网页模板
  • 武进网站建设市场苏州做网站优化的公司