历史上的今天
返回首页

历史上的今天

今天是:2025年01月09日(星期四)

正在发生

2020年01月09日 | MSP430单片机USART串口发送字符和字符串

2020-01-09 来源: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!=''){

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

}

推荐阅读

史海拾趣

敦泰(FOCALTECH)公司的发展小趣事
电冰箱不制冷可能由多种电路问题引起,如电源线路故障(如插头未插紧、插座无电等)、压缩机启动电路故障(如启动器损坏、压缩机线圈断路等)、温控电路故障(如温控器失灵、温度传感器损坏等)或制冷系统电路故障(如制冷剂泄漏、毛细管堵塞等)。建议首先检查电源是否正常,然后逐步排查压缩机、温控器和制冷系统电路。
EBK Kruger GmbH & Co KG公司的发展小趣事

随着公司技术的不断成熟和产品的多样化,EBK Kruger开始将目光投向国际市场。公司参加了多个国际电子展会,并成功与多家国际知名企业建立了合作关系。通过与这些企业的合作,EBK Kruger不仅扩大了市场份额,还学到了先进的国际管理经验和技术知识,为公司的发展注入了新的活力。

GISMA Steckverbinder GmbH公司的发展小趣事

GISMA深知产品质量对于企业生存和发展的重要性。因此,公司建立了完善的质量管理体系,并通过了DIN ISO 9001(DNV)等国际质量认证。这一认证不仅证明了GISMA在产品生产过程中的严格质量控制能力,也为其赢得了更多客户的信任和认可。GISMA始终坚持质量第一的原则,不断提升产品质量和服务水平,确保每一款产品都能达到客户的期望和要求。通过持续的质量管理和改进活动,GISMA在电子行业中树立了良好的品牌形象和口碑。

Compex Corporation公司的发展小趣事

Compex Corporation的创立可以追溯到电子行业的早期阶段。自XXXX年成立以来,公司便致力于研发和生产高质量的单层电容器、电阻以及其他电子元件。初期,公司面临着激烈的市场竞争和技术挑战,但凭借其卓越的技术团队和不懈的努力,逐渐在市场中站稳了脚跟。公司不断推出创新产品,满足了客户对高质量电子元件的需求,逐渐赢得了客户的信任和市场份额。

DIALIGHT公司的发展小趣事

随着业务的不断发展和市场的不断扩大,DIALIGHT公司逐渐实现了全球化布局。他们在美国、英国、丹麦、德国、马来西亚、新加坡、澳大利亚、墨西哥和巴西等地设立了分支机构或办事处,为全球客户提供及时、高效的服务。此外,DIALIGHT还积极寻求与其他企业的合作与共赢,通过战略合作协议的签署,为双方带来新的业务机遇和合作空间。这些举措不仅增强了DIALIGHT的市场竞争力,也为其未来的发展奠定了坚实的基础。

请注意,由于篇幅限制,以上三个故事仅为DIALIGHT公司发展历程的简要概述。如需更详细的信息和更多故事,建议查阅相关资料或访问公司官网。

极海半导体(Geehy)公司的发展小趣事

DIALIGHT公司的故事始于1938年的纽约布鲁克林,当时该公司专注于为飞机生产仪表板灯。随着技术的不断进步和市场的变化,公司在1971年,即LED推出仅一年后,推出了他们的第一个LED产品。这一举措标志着DIALIGHT正式从传统的飞机仪表板灯制造转向LED照明技术的研发和应用。从此,DIALIGHT彻底改变了LED的用途,将其广泛应用于世界各地的交通控制、指示灯、结构塔和工业场所,为全球提供了优质的照明解决方案。

问答坊 | AI 解惑

BOB Pease居然被裁了

Bob Pease is an analog integrated circuit design expert.[1] He has designed several very successful integrated circuits, many of them in continuous production for multiple decades. These include the LM331 voltage to frequency conv ...…

查看全部问答>

evc如何获取CPU序列号

    evc如何获取CPU序列号?…

查看全部问答>

一款应急灯电路(转载)

先转过来供大家参考     这里介绍一个简单、实用的应急灯的制作。它可以在停电时自动实现切换供电。正常供电时,自动对后备蓄电池充电,并有充电保护功能。其电路见图1。下面介绍其工作原理。  在供电正常时,J2得电吸合,其动触点与“N ...…

查看全部问答>

STM32外部中断问题

                                 如果我要PA1,PB1,PC1,PD1....同时开启中断的话,如何实现?…

查看全部问答>

印制电路板设计技术指导pdf

印制电路板设计技术指导。…

查看全部问答>

3DG6C

本帖最后由 paulhyde 于 2014-9-15 08:56 编辑 请问有人知道3DG6C的引脚怎么分布吗?哪个是e,c,b脚。。。。  …

查看全部问答>

电脑示波器

LPC1766和一个AD转换器做一个USB传输的示波器,LPC1766和AD通讯用并行可以吗? [ 本帖最后由 zhangjun1960 于 2011-9-6 17:32 编辑 ]…

查看全部问答>

TI啥时候有支持64bit系统的仿真器 ?

我安装的是Windows 7 64bit的操作系统,其他无论是arm,单片机,FPGA的仿真器或者编程器识别都没有问题,单单就是 TI的仿真器驱动无法识别,作为这么大的一家跨国公司不至于这么简单的一款产品都弄不出来吧?…

查看全部问答>

求C8051F020资料

手上有一个C8051F020的核心板 想试一试 哪位大侠有相关资料 给点儿啊!!! 谢谢啦…

查看全部问答>

Ga入门[遗传算法]

感觉写的比较精彩,而且简单易懂.值得一看。主要是GA.pdf..其他的是相关的资料.东西是其他论坛的人收集整理的。…

查看全部问答>