TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430F122的JTAG连接

  大家好!

我用122画的原理图,但是制板焊接调试时发现:单片机能在插仿真器时正常输出,

但当拔掉仿真器,输出就有问题,不知道哪里有问题,请大神们指点下,谢谢!

houzi:

我测试了复位脚为高,我与Hardware tools user guide中的参考图(如下)进行了对比,也进行了更改,去掉R1,将R4改为47K,将C14改为10nF,但还是不行,请帮帮忙,谢谢

灰小子:

回复 houzi:

一般单步仿真时和断开仿真独立运行,有可能仿真相关io电平状态不一样,也有可能mcu运行频率不一样。

不知道你的输出是点亮led还是其他复杂的通讯?

houzi:

回复 灰小子:

我就是想 用串口通信实现引脚的高低电平变化,跟点亮LED是一样的,代码如下:

#include <msp430x12x.h>int  UART0_RX_BUF;void delay(unsigned int DT){  unsigned int i;  for(i=0;i<DT;i++){}}int main(void){  volatile unsigned int j,k=0;  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT  P3SEL |= 0x30;                            // P3.4,5 = USART0 TXD/RXD  // P3DIR |=0xDF;        //设置P3.4 TX输入 P3.5 RX 输出    1101 1111  P2DIR =0XFF;  // P2.0~2.5方向寄存器均为输出  P2SEL =0X00; // 选择引脚为I/O功能  BCSCTL1 |= XTS;                           // ACLK = LFXT1 = HF XTAL  do  {  IFG1 &= ~OFIFG;                           // Clear OSCFault flag  for (j = 0xFF; j > 0; j–);               // Time for flag to set  }  while ((IFG1 & OFIFG));                   // OSCFault flag still set?  BCSCTL2 |= SELM_3;                        // MCLK = LFXT1 (safe)  ME2 |= UTXE0 + URXE0;                     // Enabled USART0 TXD/RXD  UCTL0 |= CHAR;                            // 8-bit character  UTCTL0 |= SSEL0;                          // UCLK = ACLK  UBR00 = 0x40;                             // 7.3728Mhz 115200 – 64  UBR10 = 0x00;                             //  UMCTL0 = 0x00;                            // no modulation  UCTL0 &= ~SWRST;                          // Initalise USART state machine  IE2 |= URXIE0;                            // Enabled USART0 RX interrupt   _EINT();              //打开中断  while(1) ;#pragma vector=USART0RX_VECTOR__interrupt void usart0_rx (void){  P2OUT = 0x00 ;  UART0_RX_BUF = 0 ;    while(!(IFG2&UTXIFG0));    TXBUF0=RXBUF0;  UART0_RX_BUF = RXBUF0;  if(UART0_RX_BUF==0x30)    //P2OUT|= BIT2;     P2OUT |= (0xff);   //00000100   else     //P2OUT&= ~BIT2;   P2OUT &=(0x00);  }

Ken Wang:

回复 houzi:

具体输出是什么问题?能不能详细描述一下。

谢谢

houzi:

回复 Ken Wang:

目的:用串口中断实现一个引脚的高低电平变化;

连接:整个3.3V都是用LM1117-3.3V,串口通信用的TI的MAX3232;

现象:IAR在线调试时,用串口助手给单片机发指令时,P2.2口能随助手发的指令变化电平;

      当断开仿真器,用5V电源供电时,再用串口助手发指令,P2.2电平不变化;我用示波器查看了,

     串口助手发送指令时,进出232的电平,发现经过232后,指令未进单片机,但是有仿真器时,

    串口能够工作,不知道为何是这种情况

HG:

回复 houzi:

单片机的供电对么?晶振正常么?建议用一个简单的程序先看下430有没有开始工作。注意接4脚是板子供电,接2脚是仿真器供电。

houzi:

回复 HG:

你好,单片机是通过LM1117-3.3V供电,没有问题,晶振用示波器看了,正常,插仿真器时,调试没有问题,但是一旦将仿真器拔出,用电源供电,单片机就不工作了一样,用IAR下载的,对F149下载,一点问题都没有,就是F122,很奇葩

灰小子:

回复 houzi:

看你的描述,单片机仿真时和独立运行时用的供电不一样,有没有可能是电源的问题?

houzi:

回复 灰小子:

先前接的是仿真器的pin2,我后来焊了另外一块板子,将pin2切断,连在pin4,板上现在所有3.3V都是由LDO供电,但是还是一样的情况。

赞(0)
未经允许不得转载:TI中文支持网 » MSP430F122的JTAG连接
分享到: 更多 (0)