【原创】USART异步模式配置





- RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA,ENABLE);
//初始化USART 1的TX和RX引脚GPIO_InitTypeDef GPIO_Struct;GPIO_Struct.GPIO_Speed = GPIO_Speed_50MHz;//USART TX引脚使用复用推挽输出GPIO_Struct.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_Struct.GPIO_Pin = GPIO_Pin_9;GPIO_Init(GPIOA,&GPIO_Struct);//USART RX引脚使用浮空输入GPIO_Struct.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Struct.GPIO_Pin = GPIO_Pin_10;GPIO_Init(GPIOA,&GPIO_Struct);
//GPIO、usart配置void USART_GPIO_conf(void){GPIO_InitTypeDef GPIO_Struct;USART_InitTypeDef USART_Struct;//设置之前一定要开启相应的外设时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1,ENABLE);//初始化USART 1的TX和RX引脚GPIO_Struct.GPIO_Speed = GPIO_Speed_50MHz;//USART TX引脚使用复用推挽输出GPIO_Struct.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_Struct.GPIO_Pin = GPIO_Pin_9;GPIO_Init(GPIOA,&GPIO_Struct);//USART RX引脚使用浮空输入GPIO_Struct.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Struct.GPIO_Pin = GPIO_Pin_10;GPIO_Init(GPIOA,&GPIO_Struct);//设置USART的波特率为9600,接收发送使能,无奇偶校验,1位停止位,8位数据位,无硬件流控USART_Struct.USART_BaudRate =9600;USART_Struct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;USART_Struct.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;USART_Struct.USART_Parity = USART_Parity_No;USART_Struct.USART_StopBits = USART_StopBits_1;USART_Struct.USART_WordLength = USART_WordLength_8b;USART_Init(USART1,&USART_Struct);USART_Cmd(USART1, ENABLE);}


while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE)== RESET);printf("已接受到\n");USART_ClearFlag(USART1,USART_FLAG_RXNE);
/*发送一个字节数据到USART1 */USART_SendData(USART1,(uint8_t) ch);/*等待发送完毕*/while(USART_GetFlagStatus(USART1, USART_FLAG_TC)== RESET);
附件列表
【原创】USART异步模式配置的更多相关文章
- [原创]STM32 BOOT模式配置以及作用
一.三种BOOT模式介绍 所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存.用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启 ...
- STM32学习笔记(五) USART异步串行口输入输出(轮询模式)
学习是一个简单的过程,只要有善于发掘的眼睛,总能学到新知识,然而如何坚持不懈的学习却很困难,对我亦如此,生活中有太多的诱惑,最后只想说一句勿忘初心.闲话不多扯,本篇讲诉的是异步串行口的输入输出,串口在 ...
- 高性能的关键:Spring MVC的异步模式
我承认有些标题党了,不过话说这样其实也没错,关于“异步”处理的文章已经不少,代码例子也能找到很多,但我还是打算发表这篇我写了好长一段时间,却一直没发表的文章,以一个更简单的视角,把异步模式讲清楚. 什 ...
- CDC不同模式在ODI体现系列之二 异步模式
CDC不同模式在ODI体现系列之二 异步模式 2 异步模式需要在数据库中做一些准备工作: 改数据为归档并启用logminer: SQL> shutdown immediate 数据库已经关闭. ...
- Spring MVC的异步模式
高性能的关键:Spring MVC的异步模式 我承认有些标题党了,不过话说这样其实也没错,关于“异步”处理的文章已经不少,代码例子也能找到很多,但我还是打算发表这篇我写了好长一段时间,却一直没发表 ...
- JQuery日记6.5 Javascript异步模式(一)
理解力JQuery前实现异步队列,有必要理解javascript异步模式. Javascript异步其实并不严重格异步感,js使某些片段异步方式在将来运行,流不必等待继续向下进行. 在多线程的语言中最 ...
- Javascript教程:js异步模式编程的4种解决方法
随着人们对网站视觉效果及用户体验的要求越来越高,所以在未来网站的建设中,设计师们开始越来越多的使用了js文件来达到预期的效果,随着js文件的越来越多,令设计师们最头痛的事情也就来了,那就是Javasc ...
- Ansible系列(七):执行过程分析、异步模式和速度优化
本文目录:1.1 ansible执行过程分析1.2 ansible并发和异步1.3 ansible的-t选项妙用1.4 优化ansible速度 1.4.1 设置ansible开启ssh长连接 1.4. ...
- Controller异步模式
转载: https://blog.csdn.net/yingxiake/article/details/51193319 因为服务器请求处理线程的总数是有限的,如果类似的请求多了,所有的处理线程处于阻 ...
随机推荐
- 2T以上磁盘格式化
1.安装软件 对于 Debian/Ubuntu 用户, 使用 APT-GET 命令或者 APT 命令来安装 parted #apt-get install -y parted 对于 RHEL/Cent ...
- 28. 实现strStr()
实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在,则返 ...
- IPC rtsp转发服务器搭建
sudo apt-get install libmoose-perl liburi-perl libmoosex-getopt-perl libsocket6-perl libanyevent-per ...
- python3中报错:TypeError: 'range' object doesn't support item deletion
1.源代码 以下代码执行时会报 range' object does not support item assignment 的错误,问题出现在第17行的runge(10): import unit ...
- mysql的ACID的理解
这是在网上copy下来的ACID的概念,可以直接跳过看后面: 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开 ...
- Vue route部分简单高级用法
一改变页面title的值 在开发时常常需要在切换到不同页面时改变浏览器的title值,那么我们就可以在定义路由的时候通过配置 meta 属性 来改变title值. import Vue from ...
- Unity3D在移动平台下加载AssetBundle导致Shader效果不正确的问题
这个问题,主要还是在移动平台下开发导致的. 在编辑器里调试加载AB时会导致Shader效果不正确的原因,主要还是编辑器下加载以IOS或是ANDROID平台打包的AB它所使用的shader已经编译成对应 ...
- 《JAVASCRIPT 高级程序设计》读书笔记六 面向对象的程序设计
一 对象属性 a.对象定义: 无序属性的集合,其属性可以包含基本值.对象或者函数: b.两种创建方式: 1.构造函数: var person = new Object(); person.name ...
- Nuget4.0 bug一粒
这个锅到底是nuget的还是msbuild的我也不是很确定 在使用Nuget4.0打包编译项目时 当执行到nuget pack %%~dpna.csproj -build -Prop Configur ...
- 使用bat脚本部署hexo到coding和github
因项目的不同适当的改造吧,本文以hexo为例. 拉取coding.net的代码和github的代码到本地 确保代码能够正常的运行,commit,push 在项目的目录外新建一个push.bat文件 快 ...