Hans,
I think you are doing in this way:
1. USB connection is kept permanently between your board and PC
2. your board is programmed with pickit and after programming you expect to
see immediately the pic USB device in your PC
right?
After programming you have to disconnect your PC from USB and connect it
again, wait a bit until the computer sees your device.
I think the original sample will work in this way, however below is the the
sample (using interrupts) which should work without disconnecting your PIC
from USB after programming ( please note I did not tested, no PIC18F4450 or
PIC2550 available now).
Finally you may comment the 5s delay if you wish, but you may loss the "
JALLIB USB Serial Demo" string.
Hopefully will work for you.
-- ---------------------------------------
include 18f4550
-- even though the external crystal is 20 MHz, the configuration is such
that
-- the CPU clock is derived from the 96 Mhz PLL clock (div2), therefore set
-- target frequency to 48 MHz
pragma target clock 48_000_000
-- fuses
pragma target PLLDIV P5 -- divide by 5 - 20MHZ_INPUT
pragma target CPUDIV P1 -- [primary oscillator src: /1][96
mhz pll src: /2]
pragma target USBDIV P2 -- CLOCK_SRC_FROM_96MHZ_PLL_2
pragma target OSC HS_PLL
pragma target FCMEN DISABLED
pragma target IESO DISABLED
pragma target PWRTE DISABLED -- power up timer
pragma target VREGEN ENABLED -- USB voltage regulator
pragma target VOLTAGE V21 -- brown out voltage
pragma target BROWNOUT DISABLED -- no brownout detection
pragma target WDTPS P32K -- watch dog saler setting
pragma target WDT CONTROL -- watchdog software controlled
pragma target CCP2MUX pin_C1 -- CCP2 on pin C1
pragma target PBADEN DIGITAL -- digital input port<0..4>
pragma target LPT1OSC LOW_POWER -- low power timer 1
pragma target MCLR EXTERNAL -- master reset on RE3
pragma target STVR DISABLED -- reset on stack over/under flow
pragma target LVP ENABLED -- allow low-voltage programming
pragma target XINST DISABLED -- extended instruction set
pragma target DEBUG DISABLED -- background debugging
pragma target CP0 DISABLED -- code block 0 not protected
pragma target CP1 DISABLED -- code block 1 not protected
pragma target CP2 DISABLED -- code block 2 not protected
pragma target CP3 DISABLED -- code block 3 not protected
pragma target CPB DISABLED -- bootblock code not write
protected
pragma target CPD DISABLED -- eeprom code not write protected
pragma target WRT0 DISABLED -- table writeblock 0 not protected
pragma target WRT1 DISABLED -- table write block 1 not protected
pragma target WRT2 DISABLED -- table write block 2 not protected
pragma target WRT3 DISABLED -- table write block 3 not protected
pragma target WRTB DISABLED -- bootblock not write protected
pragma target WRTD DISABLED -- eeprom not write protected
pragma target WRTC DISABLED -- config not write protected
pragma target EBTR0 DISABLED -- table read block 0 not protected
pragma target EBTR1 DISABLED -- table read block 1 not protected
pragma target EBTR2 DISABLED -- table read block 2 not protected
pragma target EBTR3 DISABLED -- table read block 3 not protected
pragma target EBTRB DISABLED -- boot block not protected
WDTCON_SWDTEN = OFF -- disable watchdog
const USB_INTERRUPT_DRIVEN = TRUE
include delay
include usb_serial
include print
-- constants
const byte str_welcome[] = "JALLIB USB Serial Demo app\n"
-- variables
-- interrupts? No thanks
-- INTCON_GIE = false
-- setup the USB serial library
usb_serial_init()
var bit has_shown_welcome_msg = true
var byte ch
delay_1s (5)
-- main loop
forever loop
if !defined(USB_INTERRUPT_DRIVEN) then
-- When the interrupt mode is not used we need to poll the usb ISR
function
-- on a regular base, in order to serve the USB requests otherwise
-- this call can be removed.
usb_serial_flush()
end if
-- check if USB device has been configured by the HOST
if ( usb_cdc_line_status() != 0x00 ) then
if !has_shown_welcome_msg then
has_shown_welcome_msg = true
print_string( usb_serial_data, str_welcome )
end if
else
has_shown_welcome_msg = false
end if
-- check for input character
if usb_serial_read( ch ) then
-- echo input character
usb_serial_data = ch
end if
end loop
-- -------------------------------------------------------
On Fri, Dec 16, 2022 at 6:06 PM hans <[email protected]> wrote:
> Hi Vasile,
> With this the connection is accepted. i see a new com port and on a
> terminal a bunch of values.
> I have to disconnect the Pickit.
> Can you complete this with the example in the sample ?
> great
> Hans
>
> Op vrijdag 16 december 2022 om 15:46:26 UTC+1 schreef vasile:
>
>> Hi Hans,
>> could you test the following code? Just change the include PIC18F2550
>> with PIC18F4550
>>
>> -- -------------------------------------------------
>> include 18f2550
>>
>> -- even though the external crystal is 20 MHz, the configuration is such
>> that
>> -- the CPU clock is derived from the 96 Mhz PLL clock (div2), therefore
>> set
>> -- target frequency to 48 MHz
>> pragma target clock 48_000_000
>>
>>
>> -- fuses
>> pragma target PLLDIV P5 -- divide by 5 - 20MHZ_INPUT
>> pragma target CPUDIV P1 -- [primary oscillator src:
>> /1][96 mhz pll src: /2]
>> pragma target USBDIV P2 -- CLOCK_SRC_FROM_96MHZ_PLL_2
>> pragma target OSC HS_PLL
>> pragma target FCMEN DISABLED
>> pragma target IESO DISABLED
>> pragma target PWRTE DISABLED -- power up timer
>> pragma target VREGEN ENABLED -- USB voltage regulator
>> pragma target VOLTAGE V43 -- brown out voltage
>> pragma target BROWNOUT DISABLED -- no brownout detection
>> pragma target WDTPS P32K -- watch dog saler setting
>> pragma target WDT CONTROL -- watchdog software controlled
>> pragma target CCP2MUX pin_C1 -- CCP2 on pin C1
>> pragma target PBADEN DIGITAL -- digital input port<0..4>
>> pragma target LPT1OSC LOW_POWER -- low power timer 1
>> pragma target MCLR EXTERNAL -- master reset on RE3
>> pragma target STVR DISABLED -- reset on stack over/under flow
>> pragma target LVP DISABLED -- allow low-voltage programming
>> pragma target XINST DISABLED -- extended instruction set
>> pragma target DEBUG DISABLED -- background debugging
>> pragma target CP0 DISABLED -- code block 0 not protected
>> pragma target CP1 DISABLED -- code block 1 not protected
>> pragma target CP2 DISABLED -- code block 2 not protected
>> pragma target CP3 DISABLED -- code block 3 not protected
>> pragma target CPB DISABLED -- bootblock code not write
>> protected
>> pragma target CPD DISABLED -- eeprom code not write protected
>> pragma target WRT0 DISABLED -- table writeblock 0 not
>> protected
>> pragma target WRT1 DISABLED -- table write block 1 not
>> protected
>> pragma target WRT2 DISABLED -- table write block 2 not
>> protected
>> pragma target WRT3 DISABLED -- table write block 3 not
>> protected
>> pragma target WRTB DISABLED -- bootblock not write protected
>> pragma target WRTD DISABLED -- eeprom not write protected
>> pragma target WRTC DISABLED -- config not write protected
>> pragma target EBTR0 DISABLED -- table read block 0 not
>> protected
>> pragma target EBTR1 DISABLED -- table read block 1 not
>> protected
>> pragma target EBTR2 DISABLED -- table read block 2 not
>> protected
>> pragma target EBTR3 DISABLED -- table read block 3 not
>> protected
>> pragma target EBTRB DISABLED -- boot block not protected
>>
>> WDTCON_SWDTEN = OFF -- disable watchdog
>>
>> const USB_INTERRUPT_DRIVEN = TRUE
>> include usb_serial
>> include print
>> include delay
>>
>> -- constants
>> ; const byte str_welcome[] = "JALLIB USB Serial Demo app\n"
>>
>> -- setup the USB serial library
>> usb_serial_init()
>>
>> -- variables
>> var bit has_shown_welcome_msg = true
>> var byte ch
>> var dword counter_dw = 0xFFFF_FFFF
>> var byte counter_b = 0
>> var word timer = 0
>>
>> delay_1s (5)
>>
>> -- main loop
>> forever loop
>>
>> if !defined(USB_INTERRUPT_DRIVEN) then
>> -- When the interrupt mode is not used we need to poll the usb ISR
>> function
>> -- on a regular base, in order to serve the USB requests otherwise
>> -- this call can be removed.
>> usb_serial_flush()
>> end if
>>
>>
>>
>> ; timer = timer + 1
>> ; if timer == 500 then
>> ; timer = 0
>>
>> ; print_byte_dec (usb_serial_data, counter_b)
>> ; _usec_delay( 1 )
>> ; usb_serial_data = " "
>> print_dword_dec( usb_serial_data, counter_dw )
>> ; _usec_delay( 1 )
>> print_crlf(usb_serial_data)
>> ; counter_dw = counter_dw + 1
>> ; counter_b = counter_b + 1
>> ; end if
>> ; _usec_delay( 1 )
>>
>> end loop
>>
>> On Fri, Dec 16, 2022 at 3:20 PM hans <[email protected]> wrote:
>>
>>> Hey ,
>>> I have now received the 18F4550 and the 16F1455 and have tried both with
>>> the usb_serial samples. programming with PicKit_3, but in all cases I get a
>>> warning on my PC (both on win10 and win7) that the USB is not recognized.
>>> The Vusb with capacitor reads 3.3 volts and I have programmed both with and
>>> without LVP. identical to my previous attempts.
>>> Apparently USB is not allowed to me
>>> Hans
>>>
>>> Op woensdag 14 december 2022 om 14:19:16 UTC+1 schreef [email protected]
>>> :
>>>
>>>> Hi Matt
>>>>
>>>> I see your question 10-12 now: Wednesday 14-12
>>>>
>>>> I am not at home for 2 days.
>>>>
>>>> I can test. You hear as soon as possible.
>>>>
>>>>
>>>>
>>>> Regards
>>>>
>>>> Peter
>>>>
>>>>
>>>>
>>>> *Van:* [email protected] [mailto:[email protected]] *Namens
>>>> *Matthew Schinkel
>>>> *Verzonden:* zondag 11 december 2022 04:18
>>>> *Aan:* jallib <[email protected]>
>>>> *Onderwerp:* Re: [jallib] USB_help
>>>>
>>>>
>>>>
>>>> Hi Hans, what chip is it working on?
>>>>
>>>>
>>>>
>>>> Is anyone else able to test the 18f4455 blink usb sample?
>>>>
>>>> On Saturday, December 10, 2022 at 1:18:39 PM UTC-5 hans wrote:
>>>>
>>>> Hello, I tested the sample 18f4455 Blink_hs_usb.jal. This one didn't
>>>> work. Then I restarted Bert van Dam's old business and tried the same
>>>> program on it. that works as it should.!!!!
>>>> I have also tested ports D+ and D- (24 and 23) as inputs and those
>>>> ports work as well. I now doubt whether the PIC is broken or something else
>>>> is going on.
>>>> regards
>>>> Hans
>>>>
>>>> Op zaterdag 10 december 2022 om 10:30:14 UTC+1 schreef hans:
>>>>
>>>> Hello champs,
>>>> I have reassembled everything and I can only conclude that the PIC
>>>> itself (has done some things before) is defective. Unfortunately, I no
>>>> longer have a PIC with USB, so I put it back in the fridge. I will have to
>>>> look for another one but the market is scarce.
>>>> Thanks again for your great responses.
>>>> regards
>>>> Hans
>>>>
>>>> Op zaterdag 10 december 2022 om 06:18:17 UTC+1 schreef vasile:
>>>>
>>>> Yep. Matt has right.
>>>>
>>>> 1.The clock speed is esential.
>>>>
>>>> 2. You will notice quite a long delay (5s or so) between plugging the
>>>> pic usb and the moment when OS recognize it on pc. This depends by your
>>>> computer speed and pic firmware contents. If pic clk is wrong, you will not
>>>> see any usb device. After it appears, check on printer/pheripheral for your
>>>> device but watch for any warnings there....
>>>>
>>>> On Sat 10 Dec 2022, 4:59 AM Matthew Schinkel <[email protected]
>>>> wrote:
>>>>
>>>> Also use the code in 18f455_blink_hs_usb.jal
>>>>
>>>>
>>>>
>>>> You are missing this one:
>>>>
>>>> OSCCON_SCS = 0 -- select primary oscillator
>>>>
>>>> On Friday, December 9, 2022 at 9:54:43 PM UTC-5 Matthew Schinkel wrote:
>>>>
>>>> Hi Hans,
>>>>
>>>>
>>>>
>>>> There must be an issue with your circuit. Do you have the correct clock
>>>> speed? Make sure a blink sample and normal serial port is working. Try
>>>> another PC. Windows should pick it up.
>>>>
>>>>
>>>>
>>>> Matt.
>>>>
>>>> On Friday, December 9, 2022 at 3:12:12 PM UTC-5 hans wrote:
>>>>
>>>> Hello,
>>>> Thank you. I did what you recommended. Last Bee and tip from Vasile.
>>>> Same message from windows, not recognized and causing a malfunction.
>>>> Pffffff/
>>>> regards
>>>> Hans
>>>>
>>>> Op vrijdag 9 december 2022 om 18:43:24 UTC+1 schreef [email protected]
>>>> :
>>>>
>>>> Hi Hans,
>>>>
>>>>
>>>>
>>>> As Vasile already mentioned Windows 10 will detect your device as a
>>>> serial (COM) port without the need of installing a separate driver.
>>>>
>>>>
>>>>
>>>> Make sure you have the USB connections right. The signals are not
>>>> crossed like for USART, so D+ to D+ and D- to D-.
>>>>
>>>>
>>>>
>>>> I attached a schematic diagram based on the PIC16F1455 for your
>>>> information and the USB connectors and what the signals look like.
>>>>
>>>>
>>>>
>>>> Good luck!
>>>>
>>>>
>>>>
>>>> Kind regards,
>>>>
>>>>
>>>> Rob
>>>>
>>>>
>>>> ------------------------------
>>>>
>>>> *Van:* [email protected] <[email protected]> namens
>>>> vsurducan <[email protected]>
>>>> *Verzonden:* vrijdag 9 december 2022 18:12
>>>> *Aan:* [email protected] <[email protected]>
>>>> *Onderwerp:* Re: [jallib] USB_help
>>>>
>>>>
>>>>
>>>> Hi Hans,
>>>>
>>>> for win10 you do not need any special driver, just a good terminal like
>>>> Teraterm.
>>>>
>>>> Download the last jal package, Rob did some modifications on USB
>>>> driver,
>>>>
>>>> my suggestion is to use const USB_INTERRUPT_DRIVEN = TRUE
>>>>
>>>> The maximum speed is about 100kbps.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Dec 9, 2022 at 5:42 PM hans <[email protected]> wrote:
>>>>
>>>> Hello,
>>>> I am trying to learn more about USB and have tried a sample program( ex
>>>> 18F2450) (see attachment) I keep getting the remark that windows 10 does
>>>> not recognize the connection and cannot install the driver. What am I doing
>>>> wrong??
>>>> regards
>>>> Hans
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "jallib" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/jallib/c92e6cb2-a584-4b1b-a77f-d8bf943560b2n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/jallib/c92e6cb2-a584-4b1b-a77f-d8bf943560b2n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "jallib" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>>
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/jallib/CAM%2Bj4quO70sp3CP%2BezE5_6jDU%2BpsJ2D7-MAU9bzRm1U1RbmACA%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/jallib/CAM%2Bj4quO70sp3CP%2BezE5_6jDU%2BpsJ2D7-MAU9bzRm1U1RbmACA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "jallib" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>>
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/jallib/df1d95ac-2ed5-46e2-80c6-47021bf19395n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/jallib/df1d95ac-2ed5-46e2-80c6-47021bf19395n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "jallib" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>>
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/jallib/1c3098ea-5a51-4e41-a148-9782036d4b34n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/jallib/1c3098ea-5a51-4e41-a148-9782036d4b34n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "jallib" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>>
>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/jallib/4a8e384e-f796-4b51-b9ea-ab93e2336a96n%40googlegroups.com
>>> <https://groups.google.com/d/msgid/jallib/4a8e384e-f796-4b51-b9ea-ab93e2336a96n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jallib/4c0c588f-12b8-47cb-a9c3-e8f21dd63f9an%40googlegroups.com
> <https://groups.google.com/d/msgid/jallib/4c0c588f-12b8-47cb-a9c3-e8f21dd63f9an%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/CAM%2Bj4qsrX43npMnevFky5c8JHc1%3DfDyOWeyyikjDNFDUpjSqgw%40mail.gmail.com.