历史上的今天
返回首页

历史上的今天

今天是:2025年03月10日(星期一)

正在发生

2020年03月10日 | MSP430 串口初始化,及串口操作

2020-03-10 来源:eefocus

#include   


/*

    关于UART0串口的配置,及操作函数说明

*/


/* 一、uart0初始化*/ 

void uart0_idev_init(void)

{

        P3SEL  |= BIT4  + BIT5;     // 1. 选择P3.4和P3.5做UART0通信端口

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

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


        UTCTL0 |= SSEL0;            // 4. 选择时钟源, ACLK :SSEL0

                                    //               SMCLK : SSEL1


        UBR00   = 0x03;             // 5. 波特率  32767HZ: 9600

        UBR10   = 0x00;             //

        UMCTL0  = 0x4A;             //   Modulation

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

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

}



/* 二、uart0发送一个byte*/

void uart0_send_byte(BYTE dat)

{


    while (!(IFG1 & UTXIFG0));                // USART0 TX buffer ready?

    TXBUF0  = dat;

}


/* 三、从 uart0 RXBUF0中读取一个byte*/

INT8U uart0_rec(void)

{

    return RXBUF0;


/* 四、uart1串口中断处理函数*/

#pragma vector=UART0RX_VECTOR

__interrupt void usart0_rx (void)

{


}




/*

    关于UART2串口的配置,及操作函数说明

*/


/* 一. uart1初始化*/

void uart1_idev_init(void)

{

  P3SEL  |= BIT6 + BIT7;     // 1. 将P3.6,P3.7选做UART1的通信端口

  ME2    |= UTXE1 + URXE1;   // 2. 使能USART0的发送和接受

  UCTL1  |= CHAR;            // 3. 选择8位字符


  UTCTL1 |= SSEL0;            // 4. 选择时钟源, ACLK :SSEL0

                              //              SMCLK : SSEL1


  UBR01     = 0x03;           // 5. 波特率  32767HZ: 9600

  UBR11     = 0x00;           //

  UMCTL1    = 0x4A;           // Modulation

  UCTL1    &= ~SWRST;         // 6. 初始化UART状态机

  IE2    |= URXIE1;           // 7. 使能USART1的接收中断

}


/* 二、uart1发送一个byte*/

void uart1_send_byte(BYTE dat)

{


    while (!(IFG2 & UTXIFG1));      // USART0 TX buffer ready?

    TXBUF1  = dat;

}


/* 三、从 uart1 RXBUF1中读取一个byte*/

INT8U uart1_rec(void)

{

    return RXBUF1;


/* 四、uart1串口中断处理函数*/

#pragma vector=UART1RX_VECTOR

__interrupt void usart1_rx (void)

{


}

推荐阅读

史海拾趣

BOSER公司的发展小趣事

BOSER公司始终关注企业社会责任和可持续发展。公司在生产过程中积极采用环保材料和技术,降低能耗和排放。同时,BOSER还积极参与公益事业,为社会做出贡献。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

需要强调的是,以上五个故事是基于电子行业常见趋势和挑战虚构的BOSER公司的发展故事。虽然这些故事是虚构的,但它们反映了电子公司在发展过程中可能遇到的机遇和挑战,以及如何通过不断创新和适应市场变化来实现持续发展。如果您希望了解真实存在的电子公司的发展故事,建议查阅相关公司的官方资料或新闻报道。

Digital Equipment Corp公司的发展小趣事

随着业务的不断扩展和产品的不断创新,DEC在1966年决定公开上市。这次上市不仅为DEC带来了大量的资金,还提升了其在业界的知名度。借助资本市场的力量,DEC能够进一步扩大生产规模,加强研发能力,并推出更多具有竞争力的产品。在上市后的几年里,DEC的销售收入快速增长,成为计算机行业的重要参与者。

CCS[Custom Computer Services]公司的发展小趣事

随着业务的不断发展,CCS公司意识到市场拓展的重要性。公司积极寻求与国内外知名企业的合作,通过战略合作的方式共同开拓市场。通过与这些企业的合作,CCS公司不仅获得了更多的业务机会,还提高了自身的品牌知名度和市场影响力。同时,CCS公司还积极参加各类行业展会和交流活动,与同行建立广泛的联系和合作关系,为公司的长远发展奠定了坚实的基础。

Excelitas公司的发展小趣事

随着技术的不断成熟和市场的扩大,Excelitas公司开始寻求全球扩张。公司先后在北美、欧洲和亚洲设立了研发中心和生产基地,以更好地服务全球客户。在全球扩张的过程中,Excelitas注重本土化战略,积极与当地企业合作,共同开拓市场。这一策略不仅帮助公司快速融入当地市场,还促进了公司业务的持续增长。

CBM_America_Corporation公司的发展小趣事

在面临激烈的市场竞争时,CBM_America_Corporation选择与一家国际知名的电子制造商建立战略合作关系。通过共享技术资源和市场渠道,两家公司共同开发了一款具有竞争力的智能设备。这一合作不仅提升了CBM的品牌影响力,还为其带来了稳定的订单和利润增长。随着合作的深入,CBM逐渐在电子行业中占据了重要的地位。

AEC Design公司的发展小趣事
在初步获得市场认可后,AEC Design公司开始积极拓展国内外市场。通过与各大电商平台和实体零售商建立合作关系,公司的产品线逐渐覆盖更广泛的消费群体。同时,公司还积极参加各类行业展会和论坛,与业界同行交流学习,不断提升自身的品牌影响力和市场竞争力。

问答坊 | AI 解惑

基于MC9S08LL16/8设计的锂电池充电系统方案

一、锂电池的介绍: 1、锂电池的概述: 锂电池是一类由锂金属或锂合金为负极材料、使用非水电解质溶液的电池。最早出现的锂电池来自于伟大的发明家爱迪生,使用以下反应: Li+MnO2=LiMnO2 该反应为氧化还原反应,放电。 由于锂金属的化学特性 ...…

查看全部问答>

vxworks 下PC104扩展板卡驱动开发

各位朋友,大家好,我现在做了一块PC104的扩展板卡,是SDC DSC(自整角机)的,要在VxWorks做一个驱动,有一些很基础的问题想请教一下大家,还希望大家给点指导和建议,本人以前没有做过驱动等相关的工作,使用很多问题可能比较简单,还望大家别见 ...…

查看全部问答>

测试LCD时,出现色块

用专业的测试图片(24位),放在板子上测试LCD屏时,出现了一些色块,象水彩画一样。 请问有人遇到过吗? C:\\Documents and Settings\\Administrator\\桌面\\color_test\\86687_h.jpg…

查看全部问答>

陕西杨工c8051f单片机博客

手机 13002928013 http://c8051fmcu.blog.sohu.com …

查看全部问答>

为什么在定时器操作中要给TCR赋值两次

问一个简单问题 为什么在定时器操作中要给TCR赋值两次 如   T0TCR=0x03;      T0TCR=0x01; 谢谢!…

查看全部问答>

关于2440+CE5.0,插上USB线后,把NAND FLASH或 SD卡当成U盘

我的平台是2440+CE5.0 我现在想把它插上USB线,然后在PC端就识别成一个U盘, 我改了platform.reg里的DefaultClientDriver=Mass_Storage_Class 但是插上后U盘没有盘符出现,是不能识别的设备 我应该怎么个搞法啊 谢谢 现在插上U盘后, 串口会输出 ...…

查看全部问答>

DATA Abort错误处理如何处理?

我在vs2005开发的串口程序放到wince5.0上出现如下错误请问是怎么回事? Data Abort: Thread=838cf520 Proc=82326340 \'device.exe\' AKY=00000405 PC=02a91b5c(serial_smdk2440.dll+0x00001b5c) RA=02a9450c(serial_smdk2440.dll+0x0000450c) BVA= ...…

查看全部问答>

关于80C150的应用

我是一名学生~ 最近在做RS232/CAN转换卡 拿到用来参考的板子上有一个芯片是82C150 基于CAN的I/O设备~ 我想请问各位高手 这个芯片一般是用来做什么的?多谢了~…

查看全部问答>

用proteus仿真LM016L时的问题~

这里不会插入图片,只有发连接了,详情见下面连接,谢谢啦 http://wenwen.soso.com/z/q265766667.htm…

查看全部问答>

推荐个网上买元器件的网站吧,想买stm32开发板用的m25p64

推荐个网上买元器件的网站吧,想买stm32开发板用的m25p64 或是论坛里谁有啊,谢谢。 大家说说 在哪家买元器件 放心。…

查看全部问答>