《急急急》为什么msp430单片机与串口助手通信会出现乱码?
程序有什么问题?请指教,谢谢#include<msp430x13x.h>charData[6]="123456";charrece[7];intcount=0,f=0;v...
程序有什么问题?请指教,谢谢
#include <msp430x13x.h>
char Data[6]="123456";
char rece[7];
int count=0,f=0;
void HELLO(void)
{
unsigned char i;
for(i=0;i<6;i++)
{
while((IFG1&UTXIFG0)==0);
TXBUF0=Data[i];
}
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
UTCTL0|=SSEL1;
UBR00=0x69;
UBR10=0x03;
UMCTL0=0x00;
ME1|=UTXE0+URXE0;
UCTL0|=CHAR;
UCTL0 &= ~SWRST;
IE1|=URXIE0;
P3DIR|=0x10;
P3SEL|=0x30;
_EINT();
for(;;)
{
if(f==0)
{
HELLO();
//f=1;
}
}
}
#pragma vector=UART0RX_VECTOR
__interrupt void USART0_RX(void)
{
rece[count]=RXBUF0;
count++;
if(count==6)
count=0;
}
晶振是8M,波特率是9600。算出来的值就是和电脑的9600不匹配,以致出现乱码,到底应该怎么算,是多少/ 展开
#include <msp430x13x.h>
char Data[6]="123456";
char rece[7];
int count=0,f=0;
void HELLO(void)
{
unsigned char i;
for(i=0;i<6;i++)
{
while((IFG1&UTXIFG0)==0);
TXBUF0=Data[i];
}
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
UTCTL0|=SSEL1;
UBR00=0x69;
UBR10=0x03;
UMCTL0=0x00;
ME1|=UTXE0+URXE0;
UCTL0|=CHAR;
UCTL0 &= ~SWRST;
IE1|=URXIE0;
P3DIR|=0x10;
P3SEL|=0x30;
_EINT();
for(;;)
{
if(f==0)
{
HELLO();
//f=1;
}
}
}
#pragma vector=UART0RX_VECTOR
__interrupt void USART0_RX(void)
{
rece[count]=RXBUF0;
count++;
if(count==6)
count=0;
}
晶振是8M,波特率是9600。算出来的值就是和电脑的9600不匹配,以致出现乱码,到底应该怎么算,是多少/ 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询