OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 疯壳MSP430实验教程4、串口实验教程

共4条 1/1 1 跳转至

疯壳MSP430实验教程4、串口实验教程

菜鸟
2020-11-11 17:14:20    评分

目录

一节 串口介绍 3

第二节 串口基础寄存器介绍 4

第三节 实验 9

第四节 实验现象 11

官网地址:http://www.fengke.club

购买链接:http://shop115904315.taobao.com/

官方QQ群:457586268

第一节 串口介绍

MSP430F5438A单片机带有通用串行通信接口(USCI),在同一个硬件模块下支持多种串行通信模式。不同的USCI模块支持不同的模式,每个不同的USCI模块以不同的字母命名,例如,USCI_AUSCI_B等等。如果在一个设备上实现了多个相同的USCI模块,那这些模块将以递增的数字命名。例如当一个设备上有两个USCI_A模块时,这两个模块应该被命名为USCI_A0USCI_A1。可以通过查阅设备数据表来了解设备包含有哪些USCI模块。

USCI_Ax模块支持的功能:

1、UART模式;

2、脉冲整形的IrDA

3、自动波特率检测的LIN通信;

4、SPI模式。

USCI_Bx模块支持的功能:

1、I2C模式;

2、SPI模式。

本教程中主要介绍通用异步收发器(UART)。USCI_Ax模块通过两个外部引脚:发送引脚UCAxRXD和接收引脚UCAxTXDMSP430和一个外部系统连接起来。当UCSYNC位被清零时就选择了UART模式。

UART模式的特征包括:

1、传输78位数据,可采用奇校验、偶校验或者无校验;

2、独立的发送和接收以为寄存器;

3、独立的发送和接收数据缓存器;

4、支持最低位优先或最高位优先的数据发送和接收方式;

5、针对多机通信的内置空闲检测和地址位的通信协议;

6、接收器开始边缘检测来自动从低功耗模式中唤醒;

7、支持带小数的可编程的调制波特率;

8、错误检测和修正的状态标志位;

9、地址检测的状态标志位;

10、独立的发送和接收中断。

    

第二节 串口基础寄存器介绍

串口寄存器列表如下图所示:

image.png 

1.控制寄存器0UCAxCTL0

image.png 

UCPEN:奇偶校验使能位

0,禁止校验;

1,允许校验。

UCPAR:校验选择位,该位在校验禁止时无效

0,奇校验;

1,偶校验。

UCMSB:高位在前选择,控制接收和发送移位寄存器的方向

0,低位在前;

1,高位在前。

UC7BIT:字符长度。选择7位或者8位字符长度

08位数据;

17位数据。

UCSPB:停止位选择,停止位的位数

01位停止位;

12位停止位。

UCMODExUSCI模式。当UCSYNC=0时,UCMODEx位选择异步模式。

00,串口模式;

01,空闲多机通信模式;

10,地址位多机通信模式;

11,波特率自动检测的UART模式。

UCSYNC:同步模式使能

0,异步模式;

1,同步模式。   

2.控制寄存器1UCAxCTL1

image.png 

UCSSELxUSCI时钟源选择。

00UCAxCLK

01ACLK

10SMCLK

11SMCLK

UCRXEIE:接收出错中断允许位

0,禁止中断;

1,允许中断。

UCBRKIE:字符接收打断中断允许位

0,禁止中断;

1,允许中断。

UCDORM:睡眠状态

0,不睡眠,所有接收字符都会设置UCRXIFG标志;

1,睡眠,只有在空闲线路之前的字符或在地址位置位的字符能置位UCRXIFG标志。在自动波特率检测的UART模式中,只有打断和同步域的联合能置位UCRXIFG标志位。

UCTXADDR:发送地址位。

0,发送的下一帧为数据;

1,发送的下一帧为地址。

UCTXBRK:发送被打断。在自动波特率检测的UART模式下,0x55H必须被写入

发送缓冲UCAxTXBUF中以产生要求的中断/同步域。否则在发送缓冲中必须

写入0

0,发送的下一帧不是打断;

1,发送端下一帧是打断或中断/同步域。

UCSWRST:软件复位允许位

0,禁止。USCI复位释放操作;

1,允许。在复位状态下USCI保持逻辑电平。

