历史上的今天
返回首页

历史上的今天

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

2018年01月30日 | msp430f449的RS232接口程序

2018-01-30 来源:eefocus

#include "MSP430x44x.h" 

void init_UART(void); 
void uart_start(void); 
void uart_send(void); 
void uart_receive(void); 

unsigned char RXDATA_BUF[10],TXDATA_BUF[10]={0xbd,0x77,0x3d,0xc5,0xc6,0xf5,0x68,0x0d,0x6b,0xff}; 


unsigned int RX_count=0,TX_count=0,TXBUF_num=10,RXBUT_num=10,FLAG; 

void main(void) 
{   init_uart(); 
    uart_start(); 
    while(1) 
    {_BIS_SR(CPUOFF); 
    _NOP(); 
    } 


-------------------------------------------------------- 
void init_uart(void)                    //初始化UART 
{   unsigned int i; 
    WDTCTL=WDTPW+WDTHOLD; 
    FLL_CTL1|=XT2OFF+SELM_XT2+SELS;     //选择MCLK时钟源 
    do                                  //等待时钟稳定 
    {   IFG1&=~OFIFG; 
        for(i=0;i<0xff;i++); 
    }while((FLL_CTL0&XT2OF)==XT2OF); 
    UCTL0|=SWRST;                       //控制寄存器位 
    UCTL0|=CHAR; 
    UTCTL0=SSEL0+SSEL1;                 //选择发送时钟源复位 
    UBR00=0XA0;                         //波特率9600 
    UBR10=0X01; 
    UMCTL0=0X5E; 
    UCTL0&=~SWRST;                      //选择发送时钟源置位 
    ME1|=URXE0+UTXE0;                   //使能TXD  RXD 
    IE1|=URXIE0; 
    IFG1=0X00; 
    P2SEL|=0X30;                        //模块选用 
    P2DIR|=0X10; 
    for(i=0;i<10;i++) {RXDATA_BUF=0;}//清接收缓存 
    _EINT(); 


--------------------------------------------------------- 
void uart_start(void)                   //启动发送 
{   IE1|=UTXIE0; 
    while((UTCTL0&BIT0)!=BIT0); 
    TXBUF0=TXDATA_BUF[0]; 
    TX_count=1; 


---------------------------------------------------------- 
void uart_receive(void)                 //接收 
{   RXDATA_BUF[RX_count]=RXBUF0; 
    RX_count+=1; 
    if(RX_count>=RXBUT_num) {RX_count=0;} 

----------------------------------------------------------- 
void uart_send(void)                    //发送 
{   TXBUF_num-=1; 
    if(TXBUF_num>0) 
      {   TXBUF0=TXDATA_BUF[TX_count]; 
          TX_count+=1; 
          
      } 
    else 
     {   FLAG+=1; 
        if(FLAG>10)  {IE1&=~UTXIE0;} 
              else  {   TXBUF_num=10; 
                        TX_count=0; 
                        uart_start(); 
                     } 
       
     } 

------------------------------------------------------------- 
interrupt [UART0TX_VECTOR] void uart_tx(void)//发送中断响应 
{    
    uart_send(); 


-------------------------------------------------------------- 
interrupt [UART0RX_VECTOR] void uart_rx(void)//接收中断响应 

    uart_receive(); 
}  


推荐阅读

史海拾趣

Hama公司的发展小趣事

H&D Wireless始终将产品创新和客户服务放在首位。公司不断推出新的物联网解决方案,以满足不同行业客户的需求。同时,H&D Wireless还建立了完善的客户服务体系,为客户提供全方位的技术支持和解决方案咨询。这种以客户为中心的经营理念赢得了广大客户的信赖和支持,也为公司的持续发展奠定了坚实基础。

以上五个故事展示了H&D Wireless公司在电子行业中的发展历程和成就,体现了其在物联网领域的创新能力和市场竞争力。

ELEMENT14公司的发展小趣事

ELEMENT14公司最初是一家电子元器件分销商,但随着市场的变化和客户需求的升级,公司决定转型为提供一站式服务的平台。这一转变意味着公司不仅要提供电子元器件,还要提供软件、技术支持、在线社区等全方位的服务。通过不断的投入和努力,ELEMENT14成功转型为一个综合性的电子元器件服务平台,满足了客户多样化的需求。

Elekon Industries公司的发展小趣事

在快速发展的同时,Elekon也积极履行社会责任。公司注重环保和可持续发展,积极采用环保材料和绿色生产工艺,降低生产过程中的能耗和排放。此外,Elekon还积极参与环保公益活动,推动电子行业的绿色发展。这些举措不仅体现了Elekon的社会责任感,也为公司的长期发展奠定了坚实的基础。

请注意,以上故事均为虚构,旨在为您提供关于Elekon Industries公司发展起来的相关故事。如有需要,请参考公司官方发布的信息或相关新闻报道。

Hilscher Gesellschaft für Systemautomation mbH公司的发展小趣事

HVPSI成立于本世纪初,起初是一家小型的技术初创企业,专注于研发高效、可靠的高压电源模块。在创始人及核心团队的带领下,公司迅速在MOV(金属氧化物压敏电阻)模块领域取得了突破。这些模块在电力电子设备中起到了关键的过压保护作用,有效提高了系统的稳定性和安全性。通过不断的技术迭代和产品优化,HVPSI逐渐在行业内树立了技术领先的形象。

Fairchild (ON Semiconductor)公司的发展小趣事

2016年,Fairchild Semiconductor被ON Semiconductor收购。这一收购标志着Fairchild Semiconductor的发展进入了一个新的阶段。ON Semiconductor是一家全球领先的半导体公司,拥有广泛的产品线和强大的技术实力。通过整合Fairchild Semiconductor的技术和资源,ON Semiconductor进一步巩固了其在半导体行业中的领导地位,并继续为全球客户提供优质的半导体产品和服务。

ADPOW公司的发展小趣事

随着国内市场的饱和,ADPOW公司开始将目光投向国际市场。公司制定了国际化发展战略,通过设立海外分支机构、参加国际展会等方式拓展海外市场。同时,公司积极与国际知名企业合作,共同开发新技术、新产品,实现互利共赢。这些举措为公司的长远发展打开了新的局面。

这些故事是基于电子行业的一般发展规律和可能的企业发展路径构建的,并不代表ADPOW公司的真实历史。如需了解该公司的真实发展情况,建议查阅相关资料或访问其官方网站。

问答坊 | AI 解惑

中兴_嵌入式系统讲义

一、嵌入式系统的基本概念 IEEE 对嵌入式系统的定义:用于控制、监视或者辅助操作机器和设备的装置(Devices used to control or Assist the Opetation of Equipment,Machinery or Plants)。 目前国内比较公认的定义:以应用为中心、以计算机技 ...…

查看全部问答>

Linux下烧写镜像

小弟刚刚接触ARM,跟着开发板的说明移植内核,发现自己的Linux系统下不会烧写镜像,可以说是啥也不会,望有经验的同志告之 PS:小弟用惯了Linux,不想回到Windows下去,望能有详细的方法(小白一个)…

查看全部问答>

寻一块钱以下的单片机(带一个AD )

做个项目,需要一块钱以下的单片机,带一个AD 请大家推荐…

查看全部问答>

嵌入式人才的会集地-中国嵌入式ARM超级群

中国嵌入式ARM超级群109739525 为嵌入式从业者提供交流平台,旨在推动嵌入式ARM在中国的普及和发展,欢迎各位高手们加入互通有无,互相学习!…

查看全部问答>

急了,100分求助,按键音怎么改成别的声音啊?

其他提示音都可以改,就这个按键音不知道怎么改?可是用户就要改别的提示音,向各位大侠求助!…

查看全部问答>

求WINCE5.0下JAVA语言的开发软件~~

RT 求 用JAVA语言的做WINCE5.0下应用程序 的软件 感激不尽~~ …

查看全部问答>

WINCE5.0 显示和ImageViewer问题

接触WINCE5.0不久,不知道怎么办. WINCE 原来的缺省显示支持240*320的LCD,而我们用的LCD是320*240.在PB中把WINCE5.0自带的ImageViewer软件加入过来,发现很多地方,打开该应用程序菜单项窗口以后,有些窗口显示框超出了我的LCD.由于看不到WINCE源代码, ...…

查看全部问答>

AN016 — 电源管理技术及功耗计算.pdf

本帖最后由 dontium 于 2015-1-23 13:22 编辑 C8051 …

查看全部问答>

FatFs应用总结

多年来一直在使用FatFs开发各种项目(特别感谢FatFs作者的奉献),但都是或多或少的应用,并没有全面的应用到FatFs的所有功能。最近一个项目需要操作大量的文件,终于进入FstFs应用的全面期,也遇到了不少问题,现将逐步总结这些应用中遇到的各种问 ...…

查看全部问答>

在2812上实现CAN通信的问题

我做了一个基于CAN总线的通信程序,从上位机定时接收控制指令,但大概每过3、4个小时就会收到一帧错误报文。这个问题困扰我了很久,一直解决不了,请哪位大侠帮忙指点指点,多谢了。 问题是这样的,我用19号can邮箱从上位机接收数据,接收的数据为 ...…

查看全部问答>