自己最近正在弄,还没弄完,写得也不是很整齐,大家将就看看吧。

一、2553串口

要使用2553的串口,要先学会使用相关寄存器。

我们需要用到的有UCAxCTL0以及UCAxCTL1,UCA0BR0以及UCA0BR1,UCA0MCTL,UCAxRXBUF,UCAxTXBUF,IE2以及IFG2

一般选择低 频 波 特 率 模 式,在这种模式下,最大的 USCI 波特率是时钟源频率的 1/3。当 除法因子N 等于或大于 16,可以通过设置 UCOS16 来选择过采样波特率产生模式。

UCAxCTL0不用管,默认状态即可,也即奇偶校验停止,8位长度字符,UART模式,1个停止位。

UCAxCTL1主要用于选择时钟源以及复位。

比如,UCA0CTL1 |= UCSWRST;              // 复位寄存器设置
    UCA0CTL0 = 0x00;             //默认状态一般就是0x00
    UCA0CTL1 |= UCSSEL_1;//选择辅助时钟UCA0CTL1 |= UCSSEL_2;选择子系统辅助时钟,一般就这两个时钟

对于G2553来讲,焊接外部晶振时。默认情况下,ACLK就是32.768KHZ,是这样的吧?

如果要是更改波特率的话,要用到下面的三个寄存器:也就是改波特率,改除法因子,改调制的寄存器,改时钟,改了时钟也要注意更改对应的延时函数

首先,直接令UCA0BR1 = 0x00;UCA0BR1是UCA0BR0的补充,我们也用得上。

主要是UCA0BR0控制波特率,UCA0BR0 的值就是    所选择的时钟频率除以要使用的波特率,然后四舍五入。

比如        UCA0BR0 = 0x03;                   // 波特率设置为9600bps         因为除法因子N=32768/9600=3.4,所以四舍五入给它3,16进制和十进制都可以

16000000,给UCA0BR0=125;

除法因子 N 通常不是一个整数值,因此至少需要一个除法器和一个调制器阶段尽可能的接近该因子。

UCA0MCTL寄存器里面的UCBRSx就是调制器。UCBRSx的值即为       N-四舍五入后UCA0BR0 的值               然后再四舍五入一下就行

UCA0MCTL其他两个域(field)第一调至阶段以及过采样使能,一般为0,不管
  此处注意,值赋给UCBRSx时,是直接赋值的,但UCBRSx只是UCA0MCTL寄存器的一个域,我们给UCBRSx赋值时,还是要通过寄存器的。比如:

#define UCBRS2                 (0x08)         /* USCI Second Stage Modulation Select 2 */
#define UCBRS1                 (0x04)         /* USCI Second Stage Modulation Select 1 */
#define UCBRS0                 (0x02)         /* USCI Second Stage Modulation Select 0 */

给寄存器赋值时,UCA0MCTL = UCBRS1+UCBRS0;             对于寄存器来说,它等于2+4=6,UCBRSx正好等于1+2=3,因为它是从寄存器的第二位开始的。

最后,使复位禁用即可。如:

UCA0CTL1 &= ~UCSWRST;

发送int型数字,现在是将一个大整数每一个数字当作一个char,一次次发送,没有找到更好的方法。

用上述方法更改波特率

用G2553,使用USB的串口,发现只有外部晶振下,1200以及2400,4800,9600才可以工作,1MHZ下9600,4800也可以。调节到更高的频率时,112500,就会出现乱码。这个板子仿真器只支持9600,下图从官方debugger.pdf上拷的  slau647

但是,使用物理串口的话,是能够达到19200的。在1MHZ下是能够达到115200的波特率的,更高的情况暂时没有测试。

另外,UCAxBR0只有8位,超过UCBR0会怎么样?原来,波特率控制寄存器总共有2个。16位的

(UCAxBR0 + UCAxBR1 × 256) 的 16 位值组成了分频值。

还有,如果想直接使用2553的下载线进行调试的话,可以开启1.1以及1.2的串口,直接就可以用。不用做什么修改。

使用F5529的转串口时,一定要使用3.3V电压,5V电压就会不工作。

最基本的串口是最简单的,只是要和电脑通信的话。拿5529举例,可以使用它的P3.3(TXD)以及P3.4(RXD),也即UCA0)。初始化的话,我们需要开启第二功能,复位寄存器,设置时钟,选择波特率。发送的话,就直接向UCA0TXBUF填入一个字节的数据(char类型),接收的话,当(UCA0IFG&UCRXIFG)==1时,就可以直接返回UCA0RXBUF,这是最基础的应用。

F5529怎么才能直接用USB直接进行串口调试呢?看了下它的原理图,3.3(TXD)与3.4(RXD)端口连接在了debugger上。但为什么直接下载就不可以呢?(与G2553不一样),对比2553的例程,我觉得可能是缺少P3SEL2 |= BIT3+BIT4;试一试,不行。库中根本没定义P3SEL2 ,

USB中应该是用了4.4和4.5的引脚,针对这两个引脚写串口程序应该就可以了