3.波特率控制寄存器(UCAxBR0UCAxBR1

image.png 

image.png 

UCBRx:波特率发生器的时钟分频设置。分频因子为16位(UCAxBR0+UCAxBR1*256)。

4.调制控制寄存器(UCAxMCTL

image.png 

UCBRFx:第一个调制阶段选择。当UCOS16=1时,这些位决定了BITCLK16的调

制模式。当UCOS16=0时,忽略这些位的作用。

UCBRSx:第二个调制阶段选择。这些位决定了BITCLK的调制模式。

UCOS16:过采样模式使能

0,禁止;

1,使能。

6.状态寄存器(UCAxSTAT

image.png 

UCLISTEN:监听使能位

0,禁止;

1,允许。UCAxTXD在内部反馈给接收器。

UCFE:帧错误标志

0,没有错误;

1,出错。

UCOE:溢出标志位。当UCAxRXBUF被读取之前又有一个字符传入,则该位会被

置位。当读取UCAxRXBUF时会自动清除,并且不能软件清零,不然不能正

常工作。

0,无错误;

1,溢出错误。

UCPE:校验错误标志。当UCPEN=0时,UCPE的读取值为0

0,没有错误;

1,接收的字符校验错误。

UCBRK:检测打断错误

0,没有错误;

1,打断错误。

UCRXERR:接收错误标志位。当UCRXERR=1时,UCFEUCPE或者UCOE也被置

    位。读取UCAxRXBUF时清零UCRXERR

0,无错误;

1,接收错误。

UCADDR:在地址位多机通信模式中,地址被接收。读取UCAxRXBUF来清零。

0,接收的是数据;

1,接收的是地址。

UCIDLE:在空闲线多机通信模式中,空闲线被检测。读取UCAxRXBUF来清零。

0,没有检测到空闲线;

1,检测到空闲线。

UCBUSYUSCI忙。该位显示是否正在接收或发送数据。

0USCI空闲;

1USCI正在发送或接收。

7.接收缓存寄存器(UCAxRXBUF

image.png 

UCRXBUFx:只读寄存器。

8.发送缓存寄存器(UCAxTXBUF

image.png 

UCTXBUFx:存放发送的数据,可读可写。

9.IrDA发送控制寄存器(UCAxIRTCTL

image.png 

UCIRTXPLx:发送脉宽长度

          

UCIRTXCLKIrDA发送脉冲时钟选择

0BRCLK

1,当UCOS16=1时,为BITCLK16,否则为BRCLK

UCIRENIrDA编解码使能

0,禁止编解码;

1,使能编解码。

10.IrDA接收控制寄存器

image.png 

UCIRRXFLx:接收滤波长度

          

UCIRRXPL:接收输入极性

0,当检测到光脉冲时发送高电平;

1,当检测到光脉冲时发送低电平。

UCIRRXFE:接收过滤器使能

0,禁止接收过滤器;

1,使能接收过滤器。

11.自动波特率控制寄存器(UCAxABCTL

image.png 

UCDELIMx:打断/同步分隔符长度

001位时长

012位时长

103位时长

114位时长

UCSTOE:同步域超时错误

0,没有错误;

1,长度超出可测时长。

UCBTOE:打断超时错误

0,没有错误;

1,打断域长度超出22位时长。

UCABDEN:自动波特率检测允许

0,禁止波特率检测;

1,允许波特率检测。

12.中断允许寄存器(UCAxIE

image.png 

UCTXIE:发送中断允许

0,禁止中断;

1,允许中断。

UCRXIE:接收中断允许

0,禁止中断;

1,允许中断。

13.中断标志寄存器(UCAxIFG

image.png 

UCTXIFG:发送中断标志位。当UCAxTXBUF为空时,UCTXIFG置位。

0,没有中断;

1,有中断。

UCRXIFG:接收中断标志位。当UCAxRXBUF接收到一个完整的字符时,UCRXIFG

置位。

0,没有中断;

1,有中断。

14.中断向量寄存器(UCAxIV

image.png 

image.png 

详细的寄存器介绍可以参考官方数据手册中的相关章节。

第三节 实验

开发板上集成里USB转串芯片CH340G,所以直接使用USB数据线连接电脑,使用串口调试助手来进行通信。硬件连接如下图所示:

image.png 

image.png 

开发接口连接可以参考《开发接口连接教程》,路径为:..\MSP430\0.从这里开始\2.快速上手。

开发板供电可以参考《如何上电》教程,路径为:..\MSP430\0.从这里开始\0.开机测试。

下面打开串口实验工程文件UART.eww,路径为:..\MSP430\03 教程\04 UART,如下图所示:

image.png 

打开之后,点击编译按钮,下方出现编译完成并且没有错误之后,点击DEBUG按钮进行仿真调试,同时程序也下载进单片机中,如下图所示:

image.png 

image.png 

进入仿真之后就可以看到仿真界面,如下图所示:

image.png 

点击全速云心按钮,运行程序,可以进行暂停或者停止操作,如下图所示:

image.png 

 

第四节 实验现象

完成第三节的操作之后,就会看到串口调试助手打印出的相关信息,发送一个字符就会将该字符加1之后返回,如下图所示:

image.png 

 





关键词: 疯壳     MSP430教程    

高工
2020-11-11 22:11:50    评分
2楼

感谢分享


专家
2021-02-24 16:07:18    评分
3楼

感谢分享


工程师
2021-04-10 23:17:27    评分
4楼

教程不错的


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]