I'm not using a bootloader, don't know how.
I have a pull-up on B4.
I have USBSERVICE in the loop, my code was generated with HIDMaker FullSpeed.
I don't have the Vusb cap, I have to go buy a couple values.
Robert
![]()
I'm not using a bootloader, don't know how.
I have a pull-up on B4.
I have USBSERVICE in the loop, my code was generated with HIDMaker FullSpeed.
I don't have the Vusb cap, I have to go buy a couple values.
Robert
![]()
My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.
Not as dumb as yesterday, but stupider than tomorrow!
what are the value you have? Any scrapped computer, printer or anything else electronic?
Look for it in there... that's free.. if you don't calculate your time, movement, gas and plah plah plah.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
one thing that just spring to mind... what about your main loop?
Is there some USBIN? if so, remove it and just send few data to know.. what happen now?
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
I use 470nF on all my USB boards, and have never had a problem with any. That's the same value used on the MeLabs and Microchip USB development boards.
In ceramics, I have .001uF, .01uF, .1uF, 1uF and some 18pF, 20pF and 22pF. The others I have are 10uF tantalum and a ton of electrolytics.
Robert
![]()
My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.
Not as dumb as yesterday, but stupider than tomorrow!
Hi All,
First thanks to everyone, it seems many heads are better than one and in the end i got it sorted.
Firstly, looking at the 4550 datasheet it seems that all the capacitor does is go to ground so in my wisdom i though nahh, dont need it, i guess i was wrong and should have listened to people
Second, i could never figure out capacitor values but i found some on an old redundant soundcard, the value is marked as 331, this capacitor is now in place and the circuit is working fine, i have tried Microchips mouse demo and it worked ok without the need for drivers on the pc, infact it worked better than expected when i plugged it into the bosses iMac at work and laughed at him trying to figure out what was wrong with his mouse for half an hour.
So anyway 331 works for me on 18F4550 @ 20mhz
Shaun
Robert,
The .jpg file you attached can be caused by many issues but from my experience, there are two that come to mind. One, is the capacitor value, which has been widely discussed in this post. The second, is enumeration during the first part of the program. I had one program I wrote a while ago that was very long and two problems can occur from that. Like someone else said, you have to service the USBSERVICE at least every 10 milliseconds (I think). The other part of the problem is having the device enumerate and I had problems due to my code. I put a simple loop at the beginning of my program which looks something like this:
USBInit
for T=1 to 15000
usbservice
pauseus 100
next T
On this specific program, I got the exact same error as you did. My device enumerated correctly about once every 20 tries. When I put this loop in there, it enumerated 100% of the time.
I hope this helps.
Chris
Thanks to everyone!
I just received my order from DigiKey this morning. The 220pF caps didn't work, despite what the datasheet says.But the 470pF worked beautifully, man I'm happy I ordered a set of each, just in case. The device is recognized, YAHOO!!!
Robert
![]()
My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.
Not as dumb as yesterday, but stupider than tomorrow!
Very sorry to bring up an old post but I've done a lot of searching, head scratching, hardware alterations, firmware alterations etc etc and I still can't get to the bottom of this problem....
I have exactly this problem as described above by Chris and solved it in the same way too. I just can't get my head around why it is happening. I simply can't get my device to enumerate correctly without this loop that he's posted above. With this loop it works fine, but I'm wondering if there's a better way to do it? Something like LOOP until the "Enumerated Correctly" flag is set inside the PIC? Obviously there's not a flag in the PIC called this - that would make it far too easy ;-).
Has anyone else had to perform this kind of loop to enable correct enumeration of the USB?
Again, apologies for bringing this up
P.s. the USBService is being actioned by a timer every 10ms and is being started after this loop
Cheers
Rob
Bookmarks