MSP430单片机USART串口发送字符和字符串

发布者:meilidaowl最新更新时间:2018-07-11 来源: eefocus关键字:MSP430  单片机  USART  串口发送 手机看文章 扫描二维码
随时随地手机看文章

在MSP430单片机的官方历程中有使用串口中断发送字符以及字符串的程序,但是移植性不高,我专门写了两个函数,用于发送单个字符合字符串,不需要使用中断,供大家参考。

/**********************************************

*程序描述:单片机的P3.4、P3.5作为串口发送字符和字符串

*作者    :Zhenhua Liu

*时间    :2017.11.01  23:00

***********************************************/

#include "msp430x14x.h"

#define uchar unsigned char

uchar DATA[]="hello world my name!";

void sendString(unsigned char *p);

void sendChar(char c);

void uartInit(void);

void main()

{

  // Stop watchdog timer to prevent time out reset

        uchar *p;

        p=DATA;

        WDTCTL = WDTPW + WDTHOLD;

        uartInit();     //初始化串口P3.4和P.35

        sendChar('k');

        sendString(p);

          while(1);

}

/****************************************************************************

*函数名: sendChar()                                                          /

*作用  :USART0发送一个字符                                                  /

*返回值:无                                                                  /

*参数  :一个字符                                                            /

*作者  :Zhenhua Liu                                                         / 

*时间  :2017.11.01                                                          / 

*****************************************************************************/

void sendChar(char c){

   TXBUF0=c;

   while((UTCTL0&0X01)==0);//等待数据发送完毕 

}

/****************************************************************************

*函数名: sendString()                                                        /

*作用  :USART0发送字符串                                                    /

*返回值:无                                                                  /

*参数  :char型指针                                                          /

*作者  :Zhenhua Liu                                                         / 

*时间  :2017.11.01                                                          / 

*****************************************************************************/

void sendString(unsigned char *p){

  

   while(*p!='\0'){

            TXBUF0=*p++;

            while((UTCTL0&0X01)==0);//等待数据发送完毕   

          }

}

/****************************************************************************

*函数名: uartInit()                                                          /

*作用  :USART0的初始化配置,使用P3.4和P3.5,不使用中断                      /

*返回值:无                                                                  /

*参数  :无                                                                  /

*作者  :Zhenhua Liu                                                         / 

*时间  :2017.11.01                                                          / 

*****************************************************************************/

void uartInit(){

       P3DIR|=BIT4+BIT5;

        P3SEL|=BIT4+BIT5;

        

        ME1 |= UTXE0 + URXE0;  // 使能USART0收发

        UCTL0 |= CHAR;         // 8-bit 数据,一位停止位

        UTCTL0 |= SSEL0;       // 选择时钟,UCLK = ACLK,32768

        UBR00 = 0x03;          // 32k/9600

        UBR10 = 0x00;          //

        UMCTL0 = 0x4a;         // Modulation

        UCTL0 &= ~SWRST;       // 初始化UART0状态机,一般要设置好串口之后才复位      

}



关键字:MSP430  单片机  USART  串口发送 引用地址:MSP430单片机USART串口发送字符和字符串

上一篇:msp430f149单片机串口C程序
下一篇:NRF24L01实现msp430单片机通信(SPI)

推荐阅读最新更新时间:2024-03-16 16:08

