ElectroMaster
Administrator
Hi Guys,
I know alot of members have been asking for this, especially in the Microcontrollers forum.
It's really easy to use, simply use the code tag with a language parameter. There are heaps of languages to select:
An example in C:
I know alot of members have been asking for this, especially in the Microcontrollers forum.
It's really easy to use, simply use the code tag with a language parameter. There are heaps of languages to select:
Code:
[ CODE=c ]
[ CODE=c++ ]
[ CODE=asm ]
[ CODE=basic4gl ]
An example in C:
C:
/* This is a "Hello world" example for the dsPIC30F2020. 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 slow internal 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. Don't forget to
* put some 0.1uF bypass capacitors across the power pins close to the PIC.
*/
#include <p30f2020.h>
_FOSC(CSW_FSCM_OFF & FRC_LO_RANGE & OSC2_IO); //Oscillator Configuration
_FOSCSEL(FRC); //Oscillator Selection
_FWDT(FWDTEN_OFF); //Turn off WatchDog Timer
_FGS(CODE_PROT_OFF); //Turn off code protect
_FPOR( PWRT_OFF ); //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;
TRISD = 0;
TRISE = 0;
TRISF = 0;
while(1)
{
for( x=0; x<100000; x++){;} //Delay apx 200ms
LATA = ~LATA; //Toggle all bits on ALL ports
LATB = ~LATB;
LATD = ~LATD;
LATE = ~LATE;
LATF = ~LATF;
}
return 0;
}
Code:
section .text
global _start ;must be declared for linker (ld)
_start: ;tell linker entry point
mov edx,len ;message length
mov ecx,msg ;message to write
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;system call number (sys_write)
int 0x80 ;call kernel
mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kernel
section .data
msg db 'Hello, world!',0xa ;our dear string
len equ $ - msg ;length of our dear string