历史上的今天
返回首页

历史上的今天

今天是:2025年07月11日(星期五)

正在发生

2018年07月11日 | MSP430单片机USART串口发送字符和字符串

2018-07-11 来源:eefocus

在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状态机,一般要设置好串口之后才复位      

}



推荐阅读

史海拾趣

CANOPUS公司的发展小趣事

CANOPUS的产品逐渐赢得了全球音乐爱好者的喜爱。为了更好地满足市场需求,公司开始积极拓展海外市场。通过与当地经销商合作、参加国际展览等方式,CANOPUS的产品逐渐打入国际市场,并在全球范围内建立了良好的声誉。

Aimtec公司的发展小趣事

作为一家注重品质的企业,Aimtec公司深知质量管理体系的重要性。因此,公司投入大量资源,建立了完善的质量管理体系,并通过了ISO 9001:2015等国际质量管理体系认证。这些认证不仅证明了Aimtec公司在质量管理方面的实力,也为公司的业务拓展提供了有力的保障。通过持续的质量改进和创新,Aimtec的产品在行业中赢得了良好的口碑。

Crosspoint Solutions公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的关键。Crosspoint Solutions公司深知这一点,因此始终将品质管理放在首位。公司建立了严格的质量检测体系,从原材料采购到产品出厂的每一个环节都进行严密把控。这种对品质的执着追求赢得了客户的信任和好评,使公司在市场上树立了良好的口碑。

AEL [AEL Crystals Ltd]公司的发展小趣事

随着业务的不断发展,AEL Crystals意识到全球化战略的重要性。公司开始在全球范围内寻找合适的生产基地,并在英国、日本、台湾、韩国等地区建立了生产基地网络。这一战略布局使得AEL Crystals能够更好地满足全球客户的需求,同时也降低了供应中断的风险。

BESTECH公司的发展小趣事

AEL Crystals非常重视与供应商和客户之间的合作关系。公司积极与供应商建立长期稳定的合作关系,确保原材料的稳定供应和质量可靠。同时,AEL Crystals也与众多客户建立了紧密的合作关系,深入了解客户需求并提供定制化的解决方案。这种长期合作关系的建立为公司的持续发展提供了有力保障。

东晶(ECEC)公司的发展小趣事

近年来,随着电子信息技术的快速发展和智能化趋势的加剧,东晶电子也面临着新的机遇和挑战。为了适应市场变化和满足客户需求,公司开始实施战略转型和升级。公司加大了对新型电子元器件的研发力度,推动产品向微型化、功能化、高精度方向发展。同时,公司还积极开拓新领域和新市场,拓展业务范围和市场份额。这些举措为公司未来的发展奠定了坚实的基础。

请注意,这些故事是基于已知信息的概括性描述,并非具体的历史事件。在实际情况中,东晶电子的发展历程可能更加复杂和多样化。

问答坊 | AI 解惑

PXA27x+WMMX指令

各位英雄:      本人想在PXA27x处理器下用WMMX指令对H.264编解码做优化,本人的开发环境是Visual Studio.NET 2005,在Windows CE操作系统下。      暂时没有安装任何其它的编译器,请问该怎么编译WMMX ...…

查看全部问答>

关于bsp 中 动态链接库 和 驱动 、应用程序的一些疑惑

1 在bsp中可以放入应用程序:SOURCES,MAKEFILE,DIRS,应用程序代码。但是在platform.bib/.reg里并没有任何该应用程序的信息,所以这个应用程序,只能被编译,但并不会被加到nk里?如果要加到nk里,就要在platform.bib里将它导入?在bsp里的应用 ...…

查看全部问答>

请给一个platbuild的下载地址啊!

在网上找了半天没找到platbuild的下载地址很郁闷啊。。。要做毕业设计急需,希望谁给我个下载地址啊,谢谢!…

查看全部问答>

请问除了MS哪里有Windows ce 5.0下载

请问除了microsoft网站哪边还有比较快的windows ce 5.0的下载地址…

查看全部问答>

求购TI Cortex-M3开发板

有谁愿意转让TI EKK8962评估套件,TI LM3S9000系列开发套件,或者周立功 EasyARM8962开发板。要求物品齐全,资料齐全。请联系QQ:25159290.…

查看全部问答>

【为C2000做贡献】基于TMS320F2812的USB通讯C源码(初始化)

本想收费,看在maylove美女的面子上就不收费了,我发了我两年多时间收集的资料。本来有更多的资料,可以因为系统重装,有些资料就丢失了,真可惜。 [ 本帖最后由 fxw451 于 2011-4-7 09:29 编辑 ]…

查看全部问答>

手把手教你Altium Designer如何将SCH设计更新到PCB 之一

手把手教你Altium Designer如何将SCH设计更新到PCB 之一 手把手教你Altium Designer如何将SCH设计更新到PCB 之十  手把手教你Altium Designer如何将SCH设计更新到PCB 之九   手把手教你Altium Designer如何将SCH设计更新到 ...…

查看全部问答>

LM3S8962控制TEA5767

最近用LM3S8962 玩了一个收音机。跟各位分享一下哦。…

查看全部问答>

有没有人用过意法半导体的L6201PS

现在使用过程中出现一个问题,在很偶然的情况下,上电后6201直接烧掉了。原来都用的好好的,怎么会突然烧掉呢?出现三四次了 大家有没有用过,碰到过这种情况没有?…

查看全部问答>

救命呀各位大神!救救我的期末考试!是关于MSP430G2553的!!

只是一个很小的问题。。我们期末考试要用开发板做一个作品,我和我的组员想做电子琴。但是。。。。。我们不知道使用薄膜键盘的简易电子琴的蜂鸣器代码是什么?(其实我觉得这个问题好拗口,但是我的搭档是这样描述的,那大概就是类似的问题了)。 ...…

查看全部问答>