2814|2

50

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【开源】DA14580串口实验教程——疯壳·ARM双处理器开发板系列 [复制链接]

目录

 

 

一节 串口硬件电路

 

 

 

 

第二节 UART寄存器

 

 

 

 

2.1 UART介绍

 

 

 

 

2.2 UART寄存器

 

 

 

 

2.2.1 接收缓冲寄存器

 

 

 

 

2.2.2 中断使能寄存器

 

 

 

 

2.2.3 中断识别寄存器/FIFO控制寄存器

 

 

 

 

2.2.4 通信线控制寄存器

 

 

 

 

2.2.5 调制器控制寄存器

 

 

 

 

2.2.6 通信线状态寄存器

 

 

 

 

2.3 寄存器配置讲解

 

 

 

 

第三节 UART实验

 

 

 

 


  •        
  • 串口硬件电路


  •  

 

 

 

 

串口通过USB口及手环下载调试线引出,连接MCUP12P13引脚,如下图所示:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第二节 UART寄存器

 

 

 

 

2.1 UART介绍

 

 

 

 

    这个UART符合工业标准16550,并且可以和外围设备串行通信。主设备(CPU)通过APB总线将数据写进UART并且被转换成串行格式并且发送到目标设备。串行数据也可以通过UART被接收存储之后,主设备读取接收的数据。

 

 

 

 

UART模块不支持DMA,但是它有内部FIFOs,并且支持硬件流控制信号(RTS,CTS,DTR,DSR)。

 

 

 

 

UART模块有16字节的发送和接收FIFO;支持硬件流控制(CTS/RTS);影子寄存器来减少软件开销并且有可编程的软件复位;发送寄存器为空的中断模式;IrDA 1.0 SIR模式支持低功耗模式;可编程的字节属性、校验位和停止位(1,1.5,2);可以断开通信及检测通信线是否断开;中断优先级的识别;可编程的串行通信波特率。

 

 

 

 

2.2 UART寄存器

 

 

 

 

UART相关的寄存器比较多,所以我们只介绍常用的寄存器,其它的可以参考官方数据手册DA14580_DS_v3.1.pdf,位于目录:..\WT开发板\硬件资料。

 

 

 

 

2.2.1 接收缓冲寄存器

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15:8位:保留不使用;

 

 

 

 

7:0位:接收缓存寄存器。

 

 

 

 

2.2.2 中断使能寄存器

 

 

 

 

 

 

 

 

 

 

 

 

 

15:8位:保留不使用;

 

 

 

 

7位:发送空中断使能位;

 

 

 

 

6:4位:保留不使用;

 

 

 

 

3位:调制状态中断使能位;

 

 

 

 

2位:接收状态中断使能位;

 

 

 

 

1位:发送结束中断使能位;

 

 

 

 

0位:数据接收完使能位。

 

 

 

 

2.2.3 中断识别寄存器/FIFO控制寄存器

 

 

 

 

 

 

 

 

    15:0位:写则为FIFO控制寄存器,读则为中断识别寄存器。

 

 

 

 

2.2.4 通信线控制寄存器

 

 

 

 

 

 

 

 

15:8位:保留不使用;

 

 

 

 

7位:波特率使能位;

 

 

 

 

6位:停止控制位;

 

 

 

 

5位:保留不使用;

 

 

 

 

4位:奇偶校验选择位;

 

 

 

 

3位:校验位;

 

 

 

 

2位:停止位;

 

 

 

 

1:0位:数据长度。

 

 

 

 

2.2.5 调制器控制寄存器

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15:7位:保留不使用;

 

 

 

 

6位:红外通信使能位;

 

 

 

 

5位:自动流控制使能位;

 

 

 

 

4位:回路位,用于测试;

 

 

 

 

3位:用户指定输出2

 

 

 

 

2位:用户指定输出1

 

 

 

 

1位:发送请求;

 

 

 

 

0位:保留不使用。

 

 

 

 

2.2.6 通信线状态寄存器

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15:8位:保留不使用;

 

 

 

 

7位:接收FIFO错误位;

 

 

 

 

6位:发送器空位;

 

 

 

 

5位:发送保持寄存器空位;

 

 

 

 

4位:异常停止中断位;

 

 

 

 

3位:帧错误位;

 

 

 

 

2位:校验错误位;

 

 

 

 

1位:溢出错误位;

 

 

 

 

0位:数据准备好位。

 

 

 

 

2.3 寄存器配置讲解

 

 

 

 

#define CLK_PER_REG                 (* ( volatile uint16*)0x50000004)

 

 

 

 