基于MCS-51单片机使用定时器编写时钟程序(汇编)
1、仔细想想还不错的思路 用定时器写一个时钟程序,想想都觉得头大。撇开其他花里胡哨的功能,先从最基本的时间显示开始吧,剩下的以后再说。 我们一般希望的是时钟能不停地计时,在需要的时候调用显示来显示当前时间,同时也可以干其他事,所以当然不能用延时来写,不然这个时钟除了只能显示时间之外就是个废物了。 我们希望每定时到一秒的时候来个中断,在中断里使存储里的时间序列加一秒(时间序列以时分秒各一个字节的方式存储)。51单片机定时器0方式1的最大定时时间是216=65536μs,也就是大约65ms出头。但我们可以每50ms来一次中断,中断到第20次的时候时间序列加一秒;或者每20ms来一次中断,到第50次的时候时间序列加一秒。一般来说
[单片机]
基于MCS-51<font color='red'>单片机</font>使用定时器编写时钟程序(汇编)
AVR单片机的DS1302操作程序
变成浪子 //mega16 7.3728MHz石英晶体 iccavr6.31a //相关定义: #define uint unsigned int #define uchar unsigned char #define DS1302_RST 0 //pc0 #define DS1302_SDA 1 //pc1 #define DS1302_SCLK 6 //pc6 //ds1302相关 //DS1302_RST=1 #define Set_DS1302_RST() PORTC|=1 //DS1302_RST=0 #define Clr_DS1302_RST() PORTC&=~(1 //DS1302_SDA=1 #define S
[单片机]
AVR单片机 ICC使用快速入门
ICC AVR是一款非常好用的AVR编译软件,现在我们来教你如何快速进入使用。 1、关于窗口设置: 如上图:这是ICC avr 6.31 版本的窗口,分为5大区。 菜单项 文件 新建,打开,打印文件等常规选项。很别扭的一件事关闭文件在菜单里。 编辑 复制,粘贴,删除,撤销,重做等常规操作,一看就明白。 搜索 搜索功能,书签功能,可以使用添加标签,删除标签,下一个标签,转到标签。你可以直接点击左侧快速添加或删除标签。 视图 对新手几乎没有用处,你可以用它显示或者隐藏工程文件窗口,编译状态窗口。查看输出文件,makefile文件,Map文件。 Project Menu 工程菜单 New... – 创
[单片机]
AVR<font color='red'>单片机</font> ICC使用快速入门
基于飞思卡尔MCU的AEC算法实现
0 引言 VoIP是在IP网络上实现音视频及传真信号传输的一门全新的集成业务数据网络技术。IP语音传输技术具有节省带宽、话费低,可方便地集成智能型开放体系结构以及多媒体业务等优势。但较之传统电话,其语音质量较差。事实上,影响因特网语音质量的因素是多方面的,关键因素之一是回声的影响。因此,要提高因特网的语音质量,就必须在语音传输过程中进行回声消除。AEC是基于自适应算法并可用于VoIP的声学回声消除技术。而用于AEC算法的实现与研究的硬件平台是以freescale公司的MCF5235为核心的开发板。MCF523x系列MCU是首个以带有增强型乘加运算单元(eMAC)的ColdFire V2内核为核心,该产品同时结合了增强型时序处理单
[单片机]
单片机数字温度计设计
1.温度传感器AD590基本知识 AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V-30V,检测的温度范围为-55℃-+150℃,它有非常好的线性输出性能,温度每增加1℃,其电流增加1uA。 AD590温度与电流的关系如下表所示 摄氏温度 AD590电流 经10KΩ电压 0℃ 273.2 uA 2.732V 10℃ 283.2 uA 2.832 V 20℃ 293.2 uA 2.932 V 30℃ 303.2 uA 3.032 V 40℃ 313.2 uA 3.132 V 50℃ 323.2 uA 3
[单片机]
<font color='red'>单片机</font>数字温度计设计
51单片机i2c存储器24c02驱动程序
这是 电路图 ,这是从这个项目中取得的文件里面有电路图和仿真文件: http://www.51hei.com/bbs/dpj-22586-1.html 下面是 i2c.c文件: #include reg52.h #include i2c.h #include delay_ms.h void delay() { ;; } void i2cinit()// 总线 初始化 { SDA = 1; delay(); SCL = 1; delay(); } void start()//启动信号 { SDA = 1; SCL = 1; delay(); SDA = 0; delay(); } void sto
[单片机]
51<font color='red'>单片机</font>i2c存储器24c02驱动程序
单片机LED数码管
电路图: 代码如下: #include reg51.h char led_mod = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f }; //LED 0 - 9 void delay(unsigned int time) { unsigned int j = 0; for(; time 0; time--) for(j = 0; j 125; j++); } void main(void) { char i = 0, j =0 ; P0 = P2 = led_mod ; while (1) { for(i
[单片机]
<font color='red'>单片机</font>LED数码管
基于PIC单片机的电动自行车控制系统设计
摘 要:介绍以单片机PICl6F72为核心的电动自行车用无刷直流电动机控制系统的设计。该系统采用电流与速度双闭环控制的结构,其中电流调节器用传统的PI调节器,速度调节器为改进的PI调节器。实验验证了此设计方案的可行性和优越性,即控制电路简洁,器件少,成本低,保护措施可靠,提高了系统的控制精度。该设计对无刷直流电机在其他领域的应用有一定的帮助和借鉴,具有广泛的现实意义。该系统速度环采用改进型的PI调节器控制,且通过软件运用算法测速,实现转速反馈,既简化电路又节省成本。 关键词:电动自行车;控制系统;无刷直流电动机;PIC16F72;PID控制 0 引 言 随着社会的不断进步,人们生活水平的提高,环境保护和能源节约问题已经越来越
[工业控制]
基于PIC<font color='red'>单片机</font>的电动自行车控制系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved