Pheeeewwww! I do NOT like that loader at all.
I put one together for you here using the Microchip USB HID boot-loader. Give this one a shot. It works 100% with DT_INTS-18.
I modified the original C18 loader file so you can switch between the external crystal & internal osc at run-time to switch back-and-forth to various speeds.
Use a 20MHz crystal, 18F4550, and you should have no problems at all with the loader or DT_INTS-18.
Of course you'll need to download & install the Microchip HID USB loader PC app, but I find that one WAY nicer, and easier to use than the Diolan thing.
Some day when I have time I might figure the other one out, but this took a fraction of the time to change & test.Code:'**************************************************************** '* Name : USB_TST.BAS * '* Author : B. Reynolds * '* Notice : Copyright (c) 2010 http://www.Rentron.com * '* : All Rights Reserved * '* Date : 3/25/2010 * '* Version : 1.0 * '* Notes : Using the Microchip USB HID Boot-Loader with PBP * '* : and DT_INTS. * '**************************************************************** ' Using the Microchip MCHPFSUSB v2.1 HID USB Bootloader with PBP & DT INTS. ' Place a 10K pull-up on RB4 with a switch to ground RB4 when pressed. ' Loader mode. Press & hold switch on RB4, then press/release reset switch on /MCLR. ' Now release switch on RB4. ' LEDs on PORTD.0 & D.1 will blink on/off quickly showiing you're in loader mode ' and the MCHPFSUSB v2.1 HID PC bootloader software should now recognize your board. ' Open & load your compiled code, with the loader software, then press/release ' the switch on /MCLR, or click Reset Device on the loader software. ' Your code should now be running. DEFINE OSC 48 ' Loader configured for 20MHz OSC on USB board DEFINE RESET_ORG 0x1000 ' User code start location for HID loader INCLUDE "DT_INTS-18.bas" ' Base Interrupt System INCLUDE "ReEnterPBP-18.bas" ' Include if using PBP interrupts LED1 VAR PORTD.0 Loops VAR BYTE ' Hardware configuration ' ====================== ADCON1 = %00001111 ' All Digital ASM INT_LIST macro ; IntSource, Label, Type, ResetFlag? INT_Handler TMR1_INT, _ToggleLED1, PBP, yes endm INT_CREATE ; Creates the interrupt processor ENDASM T1CON = $31 ; Prescaler = 8, TMR1ON @ INT_ENABLE TMR1_INT ; Enable Timer 1 interrupts OSCCON = %01110000 ; Switch to internal whenever you want by just ; flipping OSCCON.1 to 1. ; To run at 48MHz, flip OSCCON.1 back to 0.. Main: FOR Loops = 1 TO 6 ' we'll run at 48MHz here TOGGLE PORTD.1 Pause 500 NEXT Loops OSCCON.1 = 1 ' we'll run at 8MHz on internal osc here FOR Loops = 1 TO 6 TOGGLE PORTD.1 Pause 500 NEXT Loops OSCCON.1 = 0 ' flip switch back to 48MHz GOTO Main '---[TMR1 - interrupt handler]-------------------------------------------------- ToggleLED1: TOGGLE LED1 @ INT_RETURN END




Bookmarks