历史上的今天
返回首页

历史上的今天

今天是:2025年02月26日(星期三)

正在发生

2020年02月26日 | msp430f149单片机串口C程序

2020-02-26 来源:eefocus

msp430f149单片机简介:

MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。


msp430f149是基于闪存或 ROM 的超低功耗 MCU,提供 8MIPS,工作电压为 1.8V - 3.6V,具有高达 60KB 的闪存和各种高性能模拟及智能数字外设。


超低功耗低至:

0.1μA RAM (保持模式) 0.7μA (实时时钟模式) 200μA/MIPS (工作模式) 在 6μs 之内快速从待机模式唤醒


器件参数:

闪存选项:1KB – 60KB ROM 选项:1KB – 16KB RAM 选项:512B – 10KB GPIO 选项:14、22、48 引脚 ADC 选项:10 和 12 位斜率 SAR 其它集成外设:模拟比较器、DMA、硬件乘法器、SVS、12 位 DAC

(以上资料摘自于百度百科)


C语言程序(采用IAR for 430):

#include 

typedef unsigned char uchar;

typedef unsigned int uint;

 

uchar  RecBuf[256];

uchar  Windex;

uchar  Rindex; 

 

void Send1Char(uchar sendchar);

void PutString(uchar *ptr);

void com_init();//串口初始化

 

void com_init()

{

    unsigned int i;

    /*下面六行程序关闭所有的IO口*/

    P1DIR = 0XFF;P1OUT = 0XFF;

    P2DIR = 0XFF;P2OUT = 0XFF;

    P3DIR = 0XFF;P3OUT = 0XFF;

    P4DIR = 0XFF;P4OUT = 0XFF;

    P5DIR = 0XFF;P5OUT = 0XFF;

    P6DIR = 0XFF;P6OUT = 0XFF;

  

    WDTCTL = WDTPW + WDTHOLD;                 // 关闭看门狗

    P6DIR |= BIT2;P6OUT |= BIT2;              //关闭电平转换

    P6DIR |= BIT7;P6OUT &=~ BIT7;              //关闭电平转换

    P3SEL |= 0x30;                            // 选择P3.4和P3.5做UART通信端口

    

    BCSCTL1 &= ~XT2OFF;                       // XT2on

    do

    {

    IFG1 &= ~OFIFG;                           // Clear OSCFault flag

    for (i = 0xFF; i > 0; i--);               // Time for flag to set

    }

    while ((IFG1 & OFIFG));                   // OSCFault flag still set?

    BCSCTL2 |= SELM_2 + SELS;                 // MCLK = SMCLK = XT2 (safe)

    

    ME1 |= UTXE0 + URXE0;                     // 使能USART0的发送和接受

    UCTL0 |= CHAR;                            // 选择8位字符

    UTCTL0 |= SSEL1;                          // UCLK = SMCLK

    UBR00 = 0x45;                             // 波特率115200

    UBR10 = 0x00;                             //

    UMCTL0 = 0x00;                            // Modulation

    UCTL0 &= ~SWRST;                          // 初始化UART状态机

    IE1 |= URXIE0;                            // 使能USART0的接收中断

    _EINT();                                  //打开全局中断

    

    Windex = 0;

    Rindex = 0;

}

 

 

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

函数名称:UART0_RXISR

功    能:UART0的接收中断服务函数,在这里唤醒

          CPU,使它退出低功耗模式

参    数:无

返回值  :无

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

#pragma vector = UART0RX_VECTOR

__interrupt void UART0_RXISR(void)

{

    if(RXBUF0 == 0x0d)   LPM1_EXIT;

    else

    {

        RecBuf[Windex++] = RXBUF0;

        Windex &= 0x7f;//when Windex=0x80,changed to 0x00;

    }

}

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

函数名称:Send1Char

功    能:向PC机发送一个字符

参    数:sendchar--要发送的字符

返回值  :无

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

void Send1Char(uchar sendchar)

{

      while (!(IFG1 & UTXIFG0));    //等待发送寄存器为空         

      TXBUF0 = sendchar;  

}

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

函数名称:PutSting

功    能:向PC机发送字符串

参    数:ptr--指向发送字符串的指针

返回值  :无

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

void PutString(uchar *ptr)

{

      while(*ptr != '')

      {

            Send1Char(*ptr++);                     // 发送数据

      }

      while (!(IFG1 & UTXIFG0));

      TXBUF0 = 0x0d;  

      while (!(IFG1 & UTXIFG0));

      TXBUF0 = 0x0a;                              //发送换行指令

}

 

 

/********************主函数********************/

void main(void)

{

 

    com_init();

    

    PutString("welcome to my blog");

    PutString("I am meizumx4!");

    

    while(1)

    {

        LPM1;

    }

}


-------------------------------------------------------

通信格式:N.8.1,  115200

无校验,8个数据位,1个停止位,波特率115200

------------------------------------------------------


推荐阅读

史海拾趣

Applied Micro Circuits (MACOM)公司的发展小趣事

MACOM公司设计和制造的半导体产品广泛应用于电信、工业和数据中心等行业。其高性能的半导体产品在全球范围内得到了广泛应用和认可。此外,MACOM还通过了一系列重要的行业认证,包括IATF16949汽车电子认证、AS9100D航空航天标准、ISO9001国际质量标准认证以及ISO14001环境管理标准认证等。这些认证不仅证明了MACOM在产品质量和企业管理方面的卓越表现,也为其在全球范围内开展业务提供了有力保障。

