hur göra varv/hastighetsmätare till rcbil

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
martinmp777
Inlägg: 58
Blev medlem: 29 juli 2007, 19:11:11
Ort: Örnsköldsvik

Inlägg av martinmp777 »

jag har 7.6

jag har inte ändrat något i den förutom "//" och en punkt som är efter
LIBPATH

tack för hjälpen men nu har jag ett annat problem, jag har provar
programeraren (wisp628) och den fungerar, det blinkade :P

men nu när jag försökte programera igen (samma pic) så fungerar det inte,
datorn hittar inte picen eller programeraren (jag kommer inte riktigt
ihång vad det stod för jag sitter inte vid samma dator nu men jag ska kolla
det imorgon) jag har gjort exakt likadant som förra gången förutom att picen är
programerad en gång redan inte måste man göra på något speciellt sätt då?

kan det vara picen som har hänt något med eller är det programeraren?
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> jag kommer inte riktigt ihång vad det stod för jag sitter inte vid samma
> dator nu men jag ska kolla det imorgon

Perfekt. Återkom då...

> jag har gjort exakt likadant som förra gången förutom att picen är
> programerad en gång redan inte måste man göra på något speciellt sätt då?

Har du programerat med "internal MCLR" ?
martinmp777
Inlägg: 58
Blev medlem: 29 juli 2007, 19:11:11
Ort: Örnsköldsvik

Inlägg av martinmp777 »

"internal MCLR" vad är det?


jag sitter vid xp datorn nu och har provat igen men med samma resultat

File C:\WINDOWS\inut.hex loaded and is intel hex format conforming
SendReciveSlow read timeout, 0 bytes received
SendReciveSlow read timeout, 0 bytes received
Failed to activate programmer. check conection to target and COM1.
Xwisp2 failed after 1,5 seconds, rc 23!


som jag förstår det så får datorn inte kontakt med xwispen men den sitter i COM1 precis som den gjorde förra gången när det fungerade
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> "internal MCLR" vad är det?

http://www.jescab.se/InternMCLR.html

Sen, ytterligare en gång, v.v och klipp in HELA texten inkl ditt kommando !!
Vad är det som är så svårt med det ??

> som jag förstår det så får datorn inte kontakt med xwispen...

Korrekt.
Kan vara nästan vad som helst.
Felkopplat. Ingen 5V. "Dålig" 5V. T.ex.

EDIT:
Så långe som Xwisp2w inte får kontakt med Wisp628, så är frågan
on intern MCLR eller inte, inte intressant.
martinmp777
Inlägg: 58
Blev medlem: 29 juli 2007, 19:11:11
Ort: Örnsköldsvik

Inlägg av martinmp777 »

Det gick inte att kopiera och klistra in men här är allt som står i rutan:

xwisp2 version 1.9.2 for Windows <Dec 04 2006, Open Watcom C 1.50>
File C:\WINDOWS\inut.hex loaded and is intel hex format conforming
SendReciveSlow read timeout, 0 bytes received
SendReciveSlow read timeout, 0 bytes received
Failed to activate programmer. check conection to target and COM1.
Xwisp2 failed after 1,5 seconds, rc 23!
press ´enter´ to continue

Jag provade flera gånger och nån gång så var det bara en SendReciveSlow rad

Jag mätte nyss på kortet där picen sitter och det är 4,98volt är det dåligt?
Jag har en 7805 och ett 9v batteri som "matning"

Felkoppling tror jag inte på om ingen har varit och lött om något för jag har
inte rört picen/kablarna/wispen mm med en lödpenna

Det blir samma meddelande när jag inte har wisp628:an ansluten till datorn

Så här gjorde jag när jag programerade:
la xwisp2w + cfg filerna i Windows mappen och även hex filen från voti sidan
sedan tog jag "b628-1" och la den "på" xwisp2w och då programerades
programmet in i picen

Och igår gjorde jag likadant men det fungerade inte
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Jag vill se ditt XWisp2w kommando.

> sedan tog jag "b628-1" och la den "på" xwisp2w...

Det där förstår jag inte alls. Varför gör du så där ???
Gör som det är tänkt så får vi se vad som händer...
martinmp777
Inlägg: 58
Blev medlem: 29 juli 2007, 19:11:11
Ort: Örnsköldsvik

Inlägg av martinmp777 »

jag gör så för att det fungerar och ät lättare tycker jag,
hur ska man göra då?

b628-1 är en hex fil glömde nämna det

det fungerar iaf nu jag provade på en annan dator, gjorde likadant och det fungerade

om man har en ingång visst ska man då sätta + på den för att få den "1"?
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Ska och ska... :-)

99 av 100 användare av Wisp628 öppnar helt enkelt ett CMD fönster
och kör sina XWisp2w kommandon där. Om inte annat så blir det lätt
att kopiera allt inklusve det kommando man använder när man
behöver hjälp. Om man *inte* behöver någon hjälp så kan man
väl göra som man vill, antar jag...

Sedan tycker jag personligen att det går fortare att köra ALT-TAB, pil-upp och enter för att flasha om
än att "sikta" med musen och dra HEX filen till rätt EXE fil i utforskaren.

> om man har en ingång visst ska man då sätta + på den för att få den "1"?

Japp. Om du kör med 5V så är :

