MSP430F5529学习笔记(五)——串口|UART

这篇具有很好参考价值的文章主要介绍了MSP430F5529学习笔记(五)——串口|UART。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        我们在使用MSP430的时候大家会发现插上usb线后电脑上有两个端口标识,那么在进行串口通信时选择哪个呢。其实如图所示,上面的端口是用来进行串口通信的,下面的则是用来进行程序的下载,大家在使用的时候多加分辨即可。

msp430f5529 蓝牙,MSP430(基于CCS),ccs,msp,单片机,嵌入式,经验分享

         当然熟悉单片机操作的人可以通过经验判断图中标注UART1的即为串口通信端口,接下来我们就进入MSP430F5529串口的学习,通过学习串口我们可以更好的进行上下位机通信,主从机交互等场景的信息交互。

串口端口配置

        与使用其他功能一样我们首先对串口进行基础的配置,如果想使用电脑USB下载线进行与电脑的通信请选择P4.4,P4.5端口(UART1),如使用排针IO的串口请选择P3.4,P3.5端口(UART0),在对应配置时需更改寄存器编号实现对应的功能,以下以UART1为例,如果想使用UART1,可使用板载usb口或在下载完成后拔掉仿真电路与核心电路间的跳线帽,使用跳线引出:

    P4SEL    |=  BIT4+BIT5 ;// USCI_A1 TXD/RXD
    UCA1CTL1 |=  UCSWRST;// 初始化所有的 UCSI 寄存器,包括UCA0CTL1
    UCA1CTL1 |=  UCSSEL_1;// ACLK
    UCA1BR0   =  0x03;// 32768Hz 9600 波特率为9600
    UCA1BR1   =  0x00;// 32768Hz 9600
    UCA1MCTL |=  UCBRS_3 + UCBRF_0;// 低频调制+过采样调制
    UCA1CTL1 &= ~UCSWRST;// 初始化USCI状态机
    UCA1IE   |=  UCRXIE;//使能中断

串口信息的读取

        串口的读取在配置时首先开启UCRXTE中断,然后进入函数内通过:

(UCA1IFG)&(UCRXIFG)

  进行对中断接收信号的判断,以下为串口的读取:

#pragma vector=USCI_A1_VECTOR
__interrupt void USCI_A1_ISR(void)
{
    UCA1IFG &= ~UCRXIFG;
    if((UCA1IFG)&(UCRXIFG));//接收
        c=UCA1RXBUF;
}

串口信息的发送

      串口的发送在配置时首先开启UCRXTE中断,然后进入函数内通过:

!(UCA1IFG & UCTXIFG)

  进行对发送信号的判断,以下为串口的发送:

//以串口1为例,发送字符串
void send1_buf_int(unsigned int *ptr) 
{
    while(*ptr != '\0')
    {
        while(!(UCA1IFG & UCTXIFG));
        UCA1TXBUF = *ptr;
        ptr++;
        delay(10);
    }
}

与蓝牙的通信

        蓝牙是经典的串口通信案例,通过蓝牙可以扩展出主从机,串口屏等一系列串口项目的代码操作,通过数据的收发和检测实现对应的操作,以下为MSP430与蓝牙的简单点灯程序参考:文章来源地址https://www.toymoban.com/news/detail-596220.html

#pragma vector=USCI_A1_VECTOR
__interrupt void USCI_A1_ISR(void)
{
    UCA1IFG &= ~UCRXIFG;
    if((UCA1IFG)&(UCRXIFG));//接收
    {
    c=UCA1RXBUF;
    if(c == 'a')
           {
               P4OUT &= ~BIT7;
               P1OUT |= BIT0;
           }
    else if(c =='b')
           {
               P1OUT &= ~BIT0;
               P4OUT |= BIT7;
           }
    }
    else 
        break;

    }
}

