Jump to content
43oh

Did I fry my LP in some strange way?


Recommended Posts

My IAR KS says it can't read or write to any of my six msp's. It does identify them, so it has partial communication.

And CCS says it can't get the msp to run the code in a debug session. Any ideas?

The only thing that I had screwed up on recently was connecting +5v to P1.0, while a micro was plugged in. The led jumper was off too.

Link to post
Share on other sites
reboot? selected the right hardware in options? already tried to use another usb-port?

Yes. Thanks, though.

 

Hmm.. short the rx an tx jumpe(debugger side) and see if you get a double echo. This will test the UART though.

Shorting the rx/tx freezes up IAR. Shorting RST/TEST gives the error "Cannot find device (or device not supported)", and shorting either pair for CCS gives the same error.

Link to post
Share on other sites
reboot? selected the right hardware in options? already tried to use another usb-port?

Yes. Thanks, though.

 

Hmm.. short the rx an tx jumpe(debugger side) and see if you get a double echo. This will test the UART though.

Shorting the rx/tx freezes up IAR. Shorting RST/TEST gives the error "Cannot find device (or device not supported)", and shorting either pair for CCS gives the same error.

 

hmmm ... shortcut them on emulator-side ... connect with terminal to your comport - 9600 N 1 - and send something - then it should return the same data - i often have problems when using RX/TX with the emulator and flashing my

Link to post
Share on other sites

Thanks for the offer blue, but I've come across something that leads me to believe that this is not a physical/burned out problem, but a software problem.

 

This is the code I've been trying to download;

#include "msp430g2252.h"

#define RD BIT7
#define WR BIT6
#define CK BIT2
#define EN BIT1
#define DIR BIT0

#define hello_world "Malfunction!*Need Input!"

void init_disp(void);
void wrLCD(char data, bool rs);
void sendStr(char string[]);
void setAddr(char addr);
bool line = 0;

void main(void){
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;

P1OUT = 0xFF;
P1DIR = 0xFF;
P2OUT = 0xFF;
P2DIR = 0xFF;

init_disp();
//	sendStr(hello_world);

}

void wrLCD(char data, bool rs){
P2OUT &= ~EN;
rs ? (setAddr(0x80)) : (setAddr(0x00));
P1OUT = data;
P2OUT &= ~WR;
P2OUT |= WR;
}

void init_disp(void){
setAddr(0x00);
P2OUT &= ~EN;
for(int t=0; t<2; t++){
	P1OUT = 0x38;
	P2OUT &= ~WR;
	P2OUT |= WR;
	P1OUT = 0x0E;
	P2OUT &= ~WR;
	P2OUT |= WR;
	P1OUT = 0x01;
	P2OUT &= ~WR;
	P2OUT |= WR;
	__delay_cycles(2000);
	P1OUT = 0x06;
	P2OUT &= ~WR;
	P2OUT |= WR;
	__delay_cycles(200000);
}
}

void sendStr(char string[]) {
wrLCD(0x80, 0);
line=0;
for(int str=0; (str < 32) && string[str]; str++){
	if(!line && ((string[str] == '*') || (str == 16))){ //
		wrLCD(0xC0, 0);
		line=1;
		str++;
	}
	wrLCD(string[str], 1);
}
}

void setAddr(char addr){
P1OUT = addr;
P2OUT &= ~CK;
P2OUT |= CK;
}

 

 

And this simple LED blinky program works, while the first one produces the wacky errors:

#include "MSP430G2252.h"

void main( void )
{
 // Stop watchdog timer to prevent time out reset
 WDTCTL = WDTPW + WDTHOLD;

 	P1OUT = 0xFF;
P1DIR = 0xFF;
P2OUT = 0xFF;
P2DIR = 0xFF;


for(;{
	__delay_cycles(1000000);
	P1OUT ^= 0xFF;
	P1OUT ^= 0x01;		
}
}

Link to post
Share on other sites
  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...