5V = "Vdd" = "+" = "hög" = "high" = "1".
0V = "Vss" = "jord" = "gnd" = "låg" = "low" = "0".
martinmp777
Inlägg: 58
Blev medlem: 29 juli 2007, 19:11:11
Ort: Örnsköldsvik

Inlägg av martinmp777 »

ok nästa gång det inte fungerar så ska jag prova göra på det sättet

jag borde inte fråga detta men jag förstår inte riktigt hur man ska göra när om man vill ha en ingång

är det såhär man gör? är då ra0-ra1 ingångar? picen jag har är 16f628a

banksel trisa
movlw 0x03
movwf trisa

eller

movlw b'00000011'
movwf porta

och en fråga till vad betyder banksel det står typ överallt och jag vet inte vad det komandot "gör"
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

TRIS registren "bestämmer" om en pinne ska vara utgång eller ingång.
För en pinne som är utgång så styr sedan PORT registret om den ska vara hög eller låg (1 eller 0).

Så ditt första exempel sätter RA0 och RA1 som ingångar och resten som utgångar.

Ditt andra exempel sätter RA0 och RA1 höga ("1") och resten låga ("0").

Sen har du något allvarligt fel på ditt tangentbort.
Varken shift tangenten (det blir bara små bokstäver) eller
tangenten med "punkt" fungerar.
Se till att få det fixat snarast så att dina inlägg blir läsbara.
Under tiden kan du ta och läsa kapitlet om "I/O PORTS" i databladet,
där har du alla detaljer kring TRIS och PORT registren.

EDIT :

> och en fråga till vad betyder banksel det står typ överallt och jag vet inte vad det komandot "gör"

Det står i TFM. Alltså manualen till MPASM. HAr du ens letat ???
martinmp777
Inlägg: 58
Blev medlem: 29 juli 2007, 19:11:11
Ort: Örnsköldsvik

Inlägg av martinmp777 »

Har nu stött på ett litet problem till,
förmodligen är det programet (det jag skrivit).

Tänkte göra ett enkelt program som tänder en diod på Port A 0
när man trycker på en knapp som är kopplad till Port A 3

startt: btfsc porta, 3
movlw startt
bsf porta, 0 ; on
;
starrt: btfss porta, 3
movlw starrt
bcf porta, 0 ; off

Är det något allvarligt fel på min "kod"?
Jag har kopierat "blink-a-led" programet från jescabs sida
och ändrat lite så att ra0-ra1 är utgångar och då skrev jag såhär:

banksel trisa
movlw 0x03 ;RA0-RA1 are
movwf trisa ;outputs
clrf trisb ; Alla = utgångar.

Nu i skrivande stund känns det helt fel men jag vet inte riktigt hur
jag ska göra vad jag ska ändra.

Rätta gärna till det som är fel och eller om allt verkar korkat så får ni gärna
göra ett program som passar till PIC16f628A med 4MHz extern kristall som
jag kan få kolla på och sedan utgå ifrån skulle vara jätte bussit.

/Martin
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Inlägg av v-g »

Först:Skriv inom CODE taggarna.

Start har du skrivit med två T på slutet.

SKriv ut hela koden inom CODE taggarna så ska vi nog fixxa detta.
martinmp777
Inlägg: 58
Blev medlem: 29 juli 2007, 19:11:11
Ort: Örnsköldsvik

Inlägg av martinmp777 »

Ok här kommer hela min kod den är som sagt tagen från jescabs sida
förmodligen är det några/många saker som behöver ändras, jag har försökt
läsa i databladet för picen men har inte riktigt förstått

Kod: Markera allt

    
list      p=16f628A
#include <p16f628A.inc>
; 
 __CONFIG   _DATA_CP_OFF & _CP_ON & _LVP_OFF & _BODEN_OFF & _BOREN_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC & _MCLRE_ON
;
;**********************************************
;
STARTUP    CODE
        call	start
        nop
        nop
        nop
        call	prog
;        
;
MY_VARS         UDATA_SHR
Var1    RES     1
Var2    RES     1
Var3    RES     1
;
;
MAIN    CODE
;
start
;
        	banksel 	cmcon
        	movlw   	h'07'
        	movwf   	cmcon     ; Stäng av ADC.
;
        	banksel 	trisa
        	movlw	0x03		;RA0-RA1 are
	movwf   	trisa		;outputs
        	clrf    	trisb     		; Alla  = utgångar.
;
        	banksel	t1con
        	movlw   	b'00110001'
        	movwf   	t1con     		; Se datablad...
;       
        	banksel 	pie1
        	movlw   	b'00000001'
        	movwf   	pie1      		; Avbrott från TMR1.

		return
;
;
prog
;
start1: 	btfsc	porta, 3
	movlw	start1
	bsf	porta, 0     ; on
;
start2:	btfss	porta, 3	
        	movlw	start2
	bcf     	porta, 0	; off
;
;
;*********************************************
;
  end
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Inlägg av v-g »

Varför blandar du in timern i detta?

Här har du ett liknande test som jag gjort för ett tag sen.
martinmp777
Inlägg: 58
Blev medlem: 29 juli 2007, 19:11:11
Ort: Örnsköldsvik

Inlägg av martinmp777 »

Tack V-g nu ska jag bara föröka ändra lite i det och se om jag lyckas få det
att fungera
Skriv svar