1.初始化
USCI_A0引脚:P3.4、P3.5;
UCA0CTL0:配置寄存器0,可配置奇偶校验位、数据位、通信模式等参数;
UCA0CTL1:配置寄存器1,可配置时钟源等参数;
串口0初始化配置

void UART0_Init(void)
{UCA0CTL0 = UCMODE_0;//串口模式UCA0CTL1 = UCSSEL_2;//SMCLKP3OUT &= ~(BIT4+BIT5);//低电平P3SEL |= BIT4+BIT5;//串口
}

2.串口设置
串口设置包括波特率、校验位、数据位、停止位等内容;
UCAxCTL0寄存器:
UCPEN:使能校验位;
UCPAR:设置校验方式,奇校验或偶校验;
UCMSB:设置接收和发射时低位优先还是高位优先;
UC7BIT:数据位长度,8位或7位;
UCSPB:停止位选择,1个停止位或2个停止位;
UCMODEx:模式选择。串口模式,空闲线多处理器模式,地址位多处理器模式,带自动波特率检测的串口模式
UCSYNC:通信方式选择,异步通信,同步通信;

波特率设置用到的寄存器有:UCAxBR0、UCAxBR1、UCAxMCTL;
UCAxBR0和UCAxBR1用来存放波特率整数部分,UCAxMCTL设置小数部分;
UCAxMCTL寄存器中的bit0位:UCOS16,用来设置低频模式(Low-Frequency)或过采样模式(Oversampling);


UCOS16 = 0时波特率发生器工作在低频模式,在此模式下,可设置的最大波特率为串口时钟源的1/3,即串口时钟 / 波特率 > 3;
设置方法:

若 N = 串口时钟 / 波特率,Nint代表取整,Round代表四舍五入;
UCAxBRx = Nint(N);整数部分
UCBRSx = Round((N - Nint(N)) * 8);

例:时钟源32768情况下,配置9600的波特率
//32768/9600 = 3.4133
UCA0BR1 = (u8)((32768 / baud)/256);
UCA0BR0 = (u8)(32768 / baud);
//0.4133*8=3.306约等于3即UCBRx = 3,UCA0MCTL = 0x0000 0110 = 0x06
UCA0MCTL = UCBRS1 + UCBRS0;

UCOS16 = 1时波特率发生器工作在过采样模式,在此模式下,可设置的最大波特率为串口时钟源的1/16,即串口时钟 / 波特率 > 16;
设置方法:
若 N = 串口时钟 / 波特率,Nint代表取整,Round代表四舍五入;
UCAxBRx = Nint(N / 16);整数部分
UCBRFx = Round((N / 16 )- Nint(N /16))* 16;

例:时钟源4M情况下,配置9600的波特率
//4000000 / 9600 / 16 = 26.0417
UCA0BR1 = (u8)((4000000 / baud / 16) / 256);
UCA0BR0 = (u8)(4000000 / baud / 16);
//0.0417*16=0.6672约等于1即UCBFx = 1,UCA0MCTL = 0x0001 0001 = 0x11
UCA0MCTL = UCBRF0+ UCOS16;
若想获得更精确的波特率,可调整UCBRx 的值,具体方法请参考相关资料(我也不知道咋算);

当然获得精确波特率最简单的方法,就是使用官方推荐的数值进行设置(数据手册435页),如图:


MSP430f2619学习—串口通信相关推荐

  1. 嵌入式学习——串口通信小试

    嵌入式学习--串口通信小试 目录 嵌入式学习--串口通信小试 1.了解串口协议和RS-232.485标准,以及RS-232.485电平与TTL电平的区别 1.1 什么是串口协议 1.2 RS-232标 ...

  2. FPGA学习—串口通信

    FPGA学习系列 接下来介绍串口通信控制,本次就不用串口回环了,像正点原子,野火等fpga教程都会教串口回环,所以本文我将介绍如何串口控制去执行一些操作.之后也将拓展FPGA控制串口屏. 目录 FPG ...

  3. STM32串口通信学习总结

                                                                             STM32串口通信学习总结 1.概述 1.1学习目的 ...

  4. ESP32学习记录<三>串口通信

    ESP32学习记录<三>串口通信 文章目录 ESP32学习记录<三>串口通信 前言 一.通过串口打印出数据 1.初始化串口 2.打印数据 二.串口控制LED亮灭 1.接收串口发 ...

  5. 【正点原子FPGA连载】第十四章 串口通信实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

  6. STM32F105RCT6使用CubeMX初始化工程——1:初始化串口通信

    目录 1:CubeMX初始化配置 2:添加代码逻辑 3:通信测试 使用引脚:PA9,PA10 1:CubeMX初始化 在上一次基础上,打开CubeMx工程选择对应的引脚设置为串口通信.通信模式修改为异 ...

  7. C#串口通信学习笔记

    因为参加一个小项目,需要对继电器进行串口控制,所以这两天学习了基本的串口编程.同事那边有JAVA的串口通信包,不过是从网上下载的,比较零乱,难以准确掌握串口通信的流程和内含.因此,个人通过学习网上大牛 ...

  8. STM8学习笔记---串口通信中如何自己定义通信协议

    在单片机刚开始学习的时候,串口通信是经常要用到的,但是实际产品中串口通信是需要通信协议的.好多人不明白为什么要用通信协议,如何定义通信协议,带通信协议的程序要怎么写.今天就来说一下如何串口通信协议是如 ...

  9. 【蓝桥杯】单片机学习(7)——UART串口通信

    UART串口通信 一.基础知识介绍 1.通信方式的分类 2.RS232通信接口 3.UART模块介绍 (1)串口控制寄存器SCON(可位寻址) (2)电源控制寄存器PCON(不可位寻址) (3)辅助寄 ...

最新文章

  1. Android GUI之View测量
  2. oracle 值集附加列,EBS值集知识小结
  3. 5G时代即将来临,三大运营商各自为营谁能抢占先机?
  4. 【excrt】屠龙勇士(luogu 4774)
  5. dvwa详解_DVWA(六):XSSReflected 反射型XSS全等级详解
  6. Centos6.5硬盘故障修复
  7. 搞一个兼容浏览器的事件函数
  8. 解决移动端遮罩层无法覆盖全部页面问题
  9. 032-IDUtils 工具类模板
  10. 视屏剪辑软件(Pr)Premiere Pro CC 2018安装教程:
  11. 互联网日报 | 360企业安全更名“政企安全”;B站获欢喜传媒独家外部播放权;银联发布首款数字银行卡...
  12. sparking Streaming version 2.3.2+kafka接收实时流数据找不到hive创建的数据库问题
  13. eclipse开发桌面应用软件程序教程
  14. 根据银行卡号获取对应的银行信息
  15. python正则表达式实战——获取图片
  16. 分门别类刷leetcode——链表
  17. Monkeys [POI 2003,Bzoj 2610]
  18. 漫威电影宇宙的正确观影顺序
  19. ES6 — Promise基础用法详解(resolve、reject、then、catch,all,)
  20. android 多包名apk,一个项目如何编译多个不同签名、包名、资源等,的apk?

热门文章

  1. 【LG-P4332 [SHOI2014]】三叉神经树 题解
  2. 渗透测试 对头像上传漏洞检测与修复
  3. 拉格朗日乘数法及python实现
  4. 下周发布三维声呐Coda EchoScope的第四部视频
  5. 摩拜单车的“黑科技”
  6. (摘)消除眼睛疲劳的方法
  7. docker--volumes,bind mounts和tmpfs mount
  8. 一百行代码实现微信朋友圈九宫格图片显示
  9. 网络规划和设计 - 关键路径法 CPM(关键路径、松弛时间)
  10. [渝粤教育] 山东大学 英语话中华 参考 资料