以上是关于电子行业中的Applied Micro Circuits(MACOM)公司发展的五个相关故事。这些故事展示了MACOM在创立、技术创新、上市募资、业务扩张和行业应用等方面的发展历程和成就。作为一家在电子行业中具有重要地位的公司,MACOM不断推动着技术的进步和行业的发展。

常忆科技(CHINGIS)公司的发展小趣事

常忆科技股份有限公司,始创于1995年,总部位于台湾。在电子行业的发展历程中,常忆科技以其专注于IC设备制造领域的执着和创新能力,逐渐崭露头角。公司成立之初,便致力于开发P型晶体管非挥发性内存,由pFlash和pFusion两个事业单位组成,分别负责不同方面的工作。pFlash专注于开发和生产标准型NOR内存,而pFusion则负责向晶圆代工厂及IC设计公司提供嵌入式非挥发内存的生产技术及知识产权,并提供定制化设计及技术咨询服务。

随着消费电子产品、电脑及周边设备、无线通讯和网络装置等领域的快速发展,常忆科技的产品得到了广泛应用。公司凭借其卓越的技术和产品质量,逐渐在市场上占据了一席之地,为后续的蓬勃发展奠定了坚实基础。

南晶电子(DGNJDZ)公司的发展小趣事

南晶电子(DGNJDZ)成立于2011年,起初只是一家专注于半导体分立器件研发和生产的小型企业。创始人毛姬娜凭借其敏锐的市场洞察力和技术背景,带领团队攻克了一个又一个技术难关,逐渐在电子行业崭露头角。公司初期面临着资金短缺、技术瓶颈等重重困难,但毛姬娜和团队凭借坚韧不拔的精神,一步步走出了困境。

Actel公司的发展小趣事

随着人工智能、物联网等技术的快速发展,南晶电子意识到传统半导体器件已无法满足市场需求。公司决定进行转型升级,向智能穿戴设备、智能家居、汽车电子等领域拓展。通过引进先进技术和设备,加强研发团队建设,南晶电子成功推出了一系列智能化产品,实现了从传统制造业向智能制造的转型。

FINTEK公司的发展小趣事

在快速发展的同时,FINTEK公司始终不忘履行社会责任和推动可持续发展。公司积极参与环保公益事业,致力于减少生产过程中的能源消耗和废物排放。同时,FINTEK还加大了对清洁能源和可再生能源技术的研发投入,以推动电子行业的绿色转型。此外,FINTEK还积极履行纳税义务,为社会创造更多的就业机会和税收贡献。这些举措不仅彰显了FINTEK作为行业领导者的责任感,也为公司的长远发展奠定了良好的社会基础。

Guerrilla RF公司的发展小趣事
如果电动机驱动电路损坏,可能导致硬盘无法接收到启动信号,从而无法正常工作。

问答坊 | AI 解惑

3G网络对IP承载网规划设计中问题的探讨

对于中国人来说,姗姗来迟的3G时代究竟是如何的欣欣向荣,现在我们还只能忐忑不安地憧憬着。但是,在这山雨欲来的时刻,3G的IP承载网对于运营商来说,都已经是“风满楼”的状态,几乎触手可及了。         不管是中 ...…

查看全部问答>

芯片资料

各位好!目前我手上有个贴片元件,封装为SOT-23-5,元件表面丝印内容简单标注为A1,不知大伙可否遇到过类似元件,求该元件的技术资料,非常感谢!      hgpwgp@yahoo.com.cn…

查看全部问答>

rs422转u盘知道吗谢谢

rs422转u盘知道吗谢谢…

查看全部问答>

关于wince下openssl命令的问题

请问各位大侠,本人有一个很棘手的问题请教。我在wince下用openssl命令想要生成一个ca.crt文件,命令如下: \"X509 -req -in \\\"\\\\wince_192.168.6.200_own.csr\\\" -out \\\"\\\\wince_192.168.6.200_ca.crt\\\" -signkey \\\"\\\\wince_192.1 ...…

查看全部问答>

液晶黑屏

我用的液晶显示器平时显示是正确的 但是偶尔会在初始化之后黑屏了 这样就看不到屏上的信息了 请高手指点一下!! 谢谢…

查看全部问答>

关于用QuartusII仿真的问题??????

今天遇到一个奇怪的问题:用QuartusII仿真的时候,波形图总是不会出现时钟,就只有电平而已,但是程序确定无误是设定了时钟类型的,仿真的时候也设定了,但就是仿真不了!到底是什么问题呢??…

查看全部问答>

关于ARM开发板

最近想弄块A8或者ARM11的板子玩玩,不知道大家都有没有兴趣如果人多,我们可以组织团购!!~…

查看全部问答>

有线无线温度器完成

我无线有两套方案:一个是用ADI公司射频芯片,一个是用射频块。但我由于手头上就一片ADI主控芯片所以第一方案先放放,那就得用射频模块了。ADI那个方案我想日后试试。这两种我在后边补吧,现在先传下视频作个总结。       ...…

查看全部问答>

毕业设计求助!!!

        我的专业是机械大类里面的机械电子工程方向,前三年学的都是与机械设计制造相关的课程。毕业设计我选的题目是“基于ARM的智能家居系统设计”,在网上购买了OK6410作为开发系统。由于之前只用过51单片机 ...…

查看全部问答>

只为uC而生,uS成长历程4

昨晚我花了不少时间,做了一系列关于开销的测试。 我们可以得出一个我们很关心的结论: 那就是,相比于平常的直接调用变量和函数。 采用指针,乃至通过结构体引用,相比而言,多出来的 时间开销并不是十分大,大多数情况下,不足以成为影响效率 ...…

查看全部问答>