Hello all,
Finally have a question that the search hasn't answered for me. I have a pic18f24k20 that reads 8 a/d lines and then based on the values of the a/d lines it controls 8 additional output pins that control other things in this case an optoisolator. My issues is this: portb.1 will not go high when in a check loop for say a/d channel. The code runs and says it goes high but the output does not. However if I type high portb.1 in the main program loop it will take it high accordingly. This is the only issue I am having at this time with the code. The block of code being referenced is shown below along with appropriate registers.
Thanks for the help in advance. Btw, great site.
Code:OSCCON = %01010111 'configure oscillator settings define OSC 4 'define oscillator as 4 Mhz TRISA = %00101111 TRISB = %11111101 TRISC = %11000000 batcell1: 'PortB.2-AN8, PortB.1-RB1 adcon2 = %10110100 adcon0 = %00100001 Pauseus 50 adcon0.1 = 1 While ADCON0.1=1:Wend adtmp.HighByte=ADRESH adtmp.LowByte=ADRESL rawad[0] = adtmp adval[0] = rawad[0] if adval[0] => turnon then bypass[0] = 1 high PORTB.1 else bypass[0] = 0 low PORTB.1 endif return




Bookmarks