Sista felet i min ibutton-kod

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
gvs
EF Sponsor
Inlägg: 1688
Blev medlem: 18 oktober 2003, 14:20:34
Ort: Göteborg
Kontakt:

Sista felet i min ibutton-kod

Inlägg av gvs »

allt funkar utom att ben 5 ( gpio 2) är hög hela tiden så jag körde felsökaren och gjorde en "disassembly på koden hittade följande som verkar vara flel:

58: SETUP
59: BSF STATUS,RP0 ; Select Bank 1 of data memory
000006 1683 BSF STATUS, 0x5
60: MOVLW 0xD7
000007 30D7 MOVLW 0xd7
61: MOVWF OPTION_REG ;Vill göra det här
000008 081 MOVWF TMR0 ; men det här händer, varför?, verkar inte som att den har bytt bank
62: CALL 3FFh
000009 23FF CALL 0x3ff
63: MOVWF OSCCAL ; samma här, men klockan varkar funka, kanske inte så viktigt med kalibrering?
00000A 090 MOVWF T1CON
64: BCF STATUS,RP0 ; Select Bank 0 of data memory
00000B 1283 BCF STATUS, 0x5
65: ;---------------------------------------------------------
66: BCF INTCON,7 ; STÄNGER AV INTERRUPT
00000C 138B BCF INTCON, 0x7

hela koden hittar ni på http://gusvo085.mine.nu/ibutton/ibutton.asm
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Jag tror inte att disassemblern är såpass intelligent att den känner av vilken bank som är val och visar accesserna på rätt sätt.

Om man tänker sig följande scenario. Vilken bank skulle disassemblern visa då?

Kod: Markera allt

Noll:
 BCF STATUS, 0x5 
 GOTO Doit

Ett:
 BSF STATUS, 0x5 
 GOTO Doit

Doit:
 MOVLW 	0xD7
 MOVWF 	0x01
Beroende på om man anropar Noll eller Ett så kommer koden att stoppa i 0xD7 i antingen TMR0 eller OPTION_REG. En stackars disassemler kan ju inte visa båda alternativen i Doit, så dev visar alltid Bank 0's namn på registrerna. (Skulle jag tro iallafall)
gvs
EF Sponsor
Inlägg: 1688
Blev medlem: 18 oktober 2003, 14:20:34
Ort: Göteborg
Kontakt:

Inlägg av gvs »

mm vekrar så ha letat lite mer och om jag simulerar verkar det funka men inte på riktigt :( vet ej varför har testat med det benet hängande utaför sockeln och det är ständigt högt.
gvs
EF Sponsor
Inlägg: 1688
Blev medlem: 18 oktober 2003, 14:20:34
Ort: Göteborg
Kontakt:

Inlägg av gvs »

Var inget... det funkar nu på nåt magiskt sätt.... men jag får andra problem, har byggt den så att jag ska kunna köra på växelström men får inte till det. på batteri ( 9 volt funkar den perfa men så fort jag byter till nätet så händer inget. har en traffo på 12 volt en likriktarbrygga och en regulaotr, ur regulatorn får jag 4.5 volt ( lite lite, då jag får 5 volt ur 9 volts batteriet) kan det vara glättningskondensatorn? 4.7uF ( den jag hittade....)
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

4.7u är kanske lite lite ja. 470u eller tillochmed 4700 är nog mer lämpligt.
gvs
EF Sponsor
Inlägg: 1688
Blev medlem: 18 oktober 2003, 14:20:34
Ort: Göteborg
Kontakt:

Inlägg av gvs »

vad vet jag... gör så gott jag kan :) blir lite svårt att få plats med den på kortet får väl fundera på om jag ska gå över till likström
Skriv svar