I've tried what Melanie mentioned, but could never get it to work properly when changing
Vref with another I/O-pin.
I've tried what Melanie mentioned, but could never get it to work properly when changing
Vref with another I/O-pin.
Probably where...came from.... and almost no software overhead...
2 diodes, 1 resistor build a cheap AND gate... without code overhead.
<hr>
EDIT: smells like the comparator input change, then within the ISR you perform the AND function.
Last edited by mister_e; - 27th May 2008 at 22:00.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Bronurstomp, Why even involve hardware as the ccp module inside the pic can do the work for you. Just set the period and pwm of the ccp module at 38khz. and set the ccpl value to 50 % or 0%. I have been doing this for the last 5 years in the development of the tire pressure lf transmissions at 125 khz...
Dave Purola,
N8NTA
I guess I wasn't very clear about what I want to know. I'm holding back some info because this circuit may be very valuable.
Presently, I have the 2 HPWM outputs going to a quad 2-input AND gate with the other 4 digital outputs used for "steering" the 2 PWMs to 2 places each. They are the forward and reverse speed control of two motor control H-Bridges. PWM ANDED.JPG
This circuit works fine. I want to eliminate the 4 AND gates, thus the chip and caps from my PCB. See Un ANDED PIC.JPG
The question is about the PICBASIC PRO syntax.
PORTB.6 = PORTA.2 AND PORTB.2
Will this syntax work assuming the PIC is producing 2 varying duty cycle PWMs at 3KHZ, hard wire connected to general purpose digital inputs?
PORTA.2 tied to HPWM1, and PORTA.3 tied to HPWM2 (Pin 12-4 and Pin 13-5)
I get no errors when compiling, but I have no way to test the hardware.
Thanks!
The less you expect, the more you get.
This could work, but you'll need to do it all the time in a loop, hence why the comparator or maybe interrupt on change idea came from... and you will need to use Bitwise AND
PORTx=PORTx & PORTx
I haven't investigate the CCP idea, but sure there's something valuable in it. Have a look at Microchip CCP Tricks n Tips document.
http://ww1.microchip.com/downloads/e...Doc/41214a.pdf
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Now that's what I'm screamin... Thanks Mister E. This is all running in an IF/THEN loop.
So to recap... My syntax should look like this:
PORTB.6 = PORTA.2 & PORTB.2 ?
And judging from what I read; At 20MHZ, this thing should keep up with a PWM frequency of 3000 with no problem? That makes sense considering the PWM is hardware driven.
Mister E = my hero.
Thanks for your help too Mel.
And everyone else for contributing.
I hope this thread helps someone else that might want to multiplex the two PWM outputs to general purpose outputs.
Bron...
The less you expect, the more you get.
Now that I'm pretty sure I have the software settled... Has anyone been able to simulate a PIC16F876A with MPLAB's Simulator? What's the trick? I think I have everything set up right, it doesn't complain, but when I run the compile option it opens the PBP editor and then nothing else happens... Anyone?
Bron
Ok I did a IDE Compile in PBP(Microcode Studio +) and the simulator started running after I exited manualy from PBP
For some reason it's stuck in this loop in PBPPIC14.LIB
CLRWDT? macro
ifndef NO_CLRWDT
clrwdt
endif
endm
hserinloop CLRWDT? ; Keep Watchdog timer clear
btfss PIR1, RCIF ; Check for char
goto hserinloop ; Loop till char
NOLIST
HSERINX_USED = 1
endif
Return
Is it looking for the watchdog timer?
I'll keep playing with the simulator but this isn't my code, it looks like junk PBP added from the PBPPIC14.LIB?
Last edited by Bronurstomp; - 27th June 2008 at 04:49. Reason: Stuck in MPLAB SIM
The less you expect, the more you get.
Bookmarks