• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.
Resource icon

'Hello World' Code For dsPIC33FJ64MC802 2012-01-07

Here is a simple hello world code for a dsPIC33FJ64MC802. You'll have to modify the code a bit for the dsPIC33fj256; such as the config bits etc, but you can see how simple it is using the C30 compiler from MicroChip:

/* This is a "Hello world" example for the dsPIC33FJ64MC802. It will toggle all
*  IO pins on the chip at a rate which is visible from a LED connected to
*  one of the IO pins. It uses the internal RC oscillator so all that is 
*  needed is a 10K pullup resistor on MCLR (pin 1 on a 28 pin DIP chip) and
*  power connected to ALL Vdd, Vss, AVdd, and AVss pins. Connect a 10uF, low ESR,
*  capacitor between VddCore (pin 20 on a 28 pin DIP chip) and ground. Do NOT 
*  connect VddCore to 3.3V! Don't forget to put some 0.1uF bypass capacitors
*  across the power pins close to the PIC.

#include <p33FJ64MC802.h>

_FOSC(OSCIOFNC_ON & FCKSM_CSDCMD & POSCMD_NONE);	//Oscillator Configuration
_FOSCSEL(FNOSC_FRC);								//Oscillator Selection
_FWDT(FWDTEN_OFF);									//Turn off WatchDog Timer
_FGS(GCP_OFF);										//Turn off code protect
_FPOR( FPWRT_PWR1 );								//Turn off power up timer

int main(void)
	unsigned long x;

	ADPCFG = 0xffff;	//make ADC pins all digital
	TRISA = 0;			//Make all PORTs all outputs
	TRISB = 0;

		for( x=0; x<73800; x++){;} //Delay apx 200ms
		LATA = ~LATA;				//Toggle all bits on ALL ports
	return 0;
First release
Last update
0.00 star(s) 0 ratings

More resources from kchriste

Latest threads

EE World Online Articles