Gracious Professionalism is being embarrassed at an event by an underperforming catstrophe of a robot, yet standing and applauding for every award because you realize that as hard as you worked that season, the other team must have worked even harder to get their achievements. - Taylor [more]
After spending the last 3 hours trying to figure out what's going on, I think I need to verify my conclusion because it seems strange to me.
If I set the output of more than one pin, they like to turn on and off. I've narrowed down the problem to the way I'm setting my outputs. I'm using a single port and setting individual pins using bsf and bcf. However, it seems that bsf will set ONLY that one bit; all others will be cleared. This doesn't sound right to me.
I scoped the outputs and it seems like that is exactly what it's doing. The first pin I set only stays high for one instruction cycle. When the next pin turn on, the first one turns off. Then, they swap when the first pin gets set high again.
I've attached my code and the scope capture. Ch1 is pin C0 and Ch2 is pin C2.
__________________
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GE/S/P a-- e y-- r-- s:++ d+ h! X+++
t++ C+ P+ L++ E W++ w M-- V? PS+ PE+
5- R-- tv+ b+ DI+++ D- G
------END GEEK CODE BLOCK------