当前位置:首页 > 单片机 > 单片机
[导读] #include"MSP430x44x.h"voidinit_UART(void);voiduart_start(void);voiduart_send(void);voiduart_receive(void);unsignedcharRXDATA_BUF[10],TXDATA_BUF[10]={0xbd,0x77,0x3d,0xc5,0xc6,0xf5,0x68,0x0

#include"MSP430x44x.h"

voidinit_UART(void);
voiduart_start(void);
voiduart_send(void);
voiduart_receive(void);

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


unsignedintRX_count=0,TX_count=0,TXBUF_num=10,RXBUT_num=10,FLAG;

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

--------------------------------------------------------
voidinit_uart(void)//初始化UART
{unsignedinti;
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;//使能TXDRXD
IE1|=URXIE0;
IFG1=0X00;
P2SEL|=0X30;//模块选用
P2DIR|=0X10;
for(i=0;i<10;i++){RXDATA_BUF=0;}//清接收缓存
_EINT();
}

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

----------------------------------------------------------
voiduart_receive(void)//接收
{RXDATA_BUF[RX_count]=RXBUF0;
RX_count+=1;
if(RX_count>=RXBUT_num){RX_count=0;}
}
-----------------------------------------------------------
voiduart_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]voiduart_tx(void)//发送中断响应
{
uart_send();
}

--------------------------------------------------------------
interrupt[UART0RX_VECTOR]voiduart_rx(void)//接收中断响应
{
uart_receive();
}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着科技的飞速发展,电子产品在我们日常生活中扮演着越来越重要的角色。而在这些电子产品中,接口作为连接设备与外部设备的桥梁,其重要性不言而喻。其中,Type-C接口作为一种新型的接口标准,因其独特的优势,逐渐成为了众多电子...

关键字: 电子产品 Type-C 接口

随着电动汽车的普及,充电桩作为电动汽车的重要基础设施,越来越受到人们的关注。然而,对于许多电动汽车用户来说,直流充电桩和交流充电桩的接口和区别仍然是一个令人困惑的问题。本文将从接口和区别两个方面,详细探讨直流充电桩和交流...

关键字: 电动汽车 接口 充电桩

武汉2023年9月19日 /美通社/ -- 目前,在国家政策和市场需求双重驱动下,国内数据库行业呈现出百花齐放的态势。充分竞争的市场环境下,达梦数据连续数年保持中国数据库管理系统市场占有率前列地位,成为当之无愧的国产数据...

关键字: DM DSC 国家电网 接口

深圳2023年9月15日 /美通社/ -- 9月14-15日,2023全球AI芯片峰会(GACS 2023)在深圳正式举行。峰会以【AI 大时代 逐鹿芯世界】为主题,共探AI芯片的产学研用,邀请了清华大学教授、中国半导体...

关键字: 接口 芯科 内存 AC

仿真的概念其实使用非常广,最终的含义就是使用可控的手段来模仿真实的情况。在嵌入式系统的设计中,仿真应用的范围主要集中在对程序的仿真上。

关键字: 单片机 仿真器 程序

Type-C接口已经成为当今市场上备受青睐的接口之一。它以其小巧轻便、高速传输、支持多种协议等特点,吸引了越来越多的关注。

关键字: Type-C 接口 USB

USB-C和Type-C是两种不同的USB接口类型,它们在外观、结构和功能上有一些区别。下面将详细介绍这两种接口类型的区别和特点,帮助大家更好地了解和认识它们。

关键字: usb-c type-c 接口

USB接口是现代电子设备中常用的接口之一,它具有通用性强、传输速度快、易于使用等特点。USB接口的应用范围非常广泛,从智能手机、笔记本电脑到电脑外设、智能家居等都可以看到它的身影。在USB接口的发展历程中,出现了多种不同...

关键字: USB 接口

USB接口是一种常见的串行接口,它的全称是Universal Serial Bus,由USB Implementers Forum制定。USB接口具有通用性强、传输速度快、支持多种设备同时连接等优点,因此在现代电子设备中...

关键字: USB 接口 串行接口

总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。

关键字: 总线 计算机 接口
关闭
关闭