Larry 676 does not have hs_osc so it would not compile thanks for trying
BUT:
I'm up and running (cross fingers)
remember I said something about adjusting to midpoint of the bit
well I did 'Command_byte:you had dropped it from104 to 80 to adjust timing
I dropped to 60 (about half) and bingo it's running (started@ 70 and it ran)
I think 80 is right on the edge that's why sometime it work and then the next
it did'n
and this is with my standard Lanc control board using
1 pin to read / write no pull up or down 60 ohm resistor in Lanc line
this basic program just start recording 10 sec. movie then stop wait
5 sec. and start over. If it will run one command it should run ALL
it's been running for about 2 hr. with out missing abeat
Now the bad news the next few days are full full full . not sure it I will have time to eat much less to play I mean work on this
I would be interested to know how it looks on the scope
grounded
Code:
'****************************************************************
'* Name : pbplanc_T_1833.BAS
'* Author : GROUNDED
'* Notice : Copyright (c) 2009
'* : All Rights Reserved
'* Date : 9/25/2009
'* Version : 1.0
'* Notes : testing pbp lanc basic just record and stop
'
'****************************************************************
pic16F676
@ __config _XT_OSC & _WDT_ON & _MCLRE_OFF & _CP_OFF
PAUSE 5000
CMCON = 7
VRCON = 0
TRISA = %00001000
TRISC = %00000000
ANSEL = %00000000
OPTION_REG=%01000000
WPUA = %00000000
HIGH PORTC.0 :PAUSE 3000 :LOW PORTC.0 'POWER UP LED
PAUSE 1000
command_bit var bit
syncbit var byte
syncbyte var word
counter var byte
value var byte
Bits var byte
Goto start
Sync_byte:
syncbyte = 0
while syncbyte < 700
pulsin PORTC.4, 1, syncbyte
wend
Return
Sync_bit:
syncbit = 0
while syncbit < 9
pulsin PORTC.4, 0, syncbit
wend
Return
Command_byte: '00011000 SEND 18
gosub sync_byte
pauseus 60 'CHANGED FROM 80 TO 60 (LITTLE OVER HALF OF 104) TIMING ADJUST
input PORTC.4
pauseus 312 '000
low PORTC.4
pauseus 208 '11
input PORTC.4
pauseus 312 '000
input PORTC.4 'Stop bits set high
Return
START:
Record_on: '11001100 SEND 33
gosub Command_byte
gosub Sync_bit
low PORTC.4
pauseus 208 '11
input PORTC.4
pauseus 208 '00
low PORTC.4
pauseus 208 '11
input PORTC.4
pauseus 208 '00
input PORTC.4 'Stop bits set high
counter = counter +1
if counter = 4 then GOTO MT
goto Record_on
MT:
COUNTER =0
PAUSE 10000 '10 SEC. MOVIE
Record_off: '11001100 SEND 33
gosub Command_byte
gosub Sync_bit
low PORTC.4
pauseus 208 '11
input PORTC.4
pauseus 208 '00
low PORTC.4
pauseus 208 '11
input PORTC.4
pauseus 208 '00
input PORTC.4 'Stop bits set high
counter = counter +1
if counter =4 then GOTO OVER
goto Record_OFF
OVER:
PAUSE 5000
GOTO START
Bookmarks