|
Gepost op dinsdag 4 Mei 2010 00:48:37 |
 |
Hier heb je alvast wat punten en comma's:
......................
,,,,,,,,,,,,,,,,,,,,,,
Wat ik uit je verhaal begrijp, is dat je een laptop hebt, die via RS232 signalen stuurt naar een PIC?
Je wilt dan een reset knopje, die je PIC reset, en pas na 10 minuten weer begint met signalen te ontvangen?
Verder kom ik er niet uit.
Fabian |
vallen doet geen pijn, het neerkomen wel | www.electrofreakz.tk |
|
Gepost op dinsdag 4 Mei 2010 13:16:13 |
 |
Ik denk dat je hem fout begrepen hebt.
Wat ik eruit begrijp: De pic stuurt om de x seconden een puls uit naar de pic. Als de pic niks meer ontvangt moet hij 10min wachten en als er in die tijd niet terug pulsen komen moet die de laptop resetten.
Als ik tijd heb zal ik wel eens kijken voor een stukje code te schrijven. |
Met vriendelijke groet, Stynus ||| www.elektronicastynus.be |
|
Gepost op dinsdag 4 Mei 2010 20:32:47 |
 |
inderdaad Stynus
sorry voor eventuele slechte uitleg hierboven electro_freakz maar ga het even proberen mooier uit te leggen
een laptop draaid een programma die op afstand draaid en kan worden veranderd ( geen probleem tot nu toe)
Stel je voor dat de laptop opeens chrasht of blijft hangen......
dan kan je op afstand niks meer doen en moet hij zichzelf kunnen resetten..
het resetten zouden we als volgt doen....
tijdens het draaien van de laptop sturen we op een bepaalde tijd op de tx van de comm poort een puls.. word dan via hardware tot een transistor die geleid naar massa dus een soort (0 1 schakelaartje voor de pic.
zolang hij de pulsen of (t'is net of je om de zoveel seconden of minutten zelf zou een schakelaartje intoetsen) input ziet draaid alles okidooo..
Stel je voor de pc blijft hangen er komen geen pulsen meer dus de pic ziet in de bepaalde tijd geen input meer dan moet hij op een uitgang b.v high portb.1 een 5 volt geven waarmee ik dan via hardware ( ook mischien een transistor of via opto coupler de reset knop van de laptop kan bedienen).
dan zal de laptop weer opstarten Maar MAG DE PIC NIETS DOEN IN DIE TIJD DAN DE PC IS OPGESTART EN TERUG DE PUSJES HEEFT AAN DE PIC
de tijden zijn nu echt niet van belang er mag gerust een grote spatie van tijd zitten ...
ik heb ook al zitten proggen maar ik zit verveeld met de reboot of reset dat de pic niets mag doen anders zou ik een continue reboot krijgen hih 
groetjes Cardan |
|
|
Gepost op dinsdag 4 Mei 2010 21:37:51 |
 |
Dat na de reboot is niet zo moeilijk. Gewoon na de reset puls een vaste delay.
Een probleempje is wel dat je max 65,535sec kan doen met delayms.
Daarom kan je best een lusje maken. Voor 10 min:
Code |
dim teller as byte
for teller = 0 to 100
delayms 6000
next
|
|
Met vriendelijke groet, Stynus ||| www.elektronicastynus.be |
|
Gepost op dinsdag 4 Mei 2010 23:59:19 |
 |
mooi stynus thksss
dat zal wel zo wat zijn voor een totale reset met alles terug optestarten van hardware er rond |
|
|
Gepost op woensdag 5 Mei 2010 22:14:51 |
 |
hmm weer de ganse namiddag bezig geweest tijdens het op een schakelaartje te drukken gaar een poort open zolang ik dat wil maar nu moet ik nog een tijd ertussen krijgen telkens als b.v om de 10 seconden een puls gegeven word dat ie dat ziet dit lukt me momenteel niet zo ik heb vlug eens listing gemaakt als je duwt op rb0 dan gaat ra3 even aan maar tijdens de pause dat rb0 aan is moet ik weer een pulsje kunnen detecteren hi 
groetjes CARDAN |
|
|
Gepost op donderdag 6 Mei 2010 19:59:50 |
 |
Je zou dit kunnen doen om de puls te detecteren tijdens de pauze:
Code |
dim teller as word
for teller = 0 to 6000
delayms 100
if puls = 1 then
'actie bij een puls ontvangen
endif
next
|
Of bedoel je hoe je de pulsen tijdens de gewone werking detecteerd?
Dat kan je met een simpele teller doen
Code |
dim teller2 as word
while 1 = 1
inc teller2
delayms 50
if teller2 = 1000 then
break
endif
wend
'reset actie hier
|
|
Met vriendelijke groet, Stynus ||| www.elektronicastynus.be |
|
Gepost op donderdag 6 Mei 2010 20:10:17 |
 |
even uitproberen dat was infeite mijn probleem ik zat te klooien met een for next lus maar was uiteraard niet juist even bekijken stynus alvast thks |
|
|
Gepost op donderdag 6 Mei 2010 20:39:58 |
 |
Hoe lang blijft die puls van de computer op de lijn staan? Als die heel kort is, dan kan het zijn dat via Stynus zijn voorbeeld je de puls niet detecteert. Bij delayms 100 hangt de pic vast en doet hij niks.
Beter de puls op RB0 en dan kan je met een interupt werken en zo een teller starten. Heb je altijd de puls binnen. |
Veel te weinig tijd voor mijn projecten of heb ik er soms te veel? |
|
Gepost op donderdag 6 Mei 2010 20:59:40 |
 |
inderdaad de pulsen zijn zeer kort en ik moet verschillende keren duwen op men schakelaar tegen dat ie reageert 
groetjes cardan |
|
|
Gepost op donderdag 6 Mei 2010 21:05:42 |
 |
Dan moet je de methode die reddevil zei gaan gebruiken. |
Met vriendelijke groet, Stynus ||| www.elektronicastynus.be |
|
Gepost op donderdag 6 Mei 2010 21:07:13 |
 |
die pulsen duren +- 0.2 seconden en dan weer een pause van +- 5 minuten voor ze terug komen he dus zeer kort in lange tijd stynus en reddevil |
|
|
Gepost op maandag 10 Mei 2010 18:08:00 |
 |
ontwerp werkt ok nu
thks all that helps here
GRTZ CARDAN |
|
|
Gepost op maandag 10 Mei 2010 18:10:10 |
 |
En hoe heb je het opgelost, weten we ook iets meer voor in de toekomst als we zelf iets in die aard willen maken. |
Veel te weinig tijd voor mijn projecten of heb ik er soms te veel? |
|
Gepost op maandag 10 Mei 2010 20:07:23 |
 |
even de listing zetten ik heb dus geteld en dan weer een kort delams ertussen gezet en dan weer en werkt prima pulsen zijnn ook ok het werkt goed hoor
Code |
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : CARDAN 2010 picbasic *
'* Notice : Copyright (c) 2010 *
'* : All Rights Reserved *
'* Date : 5-5-2010 *
'* Version : 1.0 *
'* Notes : WATCHDOG FOR REBOOT SYSTEM PC *
'* : *
'****************************************************************
Device 16F628A
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE ;Alle ingangen digitaal
Declare LCD_DTPIN PORTB.4
Declare LCD_ENPIN PORTB.3 'e PIN OP RB3
Declare LCD_RSPIN PORTB.1 'RS PIN OP RB1
Declare LCD_LINES 2
Symbol OFF = 0 ;UIT
Symbol On = 1 ;AAN
Symbol LED1 = PORTA.0 ;Poort A.0 heeft nu de naam LED1
Symbol S1 = PORTA.4 ;Poort B.0 heeft nu de naam S1
Dim var1 As Word
; 76543210
PORTA = %00000000 ;Alle PORTA poorten laag
TRISA = %11101110 ;Alleen PORTA.0 en A.1 als uitgang
PORTB_PULLUPS On ;On-chip pull-up weerstanden actief
Clear ;Wis alle RAM geheugen
;Hoofdprogramma
main:
Low PORTA.0
Cls
Print At 1,1," REBOOT CONTROL "
Print At 2,1," Ver 1.0"
DelayMS 3000
For var1 = 0 To 32535 '+- 6 minuten teltijd
DelayMS 6
Print $FE, 2, @var1/60 ," ","Puls-Tijd "
If S1= On Then var1 =0
Low LED1
If var1 = 32535 And S1 = OFF Then ' pulstijd overtime dan gaan naar alarm
GoTo alarm
EndIf
Next
alarm:
High LED1
DelayMS 3000
Low PORTA.0
Print $FE, 2, " REBOOT SYSTEEM "
Print At 2,1, "WACHT AUB......."
DelayMS 2000
Print $FE, 2, " HEROPSTARTEN PC "
DelayMS 2000
Print $FE, 2, " HEROPSTARTEN PC "
Print At 2,1, " TELLER WACHT "
DelayMS 60000
GoTo main:
|
[Bericht gewijzigd door CARDAN op Maandag 10 Mei 2010 20:09:21] |
|
|
|
|
|