#define UART_RBR_THR_DLL_REG        (* ( volatile uint16*)0x50001000)

 

 

 

 

#define UART_IER_DLH_REG            (* ( volatile uint16*)0x50001004)

 

 

 

 

#define UART_IIR_FCR_REG             (* ( volatile uint16*)0x50001008)

 

 

 

 

#define UART_LCR_REG                (* ( volatile uint16*)0x5000100C)

 

 

 

 

#define UART_MCR_REG               (* ( volatile uint16*)0x50001010)

 

 

 

 

#define UART_LSR_REG                (* ( volatile uint16*)0x50001014)

 

 

 

 

#define UART_MSR_REG               (* ( volatile uint16*)0x50001018)

 

 

 

 

#define UART_SCR_REG                (* ( volatile uint16*)0x5000101C)

 

 

 

 

启动UART1模块的时钟CLK_PER_REG |= 0x0080;

 

 

 

 

串口初始化寄存器配置:

 

 

 

 

首先使能波特率配置UART_LCR_REG = 0X08;

 

 

 

 

配置波特率UART_IER_DLH_REG = 0; UART_RBR_THR_DLL_REG = 9;

 

 

 

 

8位数据,无校验,1位停止位UART_LCR_REG = 0X03;

 

 

 

 

关闭红外通信功能UART_MCR_REG = 0X00;

 

 

 

 

使能FIFOUART_IIR_FCR_REG = 0X01;

 

 

 

 

关闭中断UART_IER_DLH_REG = 0X00;

 

 

 

 

接收一个字节,等待接收完成while((UART_LSR_REG&0x01)==0);读取接收数据rx_data = UART_RBR_THR_DLL_REG;

 

 

 

 

发送一个字节0x55,等待发送为空while((UART_LSR_REG&0x20)==0);填充发送数据UART_RBR_THR_DLL_REG = 0xaa;

 

 

 

 

 

 

 

 

 

第三节 UART实验

 

 

 

 

实验需要使用的模块有:手机开发板底板Jlink调试工具,USB转串模块、杜邦线、3.7V锂电池或Mocro USB线。

 

 

 

 

使用USB转串模块连接手机蓝牙串口,连接方式如下:

 

 

 

 

    (1)USB转串模块一端只需要使用杜邦线连接RXDTXDGND三个引脚,如下图所示:

 

 

 

 

 

 

 

 

    (2)手机主控底板一端需要使用杜邦线连接左侧J7三个引脚,与USB转串模块的引脚一一对应(串口引脚交叉),分别为RXD-->TXDTXD-->RXDGND-->GND,如下图所示:

 

 

 

 

 

 

 

 

使用JLINK通过杜邦线连接手机蓝牙,连接方式如下:

 

 

 

 


  1.        
  2. JLINK一端只需要使用杜邦线连接JLINKSWCSWDGND三个引脚,如下图所示:


  3.  

 

 

 

 

 

 

 

 


  1.        
  2. 手机蓝牙一端需要使用杜邦线连接上方右侧的J3三个引脚,与JLINK的连接引脚一一对应,分别为SWC-->SWCLKSWD-->SWDIOGND-->GND,如下图所示:


  3.  

 

 

 

 

 

 

 

 

JLINK插上电脑的USB接口,连接好之后给手机主控底板供电,详细的介绍可以参考《如何上电》教程,路径为:..\WT_Mobile\0.从这里开始\0.开机测试。

 

 

 

 

打开串口实验的Keil工程Simple_UART.uvproj,位于目录:..\WT_Mobile\1.初级教程\DA14580\2.串口实验\串口实验,如下图所示:

 

 

 

 

 

 

 

 

打开串口调试助手连接串口,波特率为115200。在KEIL中,编译代码,点击DEBUG,然后点击全速运行,就可以看到串口调试助手打印出的信息,发送什么就返回什么,例如发送WT Mobile Test!”就会返回“WT Mobile Test!,如下图所示:

 

 

 

 

 

 

 

 

 

 

 

 

 



 

 

 

 

 

 

 

 

疯壳开源-STM32F407主处理器2-2.外部中断实验教程.pdf

796.99 KB, 下载次数: 1

此帖出自51单片机论坛

最新回复

格式乱了。   详情 回复 发表于 2021-4-20 23:00
点赞 关注
 

回复
举报

1702

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 

鼠标滚动半天没看完,赔我鼠标

阅读体验不是很好,是不是word文档导入的原因呢

占用帖子的面积够广阔了

此帖出自51单片机论坛
 
 
 

回复

7618

帖子

2

TA的资源

五彩晶圆(高级)

板凳
 

格式乱了。

此帖出自51单片机论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表