这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 【求助】收发数据不一样,请大家帮帮忙!

共2条 1/1 1 跳转至

【求助】收发数据不一样,请大家帮帮忙!

院士
2006-09-17 18:14:16     打赏
【求助】收发数据不一样,请大家帮帮忙!



关键词: 求助     收发     数据     不一样     大家     帮帮忙    

院士
2006-12-22 22:43:00     打赏
2楼
undefinedundefined我做的是430F149与计算机串口通信实验,串口调试工具接受的数据与发送的数据怎么不一样呢?有必要初始化时钟吗?用的是XT2外界4M晶振,波特率要求为9600,



#include "MSP430x14x.h"
void Init(void);
void Clockinit(void);
unsigned char flag=0;


void main(void)
{
WDTCTL=WDTPW+WDTHOLD;
Clockinit();
Init();
_EINT();

while(1);
}


void Init(void) //9600bps,8bit,1 stop,no check
{
UCTL1&= ~SWRST;
UCTL1= CHAR;
UTCTL1=SSEL1+SSEL0; // SELECT SMCLK=4M
UBR10=0xA0;
UBR11=0X01;
UMCTL1=0xC0;
ME2|=UTXE1+URXE1;
IE2|=URXIE1;
P3SEL|=0XC0;
P3DIR|=0X40;
}

void Clockinit(void)
{
unsigned char i;
BCSCTL1&=~(XT2OFF+XTS); //turn on XT2CLK LFXT1=LOW FREQUENCY XTAL
BCSCTL1=DIVA0+DIVA1; //ACLK/8
do
{
IFG1&=~OFIFG;
for(i=0x9f;i>0;i--);
}while((IFG1&OFIFG!=0));
BCSCTL2=SELM1+SELS; //MCLK=XT2,SMCLK=XT2
}



interrupt[UART1RX_VECTOR] void UART1RX(void)
{
if(flag==0)
{
if(RXBUF1==0XFF)

flag=1;
}
else
{
while((IFG2&UTXIFG1)==0);
TXBUF1=RXBUF1;
}
} 1: 真是奇怪啊,现在我又重新写了一遍程序,调试后收发数据完全正常。程序是一模一样的,太奇怪了 2: 那是你的产品不稳定~~~~
估计是接触不好~~~~~~

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]