搜索
热门关键词:
TI
Diodes
CAN总线
安捷伦
解码器
手机版
官方微博
微信公众号
登录
|
免费注册
首页
新闻
新品
文章
下载
电路
问答
视频
职场
杂谈
会展
工具
博客
论坛
在线研讨会
技术频道:
单片机/处理器
FPGA
软件/编程
电源技术
模拟电子
PCB设计
测试测量
MEMS
系统设计
无源/分立器件
音频/视频/显示
应用频道:
消费电子
工业/测控
汽车电子
通信/网络
医疗电子
机器人
当前位置:
EEChina首页
›
论坛
›
新手园地
返回列表
查看:
2052
|
回复:
0
【教程5】疯壳·ARM功能手机-串口实验教程
[复制链接]
Linda-x
Linda-x
当前离线
积分
9771
发表于 2022-8-9 11:01:47
|
显示全部楼层
|
阅读模式
贸泽电子有奖问答视频,回答正确发放10元微信红包
关键词:
ARM
,
功能手机
,
串口
,
实验教程
,
UART
ARM
功能手机
——疯壳·开发板系列
串口实验教程
图1
第一节串口硬件
电路
串口通过
USB
口及手环下载调试线引出,连接
MCU
的P12与P13引脚,如下图所示:
图2
第二节 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 接收缓冲寄存器
图3
15:8位:保留不使用;
7:0位:接收缓存寄存器。
2.2.2 中断使能寄存器
图4
15:8位:保留不使用;
7位:发送空中断使能位;
6:4位:保留不使用;
3位:调制状态中断使能位;
2位:接收状态中断使能位;
1位:发送结束中断使能位;
0位:数据接收完使能位。
2.2.3 中断识别寄存器/FIFO控制寄存器
图5
15:0位:写则为FIFO控制寄存器,读则为中断识别寄存器。
2.2.4 通信线控制寄存器
图6
15:8位:保留不使用;
7位:波特率使能位;
6位:停止控制位;
5位:保留不使用;
4位:奇偶校验选择位;
3位:校验位;
2位:停止位;
1:0位:数据长度。
2.2.5 调制器控制寄存器
图7
15:7位:保留不使用;
6位:
红外
通信使能位;
5位:自动流控制使能位;
4位:回路位,用于测试;
3位:用户指定输出2;
2位:用户指定输出1;
1位:发送请求;
0位:保留不使用。
2.2.6 通信线状态寄存器
图8
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;
使能FIFO, UART_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转串模块一端只需要使用杜邦线连接RXD、TXD、GND三个引脚,如下图所示:
图9
(2)手机主控底板一端需要使用杜邦线连接左侧J7三个引脚,与USB转串模块的引脚一一对应(串口引脚交叉),分别为RXD-->TXD、TXD-->RXD、GND-->GND,如下图所示:
图10
使用JLINK通过杜邦线连接手机蓝牙,连接方式如下:
(1)JLINK一端只需要使用杜邦线连接JLINK的SWC、SWD、GND三个引脚,如下图所示:
图11
(2)手机蓝牙一端需要使用杜邦线连接上方右侧的J3三个引脚,与JLINK的连接引脚一一对应,分别为SWC-->SWCLK、SWD-->SWDIO、GND-->GND,如下图所示:
图12
将JLINK插上电脑的USB接口,连接好之后给手机主控底板供电,详细的介绍可以参考《如何上电》教程,路径为:..\WT_Mobile\0.从这里开始\0.开机测试。
打开串口实验的
Keil
工程uart.uvproj,位于目录:..\WT_Mobile\1.初级教程\DA14580\2_初级_串口\projects\target_apps\peripheral_examples\uart\Keil_5,如下图所示:
图13
打开串口调试助手连接串口,波特率为115200。在KEIL中,编译代码,点击DEBUG,然后点击全速运行,就可以看到串口调试助手打印出的信息,发送什么就返回什么,例如发送“WT Mobile Test!”就会返回“WT Mobile Test!”,如下图所示:
图14
图15
如需定制开发,请通过官网“疯壳”网页底部的“联系我们”进行联系
文件下载请点击:
串口教程.pdf
(1.43 MB)
2022-8-9 10:56 上传
点击文件名下载附件
相关文章
•
Cadence宣布收购Arm Artisan基础IP业务,强化半导体设计IP组合
•
高通在全球范围内指控 Arm垄断反竞争,芯片架构授权模式面临重构
•
马来西亚与Arm达成十年技术授权协议,推动半导体产业升级
•
Arm 推出全球首个 Armv9 边缘 AI 计算平台,推动物联网实现新一代性能
•
Arm 推出 GitHub Copilot 新扩展程序,助力快速迁移至 Arm 架构服务器
•
明远智睿全志R16核心模组:低成本高性能,解锁你的无限创意!
•
ARM公布2025财年第三财季财报,业绩表现亮眼
•
Arm 发布芯粒系统架构首个公开规范,加速芯片技术演进
•
英伟达携手联发科,将于今年年末推出首款专为Windows on Arm设备设计的系统级芯片(SoC)
•
Arm计划提高芯片设计授权费并考虑自研芯片
回复
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
测试测量
系统设计
关于我们
-
服务条款
-
使用指南
-
站点地图
-
友情链接
-
联系我们
电子工程网
© 版权所有
京ICP备16069177号
| 京公网安备11010502021702
快速回复
返回顶部
返回列表