00001
00002
00003
00004
00005
00006 #include "piccolo_all.h"
00007
00027 unsigned char c;
00028
00029
00030 #if defined(USE_INTERRUPT)
00032 #pragma interrupt hi_isr
00033 void hi_isr() {
00034 #if defined(USB_INTERRUPT)
00035 USBDeviceTasks();
00036 #endif //USB_INTERRUPT
00037 }
00039 #pragma interruptlow lo_isr
00040 void lo_isr() {
00041 }
00042 #endif //USE_INTERRUPT
00043
00044 void main(void) {
00045 InitializeSystem();
00046
00047 while (!usb_cdc_kbhit()) {
00048 ProcessIO();
00049 }
00050 outString("\n\n");
00051
00052 if(RCONbits.RI==0) {
00053 RCONbits.RI=1;
00054 outString("Reset utasítás volt\n");
00055 }
00056 if(RCONbits.TO==0) {
00057 WDTCONbits.SWDTEN=0;
00058 outString("WDT time-out történt\n");
00059 }
00060 if(RCONbits.PD==0) {
00061 outString("Power-down (Sleep) történt\n");
00062 }
00063 if(RCONbits.POR==0) {
00064 RCONbits.POR=1;
00065 outString("Power-on-Reset történt\n");
00066 }
00067 if(RCONbits.BOR==0) {
00068 RCONbits.BOR=1;
00069 outString("Brown-out Reset történt\n");
00070 }
00071 ClrWdt();
00072 #if defined(__18F4550)
00073 outString("PICCOLO-4550");
00074 #elif defined(__18F14K50)
00075 outString("PICCOLO-14K50");
00076 #endif
00077 outString(" - reset.c program\n");
00078 outString("Válasszon az alábbi lehetőségek közül!\n");
00079 outString("1 - Watchdog bekapcsolása\n");
00080 outString("2 - Sleep üzemmód bekapcsolása\n");
00081 outString("3 - WDT & Sleep engedélyezése\n");
00082 outString("4 - Reset utasítás végrehajtása\n");
00083 outString("Melyiket választja? ");
00084 while (1) {
00085 c=usb_cdc_getc();
00086 usb_cdc_putc(c);
00087 switch (c) {
00088 case '1':
00089 delay_ms(1000);
00090 WDTCONbits.SWDTEN=1;
00091 break;
00092 case '2':
00093 delay_ms(2000);
00094 Sleep();
00095 break;
00096 case '3':
00097 delay_ms(1000);
00098 WDTCONbits.SWDTEN=1;
00099 Sleep();
00100 break;
00101 case '4':
00102 delay_ms(2000);
00103 Reset();
00104 break;
00105 default:
00106 break;
00107 }
00108 }
00109 }