int main(void) { /* Set up peripheral bus clock */ /* OSCCONbits.PBDIV = 1; */ OSCCONCLR = 0x100000; /* clear PBDIV bit 1 */ OSCCONSET = 0x080000; /* set PBDIV bit 0 */ /* Set up output pins */ AD1PCFG = 0xFFFF; ODCE = 0x0; TRISECLR = 0xFF; PORTE = 0x0; /* Output pins for display signals */ PORTF = 0xFFFF; PORTG = (1 << 9); ODCF = 0x0; ODCG = 0x0; TRISFCLR = 0x70; TRISGCLR = 0x200; /* Set up input pins */ TRISDSET = (1 << 8); TRISFSET = (1 << 1); /* Set up SPI as master */ SPI2CON = 0; SPI2BRG = 4; /* SPI2STAT bit SPIROV = 0; */ SPI2STATCLR = 0x40; /* SPI2CON bit CKP = 1; */ SPI2CONSET = 0x40; /* SPI2CON bit MSTEN = 1; */ SPI2CONSET = 0x20; /* SPI2CON bit ON = 1; */ SPI2CONSET = 0x8000; int i,c,k; display_init(); display_update(); for(i = 0;i<3;i++){ display_frommatrix(disco); for(c = 0;c<1000;c++){ quicksleep(10000); } display_frommatrixinv(tetris); for(k = 0;k<1000;k++){ quicksleep(10000); } } labinit(); /* Do any lab-specific initialization */ while(1) { labwork(); /* Do lab-specific things again and again */ } return 0; }
int main(void) { /* Set up peripheral bus clock */ /* OSCCONbits.PBDIV = 1; */ /*OSCCONCLR = 0x100000; /* clear PBDIV bit 1 */ OSCCONSET = 0x080000; /* set PBDIV bit 0 */ /* Set up output pins */ AD1PCFG = 0xFFFF; ODCE = 0x0; TRISECLR = 0xFF; PORTE = 0x0; /* Output pins for display signals */ PORTF = 0xFFFF; PORTG = (1 << 9); ODCF = 0x0; ODCG = 0x0; TRISFCLR = 0x70; TRISGCLR = 0x200; /* Set up input pins */ TRISDSET = (1 << 8); TRISFSET = (1 << 1); /* Set up SPI as master */ SPI2CON = 0; SPI2BRG = 4; /* SPI2STAT bit SPIROV = 0; */ SPI2STATCLR = 0x40; /* SPI2CON bit CKP = 1; */ SPI2CONSET = 0x40; /* SPI2CON bit MSTEN = 1; */ SPI2CONSET = 0x20; /* SPI2CON bit ON = 1; */ SPI2CONSET = 0x8000; display_init(); display_string(0, "Vi är så bra!!!"); display_string(1, "Det löser sig!"); display_string(2, ":)"); display_string(3, "Kämpa!"); display_update(); display_image(96, icon); labinit(); /* Do any lab-specific initialization */ while( 1 ) { labwork(); /* Do lab-specific things again and again */ } return 0; }