Why doesn't
pincode1 = PORTB && $0F...work in PBP ?
When PORTB lower 4 bits are 0010 && 00001111 I should get 0010
I get $9C...????
How weird?
Bob, from across the road, has gone on his final mission.
Mike1939
Why doesn't
pincode1 = PORTB && $0F...work in PBP ?
When PORTB lower 4 bits are 0010 && 00001111 I should get 0010
I get $9C...????
How weird?
Bob, from across the road, has gone on his final mission.
Mike1939
It doesn't work because you're using a logical operator instead of the bitwise operator.
pincode1 = (PORTB & $0F) would return the right value.
Logical operators can only return true or false.
I have new coding problem, using TMR0 I do not understand........put simply
The inclusion of any code in the sub-routine at nowt: causes whole to fail?Code:loop1: if intcon.2 = 0 then loop1 intcon.2 = 0 clicks=clicks+1 if clicks >=1900 then clicks=0 high pin11:pause 100:low pin11 'Flash LED for 10th of second secs=secs+1 endif if secs>=5 then high pin10:pause 100:low pin10 gosub nowt secs=0 'Reset secs endif goto loop1 end nowt: return But fails if gosub nowt endif goto loop1 end nowt: secs=0 'Reset secs return
Last edited by ScaleRobotics; - 21st July 2010 at 17:42. Reason: added code tags
Can you post the whole code, using code tags, so we can see how everything is setup? TMRO is "normally" set to trigger an interrupt handler so I am not sure what you are doing with what I see posted.
Might just be running out of time???
Dave
Always wear safety glasses while programming.
Hello....All of the code is shown below......
Code:'**************************************************************** '* Name : TIMER01.INC * '* Author : Michael Denton * '* Notice : * '* Date : 27/03/2010 * '* Version : 1.0 * '* Notes : * '**************************************************************** cmcon = %00000111 'Make portA all digital I/O otherwise ADC intcon = %10110000 'R/W Reg Bit2 is T0IF TMRO overflow bit 'must be reset in software option_reg = %10010000 'prescaler for TMR0 set at 1:1 vrcon = %00000000 'Turn off reference voltage eecon1 = %00001111 'EEPROM data register '======================================================= PIN6 VAR PORTB.0 ' Rename all port names with physical PIN number PIN7 VAR PORTB.1 ' Makes it easier to wire up PIN8 VAR PORTB.2 PIN9 VAR PORTB.3 PIN10 VAR PORTB.4 PIN11 VAR PORTB.5 PIN12 VAR PORTB.6 PIN13 VAR PORTB.7 PIN17 VAR PORTA.0 PIN18 VAR PORTA.1 PIN1 VAR PORTA.2 PIN2 VAR PORTA.3 PIN3 VAR PORTA.4 '======================================================= INPUT PIN2 ' input pin6 ' input PIN7 ' input PIN8 ' input PIN9 ' input PIN12 ' input PIN13 ' output pin1 ' output pin3 ' output pin10 ' output PIN11 ' OUTPUT PIN17 ' OUTPUT PIN18 ' '================= Check functionality ========================== m var word :n var word clicks var word: secs var word ' =============================================================== pause 1000 'Do nothing for a while main: loop1: if intcon.2 = 0 then loop1 'TMR0 must be enabled to get out of this loop1 intcon.2 = 0 clicks=clicks+1 if clicks >=1900 then clicks=0 high pin11:pause 100:low pin11 'Flash LED for 10th of second secs=secs+1 endif if secs>=5 then high pin10:pause 100:low pin10 gosub nowt secs=0 'Reset secs endif goto loop1 end nowt: 'm=m+1 ' Why does this one extra instruction cause Pin11 High ' And cause progam to FAIL!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! return
Last edited by ScaleRobotics; - 21st July 2010 at 17:41. Reason: added code tags
Maybe this will help. Scroll down to post #125 to start.
http://www.picbasic.co.uk/forum/show...t=12677&page=4
In your code, where does the value of "m" come from?
And... Look at using code tags when you post code. Makes it easier to read...
http://www.picbasic.co.uk/forum/misc.php?do=bbcode#code
Dave
Always wear safety glasses while programming.
Thank you, & NOT &&, well spotted. Progress is being made, I learn a new thing every day
Bob Pierson was a WW2 rear gunner in Lancasters, A "Tail End Charlie".
Sad loss for us here.
Mike
Me respects to Bob.
We owe so much to our Veterans.
Dave
Always wear safety glasses while programming.
DTMF now working satisfactorily. Thanks for all your help.
Next project, how to emulate TV IR remote function?
I want to replicate two Video remote control functions viz Fast Forward and Play. Where is the best place to start?
I thought I could copy the IR output, via digiscope, and implement in PIC?
This involves a lot of work to program in all the pulse train so recorded?
Mike
My DTMF software works fine using 16F628A.
I can make PIN1 go HIGH and PIN1 go LOW; what doesn't work is MCLR?
I was expecting MCLR, on grounding, to reset the micro and make PIN1 LOW.
It does temporarily but goes HIGH again when I let go. What's Up?
Mike
BTW.......
Nice sunny cloudless day here in UK
Hi Mike1939,
Did you set MCLRE_ON in your config statement ?
PM compiler: @ DEVICE pic16F628, MCLR_ON
http://www.picbasic.co.uk/forum/showthread.php?t=543
Last edited by Archangel; - 7th March 2010 at 17:45.
If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
.
Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
.
There simply is no "Happy Spam" If you do it you will disappear from this forum.
Bookmarks