[MCU]

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

[复制链接]
215|17
手机看帖
扫描二维码
随时随地手机跟帖
午夜粪车| | 2019-7-30 23:02 | 显示全部楼层

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
zhenykun|  楼主 | 2019-7-30 23:03 | 显示全部楼层
如下:

#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;

}

使用特权

评论回复
shimx| | 2019-7-30 23:05 | 显示全部楼层
发到是0xff?

使用特权

评论回复
jiaxw| | 2019-7-30 23:07 | 显示全部楼层
是不是受到外部干扰造成的

使用特权

评论回复
spark周| | 2019-7-30 23:08 | 显示全部楼层
使用示波器测量一下电平电压

使用特权

评论回复
liliang9554| | 2019-7-30 23:10 | 显示全部楼层

查询发送怎么会发送数据?

使用特权

评论回复
zhanghqi| | 2019-7-30 23:13 | 显示全部楼层

while(1)循环的数据

使用特权

评论回复
午夜粪车| | 2019-7-30 23:14 | 显示全部楼层
串口的波特率可能匹配有问题

使用特权

评论回复
jiajs| | 2019-7-30 23:18 | 显示全部楼层
楼主是使用的发送中断吗

使用特权

评论回复
zhaoxqi| | 2019-7-30 23:19 | 显示全部楼层
楼主的发送函数在哪里写的?

使用特权

评论回复
zhaoxqi| | 2019-7-30 23:21 | 显示全部楼层
电平全是高电平。

电压是否有波动

使用特权

评论回复
jiaxw| | 2019-7-30 23:23 | 显示全部楼层
正常情况下,不会出现电平波动的问题。

使用特权

评论回复
zhaoxqi| | 2019-7-30 23:26 | 显示全部楼层
你检测的哪个标志位?

使用特权

评论回复
jiajs| | 2019-7-30 23:27 | 显示全部楼层
使用延时了吗?

使用特权

评论回复
spark周| | 2019-7-30 23:30 | 显示全部楼层

楼主是PC端接收到的数据有问题吗?

使用特权

评论回复
lizye| | 2019-7-30 23:32 | 显示全部楼层

中断函数在哪来写的

使用特权

评论回复
zhenykun|  楼主 | 2019-7-30 23:34 | 显示全部楼层

结贴了,多谢大家讨论这么多哈,呵呵

使用特权

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

本版积分规则

868

主题

11535

帖子

3

粉丝