到了这里,关于MSP430F5529学习笔记(五)——串口|UART的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MSP430F5529单片机入门学习笔记1

    本笔记整理自B站教程 MSP430F5529单片机学习视频汇总 右边部分写错了,看的时候注意 注意#include“driverlib.h”头文件时要注意: 添加MSP430F5xx_6xx文件夹到当前工程下 MSP430F5xx_6xx文件夹是在导入的msp430ware_3_80_13_03包中找 把上述MSP430F5xx_6xx文件夹的路径包含进来 有三个系统时钟可

    2024年02月06日
    浏览(47)
  • 【2023电赛备赛】msp430f5529学习笔记(一)

    【写在前】 本人目前是大二在读生,第一次参加电赛,准备不充分,结果熬了四天,最后成绩却不如人意。有51和32的基础,然后想立一个flag系统的学习一下主打超低功耗的msp430f5529单片机为比赛做准备(毕竟电赛限制TI的板子)。另一方面也是给电协的后继者留下一些参考的

    2024年02月11日
    浏览(47)
  • MSP430学习笔记(四)丨I2C通信(MSP430F5529驱动OLED显示屏)

    ​  笔者学习采用单片机型号为MSP430F5529,使用MSP-EXP430F5529LP开发板。 ​  笔者拥有一定的STM32基础,在学习MSP430的过程中,最开始苦于没有合适的OLED显示驱动代码,所以花了很多时间钻研。综合网上的各种代码,笔者认为江协科技的STM32课程中提供的OLED代码使用方便,

    2024年02月16日
    浏览(49)
  • MSP430F5529 DriverLib 库函数学习笔记(一)时钟配置和闪烁LED

    平台:Code Composer Studio 10.3.1 MSP430F5529 LaunchPad™ Development Kit (MSP‑EXP430F5529LP) (1)5个时钟来源         时钟系统模块具有5个时钟来源。 ① XT1CLK :低频/高频振荡器,可以使用32768Hz的手表晶振、标准晶体、谐振器或4~32MHz的外部时钟源; ② VLOCLK :内部超低功耗低频振荡

    2024年02月16日
    浏览(51)
  • MSP430F5529库函数GPIO学习

    导入MSP430Ware,查看例程;数据手册以及原理图获取 建议不是很了解寄存器的看完我的MSP430F5529学习笔记  目录 GPIO_setAsOutputPin() 函数声明 作用 参数 selectedPort selectedPins 修改的寄存器 使用 与GPIO_setAsOutputPin()参数一致的函数  GPIO_setOutputHighOnPin() GPIO_setOutputLowOnPin()

    2024年02月15日
    浏览(66)
  • 【MSP430F5529基于库函数的学习】电赛速学及小车实战

    为电赛准备学习的MSP430笔记 提示:主要跟着这个大佬学的 一张经常要看的图 时钟配置和闪烁的LED 时钟系统结构 (1)5个时钟来源 时钟系统模块具有5个时钟来源。 ① XT1CLK:低频/高频振荡器,可以使用32768Hz的手表晶振、标准晶体、谐振器或4~32MHz的外部时钟源; ② VLOCLK:

    2024年02月12日
    浏览(45)
  • MSP430F5529——中断理解

    认识低功耗模式; MSP430的中断,需要两个部分,一部分是打开中断,另外一部分是编写中断服务函数 首先我们得知道__bis_SR_register和_BIS_SR是一个玩意。查看宏定义可知  _BIS_SR()可传入的参数 然后我们查看x的值,发现里面有八个可以传入的值 我们这里只需要关系GIE就可以

    2024年02月16日
    浏览(53)
  • 05:OLED模块【MSP430F5529】

    目录 实物图 字模取字         字模软件         取模步骤         1.设置软件         2.取模         3.输出数据  代码 type.h oledfont.h oled.h oled.c main.c 下面图片中,可以看到OLED模块的四个接口:GND,VCC,SCL,SDA GND VCC SCL SDA 接地 接电源3.3V/5V 接P3.5 接P3.6       

    2024年02月16日
    浏览(46)
  • 06:PWM与电机驱动【MSP430F5529】

    电机型号: 工作方式: 原理图以及接线: 根据官方例程,主要代码为drive.c drive.h main.c (后面好像使用的时候会有什么冲突导致1或者2通道无法正常运行,不太记得了,可以到实物上实验一下子) 下面是智能送药小车使用PWM驱动电机相关代码与注释(在实物中,均能正常运行)

    2024年02月15日
    浏览(49)
  • MSP430F5529循迹小车 2022电赛 C题

    编辑时间2022/8/21 选用材料:主控MSP430F5529、直流减速电机(带光电编码器)、TB6612电机驱动、超声波测距、灰度传感器、无线透传、OLED屏显示。 使用灰度传感器巡线,超声波检测前后车距作为位置环反馈,通过位置环调节前后车距离。 :MSP430   循迹    无线串口透

    2024年02月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包