123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- #include "prj_usb_config.h"
- #include "usbcdc.h"
- #include "usb_defs.h"
- #include "pic-config.c"
- #include "fraisemaster.h"
- #include "stdio.h"
- #include <pic18fregs.h>
- #define BYTE unsigned char
- void SetupBoard(void) {
- #if defined (PIEDUSB)
-
- ADCON1 |= 0b1111;
- CVRCON = 0b00000000;
- LATC = 0x00;
- TRISC = 0xFF;
- #endif
-
- mInitAllLEDs();
- mInitSwitch();
- mInitSerDrv();
- }
- #ifndef PUTCHAR
- #define PUTCHAR(c) void putchar(char c) __wparam
- #endif
- PUTCHAR(c)
- {
-
- usbcdc_putchar(c);
- if (c=='\n')
- usbcdc_flush();
- }
- void main(void)
- {
- BYTE RecvdByte;
-
- SetupBoard();
- mLED_1_Off();
- mLED_2_Off();
-
-
-
- stdout = STREAM_USER;
- usbcdc_init();
- mLED_1_On();
- RCONbits.IPEN = 1;
- IPR2bits.USBIP = 0;
- INTCONbits.GIEL = 1;
- INTCONbits.GIEH = 1;
- while (usbcdc_device_state != CONFIGURED)
-
- mLED_2_On();
-
- FraiseInit();
- do {
-
-
-
- if(!FrGotLineFromUsb) {
- while(usbcdc_rd_ready()) {
- RecvdByte = usbcdc_getchar();
- if(RecvdByte=='\n') {
- FrGotLineFromUsb=1;
-
- break;
- }
- else if(LineFromUsbLen<(sizeof(LineFromUsb)-1))
- LineFromUsb[LineFromUsbLen++]=RecvdByte;
- }
- }
- if(UIRbits.SOFIF==1) { FraiseSOF(); UIRbits.SOFIF=0; }
- FraiseService();
- } while (1);
- }
- void InterruptHandlerLow(void) __interrupt 2
- {
- if(PIR2bits.USBIF)
- {
- usbcdc_handler();
- PIR2bits.USBIF=0;
- }
- }
- void InterruptHandlerHigh(void) __shadowregs __interrupt 1
- {
-
-
- FraiseISR();
-
- }
|