打印

串口查询发送,不开中断可以,开了后一直发FF

[复制链接]
2379|34
手机看帖
扫描二维码
随时随地手机跟帖
沙发
午夜粪车| | 2017-6-9 23:57 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
zhenykun|  楼主 | 2017-6-9 23:59 | 只看该作者
如下:

#include <msp430x16x.h>

void Init_Port(void);

void Init_CLK(void);

void Init_UART1(void);

char data[6]="MSP430";

void main()

{

  WDTCTL=WDTPW+WDTHOLD;

  Init_CLK();

  Init_Port();

  Init_UART1();

  unsigned char i;

  _EINT();

  while(1)

  {

    for(i=0;i<6;i++)

    {

      TXBUF1=data[i];

      while((UTCTL1&0x01)==0);

    }

  }

  

  

}

void Init_Port(void)

{

    //将所有的管脚在初始化的时候设置为输入方式

    P3DIR = 0;



    //将所有的管脚设置为一般I/O口

    P3SEL = 0;

    return;

}

void Init_CLK(void)

{

    unsigned int i;

    //将寄存器的内容清零

    //XT2震荡器开启

    //LFTX1工作在低频模式

    //ACLK的分频因子为1

    BCSCTL1 = 0X00;        

                                       

    do

    {

        IFG1 &= ~OFIFG;                       // 清除OSCFault标志

        for (i = 0x20; i > 0; i--);               

    }

    while ((IFG1 & OFIFG) == OFIFG);      // 如果OSCFault =1   

                                       

    BCSCTL2 = 0X00;                        //将寄存器的内容清零

    BCSCTL2 += SELM1;                //MCLK的时钟源为TX2CLK,分频因子为1

    BCSCTL2 += SELS;                //SMCLK的时钟源为TX2CLK,分频因子为1

}

void Init_UART1(void)

{

    //将寄存器的内容清零

    U1CTL = 0X00;        

    //数据位为8bit

    U1CTL += CHAR;                        

   

    //将寄存器的内容清零

    U1TCTL = 0X00;        

    //波特率发生器选择SMCLK

    U1TCTL += SSEL1;                        

   

    //波特率为9600

    UBR0_1 = 0X00;                        

    UBR1_1 = 0X03;

    //调整寄存器

    UMCTL_1 = 0X00;                        



    //使能UART1的TXD和RXD

    ME2 |= UTXE1 + URXE1;

    //使能UART1的RX中断

    IE2 |= URXIE1;        

    //使能UART1的TX中断

    IE2 |= UTXIE1;                        

   

    //设置P3.6为UART1的TXD

    P3SEL |= BIT6;        

    //设置P3.7为UART1的RXD

    P3SEL |= BIT7;                        

   

    //P3.6为输出管脚

    P3DIR |= BIT6;                        

    return;

}

使用特权

评论回复
地板
kkzz| | 2017-6-10 09:50 | 只看该作者
发到是0xff?

使用特权

评论回复
5
hudi008| | 2017-6-10 09:51 | 只看该作者
是不是受到外部干扰造成的

使用特权

评论回复
6
lzmm| | 2017-6-10 09:51 | 只看该作者
使用示波器测量一下电平电压

使用特权

评论回复
7
minzisc| | 2017-6-10 09:51 | 只看该作者
查询发送怎么会发送数据?

使用特权

评论回复
8
selongli| | 2017-6-10 09:52 | 只看该作者
while(1)循环的数据

使用特权

评论回复
9
fentianyou| | 2017-6-10 09:53 | 只看该作者
串口的波特率可能匹配有问题

使用特权

评论回复
10
xiaoyaodz| | 2017-6-10 09:53 | 只看该作者
中断也不会可能产生这样的信号。

使用特权

评论回复
11
febgxu| | 2017-6-10 09:54 | 只看该作者
楼主是使用的发送中断吗

使用特权

评论回复
12
sdlls| | 2017-6-10 09:55 | 只看该作者
楼主的发送函数在哪里写的?

使用特权

评论回复
13
kkzz| | 2017-6-10 09:55 | 只看该作者
电平全是高电平。

使用特权

评论回复
14
hudi008| | 2017-6-10 09:55 | 只看该作者
电压是否有波动

使用特权

评论回复
15
lzmm| | 2017-6-10 09:55 | 只看该作者
正常情况下,不会出现电平波动的问题。

使用特权

评论回复
16
minzisc| | 2017-6-10 09:55 | 只看该作者
你检测的哪个标志位?

使用特权

评论回复
17
selongli| | 2017-6-10 09:55 | 只看该作者
使用延时了吗?

使用特权

评论回复
18
fentianyou| | 2017-6-10 09:55 | 只看该作者
楼主是PC端接收到的数据有问题吗?

使用特权

评论回复
19
xiaoyaodz| | 2017-6-10 09:55 | 只看该作者
中断函数在哪来写的

使用特权

评论回复
20
febgxu| | 2017-6-10 09:55 | 只看该作者
接收中断不会影响到发送的 。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

粉丝