//=====================================================================
//TITLE:
// STM32F10x的串口数据发送
//AUTHOR:
// norains
//DATE:
// Thursday 16-September-2010
//Environment:
// NULL
//=====================================================================
串口虽然在桌面电脑领域已经慢慢淡出日常应用领域,但在嵌入式设备,特别是在调试时,却还是有着无可替代的作用。如果我们需要调试一款嵌入式设备,那么最先应该完善的就是串口,特别是能够对外发送数据。这对于STM32F10x同样也是如此。
如果要另调试串口能够正常工作,免不了要对CPU的寄存器进行一番设置。这里为了简便,直接调用了ST提供的外围驱动库STM32F10x_StdPeriph_Lib,其下载地址位于http://www.st.com/mcu/devicedocs-STM32F101RC-110.html。接下来的讲解,都是基于该lib库。
首先我们需要对串口的寄存器做初始化。这里我们选用的串口是USART1,故代码如下:
如果是选用别的串口,那么只需要更改相应的标识符即可。
接下来则是配置中断寄存器:
寄存器配置完毕之后,就轮到GPIO口。其实数据的发送,本质上就是GPIO不停拉高拉低的结果,所以这里要做如下相应GPIO的设置:
配置完毕之后,就可以使能USART1了:
当然默认的波特率不一定符合实际需求,遇到这种情况的时候,自然是需要相应的更改了。设置很简单,如下所示:
代码中的宏定义都是ST的库所定义好的,它位于STM32F10x_StdPeriph_Driver/inc/stm32f10x_usart.h文件中。
最后,则是发送数据。这里为了说明简便,采用函数的形式:
循环意义很简单,它一直持续在检查发送使能标志,只有其不为0时,才将数据发送到DR寄存器,让其通过GPIO发送出去。
分享到:
相关推荐
stm32f10x串口驱动源码(环形队列+内存动态分配+DMA)串口发送模板(第三版)
stm32f10x串口驱动程序(环形队列+内存动态分配+DMA) stm32f10x串口驱动程序(环形队列+内存动态分配+DMA)
stm32f10x_spi串口数据传输,用于无线传输和数据传送
stm32串口通信学习,1.库文件只要包含#include "stm32f10x_lib.h"这个头文件,这个头文件是“包含了所有库文件的其他头文件”的文件,如果不需要其中某些头文件,那么要在"stm32f10x_conf.h"这个...
stm32串口升级BootLoader,亲测可用,包括串口接收,读写flash,BootLoader跳转
stm32f10x_spi串口数据传输,用于无线传输和数据传送
stm32f103 串口的输入输出实验。
用STM32写的串口通信程序,极具参考价值。
本程序可以用于STM32F10系列芯片,实现串口打印
STM32f10x 通用源码例程 原理图 SDCard-SDIO-FATFS SD读卡器 虚拟串口USB转串口 BR-STM32F103VET6最小系统板用户手册
stm32f10x系列串口烧写 STM32的串口下载超级简单:(下载到片内FLASH,并从FLASH启动) 1.将BOOT0拉高,BOOT1保持拉低 2.连接串口0和电源 3.用下载软件开始下载(先检测芯片,然后载入.sim文件(路径:project-> ...
STM32F10xxx参考手册中文版.pdf
STM32F103驱动程序,资源内包含三种驱动实现方式:寄存器驱动、库函数驱动和HAL库驱动。 项目支持STM32F10X系列单片机调测和移植。 项目可直接编译、运行。
stm32f10x keil工程,使用固件库V3.3版本,和三菱FxPLC串口通信,12864液晶图形及任意(点阵)位置中文显示,键阵扫描,引脚模拟I2C等.
STM32F10+4G模块+MQTT 使用AT指令实现; 通过自建服务器测试完成,支持连接、订阅、发布、心跳保持; 全部使用AT指令控制;
CPU: Stm32F101C6 (or Stm32F10x) 编译器: IAR ARM 4.42A 备注: 没有用到编译器或CPU厂商的接口固件库函数 功能: 串口发送和接收。定时器, ADC采样等驱动 方便移植: 所有IO接口定义文件 "IoDrv.h
stm32f10x工程模板(固件库3.5),初始化串口1打印输出
STM32F103-串口中断驱动74HC595进行数码管显示温湿度数据
stm32f10x和三菱FX系列PLC串口通信,12864液晶,键扫描,引脚模拟I2C等