
看你这程序是Timer_A控制的Uart程序,我没弄过,没有发言权。
不过下面是我编的一个串口中断的接收发送程序(不是用定时器模拟的),你可以看一下。
/
程序功能:接收PC机十六进制数据后回传至PC机
数据格式:十六进制
帧头:FD
帧尾: FE
/
#include <msp430x14xh>
unsigned char RecBuf[255]; //接收数据缓存
unsigned char SDat; //指向要发送的数据
unsigned char Rindex; //接收数据计数
unsigned char Tindex; //发送数据计数
unsigned char SendLen; //发送数据长度
/
函数名称:ConfigUart0
功 能:配置UART0,使用SMCLK,N81, 9600
无校验,8个数据位,1个停止位,波特率9600
参 数:无
返回值 :无
/
void ConfigUart0()
{
P3SEL |= 0x30; // 选择P34和P35做UART通信端口
ME1 |= UTXE0 + URXE0; // 使能USART0的发送和接受
UCTL0 |= CHAR; // 选择8位字符
UTCTL0 |= SSEL1; // UCLK = SMCLK
UBR00 = 0xD0; // 波特率9600
UBR10 = 0x00; //
UMCTL0 = 0x40; // Modulation
UCTL0 &= ~SWRST; // 初始化UART状态机
IE1 |= URXIE0 + UTXIE0; // 使能USART0的收发中断
}
/主函数/
void main(void)
{
unsigned int i;
WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗
BCSCTL1 &= ~XT2OFF; //使TX2有效,TX2上电默认是关闭的
do
{
IFG1 &= ~OFIFG; //清除振荡器失效标志
for(i=0xff;i>0;i--); //延时,待稳定
}
while((IFG1 & OFIFG)!=0); //若振荡器失效标志有效
BCSCTL2 |= SELM1; //使MCLK=XT2
BCSCTL2 |= SELS+DIVS1; //SMCLK=XT2,4分频,即2MHZ
BoardConfig(0xb8); // 关闭数码管、流水灯和电平转换
ConfigUart0(); //配置UART0
_EINT(); //打开全局中断
while(1)
{
LPM1;
}
}
/
函数名称:UART0_RXISR
功 能:UART0的接收中断服务函数,在这里唤醒
CPU,使它退出低功耗模式
参 数:无
返回值 :无
/
#pragma vector = UART0RX_VECTOR
__interrupt void UART0_RXISR(void)
{
RecBuf[Rindex++] = RXBUF0;
if(RecBuf[Rindex-1]==0xfe) //接收完毕
{
if(RecBuf[0]==0xfd) //帧头正确
{
LPM1_EXIT;
SDat = RecBuf;
IFG1 |= UTXIFG0; // 设置中断标志,进入发送中断程序
SendLen = Rindex;
Rindex=0;
}
}
}
/
函数名称:UART0_TXISR
功 能:UART0的发送中断服务函数
参 数:无
返回值 :无
/
#pragma vector = UART0TX_VECTOR
__interrupt void UART0_TXISR(void)
{
if(Tindex < SendLen)
{
TXBUF0 = (SDat+Tindex);
Tindex++;
}
else
{
Tindex=0;
//LPM1;
}
}
1:电源电路
2:复位电路
3:晶振电路(这个不是必须的,因为430芯片内部一般都有RC振荡电路来为系统提供时钟源,默认也是使用内部时钟源)
4:程序的烧入引脚:
单片机最小系统
最小系统有两种形式:
硬件最小系统:由电源、主板和CPU组成。在这个系统中,没有任何信号线的连接,只有电源到主板的电源连接。在判断过程中是通过声音来判断这一核心组成部分是否可正常工作;
软件最小系统:由电源、主板CPU、内存、显示卡/显示器、键盘和硬盘组成。这个最小系统主要用来判断系统是否可完成正常的启动与运行。对于软件最小环境,就“软件”有以下几点要说明:
1、硬盘中的软件环境,保留着原先的软件环境,只是在分析判断时,根据需要进行隔离如卸载、屏蔽等)。保留原有的软件环境,主要是用来分析判断应用软件方面的问题。
2、硬盘中的软件环境,只有一个基本的xx作系统环境(可能是卸载掉所有应用,或是重新安装一个干净的xx作系统),然后根据分析判断的需要,加载需要的应用。需要使用一个干净的xx作系统环境,是要判断系统问题、软件冲突或软、硬件间的冲突问题。
3、在软件最小系统下,可根据需要添加或更改适当的硬件。如:在判断启动故障时,由于硬盘不能启动,想检查一下能否从其它驱动器启动。这时,可在软件最小系统下加入一个软驱或干脆用软驱替换硬盘,来检查。又如:在判断音视频方面的故障时,应需要在软件最小系统中加入声卡;在判断网络问题时,就应在软件最小系统中加入网卡等。
最小系统法,主要是要先判断在最基本的软、硬件环境中,系统是否可正常工作。如果不能正常工作,即可判定最基本的软、硬件部件有故障,从而起到故障隔离的作用。最小系统法与逐步添加法结合,能较快速地定位发生在其它板软件的故障,提高维修效率。
以上就是关于MSP430程序解释全部的内容,包括:MSP430程序解释、我想搭建一个MSP430最小系统需要哪些准备、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)