打印
[MCU]

看不到430返回的数据

[复制链接]
2108|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuhany|  楼主 | 2021-1-4 23:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用430F149的UART1串口和PC的串口调试助手通讯,欲实现430接收PC的数据后即返回PC。调试时发现430可以接收到PC的数据,在PC串口调试助手接收区却看不到430返回的数据

使用特权

评论回复

相关帖子

沙发
liliang9554| | 2021-1-4 23:52 | 只看该作者
拖进去后再编译一下啊

使用特权

评论回复
板凳
wuhany|  楼主 | 2021-1-4 23:55 | 只看该作者
单步调试时查看到U1RXBUF和U1TXBUF均为PC发过来的数据

使用特权

评论回复
地板
zhanghqi| | 2021-1-4 23:58 | 只看该作者
代码看看

使用特权

评论回复
5
wuhany|  楼主 | 2021-1-5 21:05 | 只看该作者

#include "msp430x14x.h"
#define uchar unsigned char
#define uint unsigned int
uint i,j,k,s;
//****************初始化时钟*************//
Init_Clk()
{
  WDTCTL = WDTPW + WDTHOLD;       //关狗
  BCSCTL1&=~XT2OFF;
  do
    {
      IFG1&=~OFIFG;
      for(i=0xff;i>0;i--);
    }
  while(IFG1&OFIFG!=0);
  BCSCTL2|=SELM1+SELS+DIVS_2;     //MCLK、SCLK均选择XT2=6M,SCLK进行4分频
}
//****************通讯操作***************//
#define U_E_H P3OUT|=BIT5       //通讯芯片使能控制
#define U_E_L P3OUT&=~BIT5
#define U1_R BIT7               //接收引脚
#define U1_T BIT6               //发送引脚
Init_USART()                    //初始化
{
  P3DIR|=U1_T+BIT5;             //引脚方向设置
  P3DIR&=~U1_R;                 //引脚方向设置
  P3SEL|=U1_R+U1_T;             //引脚功能设置
  U_E_H;                        //通讯芯片使能
  U1CTL|=SWRST;                 //开始设置串行口
  U1CTL|=CHAR;                  //8位数据位     
  U1CTL&=~MM;                   //线路空闲多机协议
  U1CTL&=~PENA;                 //无校验
  U1CTL&=~SPB;                  //1位停止位
  U1CTL&=~SYNC;                 //异步通讯  
  U1TCTL|=SSEL1;                //选择SMCLK
  U1BR1=0X00;
  U1BR0=0X9C;
  U1MCTL=0X40;                  //9600
  U1CTL&=~SWRST;                //串口设置结束
  ME2|=UTXE1+URXE1;             //发送、接收允许
  IE2|=URXIE1;                  //接收中断允许
  _EINT();                      //开全局中断
}
//****************主程序***************//
main(void)
{
  Init_Clk();
  Init_USART();
  while(1);
}
#pragma vector = UART1RX_VECTOR
__interrupt void RX_ISR(void)
{
   IFG2&=~URXIFG1;
   while(!(IFG2&URXIFG1));
   TXBUF1=RXBUF1;
   while((IFG2&UTXIFG1)==0);
   IFG2&=~UTXIFG1;
}

使用特权

评论回复
6
zhenykun| | 2021-1-5 21:10 | 只看该作者
IFG2&=~URXIFG1;

#pragma vector = UART1RX_VECTOR
__interrupt void RX_ISR(void)
{
   IE2 &=~URXIE1;
   while((IFG2&UTXIFG1)==0);
   TXBUF1=RXBUF1;
    IE2|=URXIE1;
}
当中断出发时,先关闭中断,查看发送寄存器空不,然后发送收到的数据,发送完毕,打开中断

使用特权

评论回复
7
wuhany|  楼主 | 2021-1-5 21:14 | 只看该作者
嗯,我研读一下 啊

使用特权

评论回复
8
huangchui| | 2021-1-5 21:18 | 只看该作者

看看你的发送函数对不对

使用特权

评论回复
9
huangchui| | 2021-1-5 21:22 | 只看该作者
所谓“双mic抗噪技术”是指通过技术处理,将外界的噪音消除而在这之中的“技术处理”,就是内置的2个麦克风,一个稳定保持清晰通话,另一个麦克风物理主动消除噪音,通过收集外界的声音,进行处理后,发出与噪音相反的声波,利用抵消原理消除噪音。

使用特权

评论回复
10
zhaoxqi| | 2021-1-5 21:28 | 只看该作者
还有就是看看串口助手显示的格式。

使用特权

评论回复
11
pangb| | 2021-1-5 21:32 | 只看该作者
这个波特率一样吗?

使用特权

评论回复
12
langgq| | 2021-1-5 21:35 | 只看该作者
程序代码在哪呢

使用特权

评论回复
13
zhanglli| | 2021-1-5 21:40 | 只看该作者
串口调试助手是什么软件?

使用特权

评论回复
14
huwr| | 2021-1-5 21:44 | 只看该作者
这个代码有问题吗

使用特权

评论回复
15
bqyj| | 2021-1-5 21:49 | 只看该作者
示波器测量信号吧。

使用特权

评论回复
16
chenho| | 2021-1-5 21:56 | 只看该作者
能够发送吗?

使用特权

评论回复
17
juventus9554| | 2021-1-5 22:00 | 只看该作者
字符串有问题?

使用特权

评论回复
18
dingy| | 2021-1-5 22:05 | 只看该作者
使用16进制显示。

使用特权

评论回复
19
renyaq| | 2021-1-5 22:12 | 只看该作者
单步调试有问题?

使用特权

评论回复
20
liuzaiy| | 2021-1-5 22:17 | 只看该作者
首先确保单片机没有问题。

使用特权

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

本版积分规则

879

主题

10435

帖子

4

粉丝