F5529的下载器连接了4.4与4.5引脚,所以,如果想用下载器作为串口的话,必须针对4.4与4.5写串口程序才可以。其实也很简单,只需要使用USCIA1模块就行。3.3与3.4,3.4与3.5使用的是uscia0模块。

时钟调好了,也许能达到9600,但是我感觉要费好大力气。先算了吧。

G2553与F5529串口相关推荐

  1. 用F5529控制OLED输出汉字,字符,以及bmp图片

    基于F5529以及G2553的OLED显示 本文主要是给出F5529以及G2553的工程,然后针对如何使用文件里的函数进行说明.对于OLED的原理不进行细致说明. OLED的I2C时钟一定要配置准确, ...

  2. 电子设计竞赛学习msp430单片机(msp430g2553,msp430f5529,tmec123G)

    电子设计竞赛msp430分享 文章目录 电子设计竞赛msp430分享 0 前言 msp430学习的代码以及书籍 0 前言 最近有一些学弟从网上看到了我当时在电子设计大赛中做的解魔方机器人,他们也想用m ...

  3. MSP430 F5529 单片机 串口 测试 调试

    相应还有MSP430G2553单片机的:https://blog.csdn.net/x1131230123/article/details/109544616 MSP430F5529 单片机 ,初始化 ...

  4. MSP430G2553 串口通信

    MSP430G2553   串口通信 记下来 加深一下自己的理解 希望 有新手看到可以有点启发   记录下来自己的点点滴滴  终于感觉自己有那么一点进步了   哈哈  未来的日子在努力一些  一个菜鸟 ...

  5. [LaunchPad]M430_Launchpad串口UART使用硬件方面注意点

    首先,不得不说Launchpad是一个很实用的开发工具. 就我个人是用来看, 板载SBW的JTAG相当实用.而且还可以仿真我的MSP430F5438的板子,实在相当给力,省去了上百元的仿真器的费用~~ ...

  6. python第三方库之学习pyserial库--串口通信

    pyserial串口通信库 1.安装pyserial库 2.填写串口参数的注意事项 3.简单封装一下 4.碰到的bug 1.安装pyserial库 pip install pyserial versi ...

  7. 【嵌入式】openmv与stm32的串口通信

    参考:(文中部分图/文字/代码来自以下文章,部分内容由于时间久远已经找不到原作者,可联系注明或删除) PYTHON串口数据打包发送STM32接收数据解析 openmv中文文档 这里以openmv循迹代 ...

  8. Android 串口通讯 获取卡号

    首先你的andoridstudio 需要配置ndk 环境 然后在去下载谷歌的的demo 下载地址 把这些直接复制到代码中 一般  jni C语言调用java 是指定包名调用的 所有android_se ...

  9. 51单片机 小车 L298N pwm调速 串口控制 按键控制

    难点:1.串口定时器T1,和T0定时器优先级 2.pwm频率与占空比的设置 按键控制 按键1--前进 按键2--后退 按键3--加速 按键4--减速 (板子上只有四个按键) 串口控制 '1'--前进 ...

最新文章

  1. PHP对于浮点型的数据需要用不同的方法去解决
  2. 三十九、文件的逻辑结构
  3. 谈谈Visual Studio的缺点,比较Eclipse
  4. 关于c语言中负数位移位操作的漫谈
  5. node读写本地文件
  6. 笔记:python设计模式
  7. pictureselector 压缩_Android 多图选择器PictureSelector 使用
  8. 《学习OpenCV3》第10章 滤波与卷积
  9. c++ 编译添加dll_使用MinGW编译OpenCV4源码与配置使用演示
  10. MFC实现点击按钮打开一个指定的文件或者网址或者exe
  11. 李迟2022年4月工作生活总结
  12. 升级wireshark支持openflow13抓包
  13. 第二本书:疯狂人类进化史20190620
  14. ios点击推送闪退_苹果ios企业签名常见问题及解决方案总结,开发者必看!
  15. ↖杨过↖ ↗小龙女↗
  16. 使用TeamViewer远程连接Android手机并控制
  17. JAVA 算法中Map 使用技巧,持续更新,边学边更
  18. 男人,就要对自己下手狠一点
  19. web設計常用代碼收集
  20. pta厘米换算英尺英寸

热门文章

  1. Redis是什么、特点、优势
  2. 互芯裁员,华平投资半导体四中一
  3. 知乎周源微信_每周源代码33-Google Chrome中的Microsoft Open Source
  4. 计算机研究生男女比,复旦大学各学院研究生男女比例出炉:最低的仅8:100,最高409:100...
  5. MDN和IMSI码详细解释
  6. 计算机技术专插本考什么科目,2021专插本考试,你的专业要考什么科目?
  7. 哎!无奈,遇到DDos到底应该怎么办?阿里云将你扔进黑洞;腾讯云清退你!
  8. 【JHOK-ZBZ201型智能型剩余电流继电器】
  9. 英语入门文章阅读第一篇
  10. dnf选择服务器显示数字,DNF:遴选属性如何选择?两种方法精确找到最优解