met PIC via triac en met Hall sensor AC motortoeren regelen.

Arco

Special Member

De uitdrukking 'ignorance is bliss' gaat helaas niet op voor programmeurs... :)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op 30 oktober 2019 22:57:09 schreef Arco:
De uitdrukking 'ignorance is bliss' gaat helaas niet op voor programmeurs... :)

Voor mij wel hoor! Ik weet weinig of niks van Pic Basic. Hoef ik me niet te ergeren aan stortbak. Ik heb wel medelijden met jullie en heb ook bewondering voor jullie.

Op 30 oktober 2019 22:27:24 schreef Arco:
Da's zo niet te zeggen, is een losse flard code. (er ontbreekt het nodige)
Welke timer gaat het over? (timer 0, 1, 2)

Hieronder het vorige bericht met de toe al in zijn geheel geplaatste code.

Op 30 oktober 2019 18:55:21 schreef stortbak:
[...]
Dat schreef ik zelf al.
""Ik zie in de code van raf al iets over RBIE, maar dan zou ik per pic maar 1 ingang kunnen aanmelden voor de interrupt?
(edit, geen RBIE maar INT waarschijnlijk , wanneer je 1 enkele ingang wilt gebruiken)""

[...]
ja en?
Dat is toch gewoon een dure naam voor kijk naar de ingang of die hoog of laag is?

Blijft over:
""Wat ik mis, is een regel met kijk naar de ingang die en die, want het moet tenslotte werken gaan op de nuldoorgangdetectie."""

Waar en hoe moet in onderstaande code nu de oplossing om die timer te starten als ingang "nuldoorgang" hoog wordt?
(opmerking , wel zo dat dit programma niet alleen draait maar onderdeel wordt van nog heel veel meer programma)

pic basic code:


Device 16F887                          ; Processor type

On_Interrupt TIMER                     ; Interrupt timer

Xtal 10                                ; Cristal 10Mhz

Asm                                    ; Config settings
CONFIG_REQ            
__CONFIG _CONFIG1, HS_OSC & WDT_OFF & DEBUG_OFF & FCMEN_OFF & LVP_OFF & IESO_OFF & BOR_OFF & CPD_OFF & CP_OFF & MCLRE_OFF & PWRTE_ON 
__CONFIG _CONFIG2, WRT_OFF & BOR40V 
EndAsm
    
All_Digital true                       ; Alle poorten digitaal

Symbol GIE = INTCON.7                  ; Enable interrupt
        
Symbol T0IF = INTCON.2                 ; TIMER0 interrupt vlag
Symbol T0IE = INTCON.5                 ; TIMER0 interrupt enabel
        
Symbol PS0  = OPTION_REG.0             ; Instelling prescaler
Symbol PS1  = OPTION_REG.1             ; Instelling prescaler
Symbol PS2  = OPTION_REG.2             ; Instelling prescaler
Symbol PSA  = OPTION_REG.3             ; Instelling oscillator
Symbol T0SE = OPTION_REG.4             ; Instelling puls H/L - L/H
Symbol T0CS = OPTION_REG.5             ; Instelling clock intern of extern

Declare LCD_RSPin PORTD.2              ; Reset display poort D.2
Declare LCD_ENPin PORTD.3              ; Enable display poort D.3
Declare LCD_DTPin PORTD.4              ; Data display poort D.4 t/m D.7

Dim PULS As Bit                        ; Puls voor TMR_1

Dim TMR_1 As Word                      ; Variabele timer 1


Dim VAL_TIMER As  Word                 ; Variabele waarde timer
Dim LIMITE_TIMER As Word               ; Variabele limite
                                
GIE = 0                                ; Zet interrupt uit
                                  
GoTo INSTELLING                        ; Ga naar instelling

TIMER:                                 ; Timer interrupt
    Context Save                       ; Save   
    Inc VAL_TIMER                      ; Increment waarde timer
    T0IF = 0                           ; Wis interrupt flag
    Context Restore                    ; Restore
    
INSTELLING:                            ; Instelling register
    PS0  = 0                           ; Prescaler bit_0        0 want het gaat over micro seconden
    PS1  = 0                           ; Prescaler bit_1
    PS2  = 0                           ; Prescaler bit_2
    PSA  = 0                           ; Prescaler toegewezen aan TIMER0
    T0SE = 0                           ; Trigger van laag naar hoog
    T0CS = 0                           ; Trigger door interne clock
                               
    VAL_TIMER = 0                      ; Variabele waarde timer is 0
                                                   
    TMR0 = 0                           ; Reset TIMER0
    T0IE = 1                           ; TIMER0 Interrupt enabel aan
    GIE  = 1                           ; Zet Interrupt aan
    
Cls                                    ; Wis display
                                       
DelayMS 500                            ; Wacht 0.5 sec

Clear                                  ; Wis geheugen 

         ;543210                       ; Hulpregel poort A
PORTA  = %000000                       ; Maak poort A laag
TRISA  = %111111                       ; Poort_A I/O

         ;543210                       ; Hulpregel poort B
PORTB  = %000000                       ; Maak poort B laag
TRISB  = %000000                       ; Poort_B I/O

         ;76543210                     ; Hulpregel poort C
PORTC  = %00000000                     ; Maak poort C laag
TRISC  = %00000000                     ; Poort_C I/O

         ;76543210                     ; Hulpregel poort D
PORTD  = %00000000                     ; Maak poort D laag
TRISD  = %00000000                     ; Poort_D I/O

         ;210                          ; Hulpregel poort E 
PORTE  = %000                          ; Maak poort E laag
TRISE  = %111                          ; Poort_E I/O

         ;76543210                     ; Hulpregel analoog
ADCON0 = %00000001                     ; ADCON0 register analoog

         ;543210                       ; Hulpregel analoog poort_B
ANSELH = %000000                       ; ANSEL register analoog poort_B

TMR_1 = 0                              ; Zet timer 1 op 0


;---------------------------------
; VOORBEELD ON_INTERRUPT TIMER_0.
;---------------------------------

RUN:                                   ; Begin programma
    LIMITE_TIMER = 8000                  ; INT(2500000 ) puls is kort.
    
    If VAL_TIMER > LIMITE_TIMER Then   ; Waarde timer groter dan limite timer
     VAL_TIMER = 0                     ; Waarde timer is nul
      If VAL_TIMER = 0 Then            ; Als waarde timer is nul                                                     
       PULS = 1                        ; Timer puls is één
      EndIf                            ; Einde als 
    EndIf                              ; Einde als
    
    If PULS = 1 Then                   ; Als puls is één dan
     TMR_1 = TMR_1 + 1                 ; Hoog timer_1 op
      If TMR_1 > 60 Then               ; Als timer_1 is groter als 60 dan................ wordt variabele 0 tot 6000
       GoTo WIS_DISPLAY                ; Ga naar wis display
      EndIf                            ; Einde als
    EndIf                              ; Einde als
    
   
    EndIf                              ; Einde als
    
    Print At 1,1,"TMR1="               ; Zet text op dislpay
    
    Print At 1,6,Dec TMR_1,            ; Zet waarde timer_1 op display
   
    PULS = 0                           ; Zet puls op 0
GoTo RUN                               ; Naar begin proramma
    
WIS_DISPLAY:                           ; Loop wis display
    TMR_1 = 0                          ; Zet timer_1 op nul
    
    Cls                                ; Wis display
    DelayMS 1000                       ; Pauze 1 sec
GoTo RUN   ; mag niet want dan komt wat hierna komt niet aan de beurt  ; Naar begin programma

;
; subroutine1                                
;
;heel 
;subroutine2
;
;
;subroutine veel
;
;
;
;veel
;meer
;programma
;
;
;
;
;
;
;
 ;gosub hoofdprogramma
End                                    ; Einde programma
Arco

Special Member

Simpelste is meestal een down-counter:

code:


TIMER:                                 
  Context Save
  If (T0IF) And (VAL_TIMER) Then 
    Dec VAL_TIMER 
    T0IF = 0                           
  End If  
  Context Restore                    

Om de counter te starten laad je de gewenste waarde erin. In main() test je VAL_TIMER. Is die nul dan is de tijd verlopen.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op 31 oktober 2019 08:48:36 schreef Arco:

Om de counter te starten laad je de gewenste waarde erin. In main() test je VAL_TIMER. Is die nul dan is de tijd verlopen.

En welke regel zorgt er voor dat dan de timer start op de ingang die als interrupt dient?

Arco

Special Member

code:

                             
INTERRUPT:    
  Context Save
  '-------------------------------------------
  'timer interrupt?
  '-------------------------------------------
  If (T0IF) Then  
    If (VAL_TIMER) Then
      Dec VAL_TIMER 
    End If
    T0IF = 0                           
  End If  
  '-------------------------------------------
  'ext. interrupt?
  '-------------------------------------------
  If (INTF) Then
    VAL_TIMER = 200   '(voorbeeldwaarde)
    INTF = 0
  End If
  Context Restore
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

ik ken stortbak reeds jaren en wij programmeren ook reeds geruime tijd

nog nooit een interrupt nodig gehad zowel ik niet als hij niet
het is zo eens ik een instructie heb doorgrond ik ze ook begrijp net zoals stortbak

het probleem is dat we reeds meermaals de manual hebben door gelezen maar als je het niet begrijpt na 10 keer door lezen dan ga je het ook niet begrijpen na 20 keer

en dan vraag je hulp aan mensen die het wel weten
jip en janneke taal allemaal goed en wel maar het blijft vraagtekens op leveren

dus tot nu toe wat ik er van versta
een interrupt is en timer die kan op en aftellen
deze kun je via hardware (een poort) of software starten /stoppen
deze kun je in je programma een poort laten aan /uit zetten na afloop van de interrupt

zit ik een beetje juist
timers0,1,2, hebben een teller die optelt elke clock puls
als de timer een ingestelde waarde heeft bereikt start de interrupt
timer 0 en 2 zijn 8 bit dus maximum waarde is 255
timer 1 is 16 bit dus max 56535
met de pre scaler kun je de snelheid van de teller aan passen

(timer speed (Hz)) = (clock speed (16MHz)) / prescaler

zover begrijp ik het dus nog

gr raf die net zoals stortbak zeker wel jullie inzet apprecieert

[Bericht gewijzigd door raf janssens op donderdag 31 oktober 2019 12:02:13 (18%)

Gr Raf

Op 31 oktober 2019 09:34:20 schreef Arco:

code:

                             
I
  '-------------------------------------------
  'timer interrupt?
  '-------------------------------------------
  
  '-------------------------------------------
  'ext. interrupt?
  '-------------------------------------------
  

Ja en?

ik zie nog steeds niet waar PORTB.0 benoemd is.

Arco

Special Member

Ja en?
ik zie nog steeds niet waar PORTB.0 benoemd is.

INTF is de RB0 externe interrupt flag...

(timer speed (Hz)) = (clock speed (16MHz)) / prescaler

klopt niet, moet zijn: clockspeed / (timerwaarde+1) / 4 / prescaler (en eventueel ook nog door de postscaler.)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op 31 oktober 2019 09:34:20 schreef Arco:

code:

                             
INTERRUPT:    
  Context Save
  '-------------------------------------------
  'timer interrupt?
  '-------------------------------------------
  If (T0IF) Then  
    If (VAL_TIMER) Then
      Dec VAL_TIMER 
    End If
    T0IF = 0                           
  End If  
  '-------------------------------------------
  'ext. interrupt?
  '-------------------------------------------
  If (INTF) Then
    VAL_TIMER = 200   '(voorbeeldwaarde)
    INTF = 0
  End If
  Context Restore

is een losse flard code. (er ontbreekt het nodige)

"""If (T0IF) Then"""
klopt ook niet want er staat geen = bij.

beetje erg jammer.
Wel tegen Raf opmerken:

Op 30 oktober 2019 11:40:17 schreef Arco:
[...]
Het plaatsen van niet relevante en ook nog niet werkende code zeker niet?... ;)
(maak het dan tenminste werkend: hier heeft TS niks aan, TS leert hier ook niks van)

[Bericht gewijzigd door stortbak op donderdag 31 oktober 2019 15:18:37 (22%)

Arco

Special Member

Dit is Mikrobasic syntax. Voor Picbasic zelf aanpassen. Gebruik ik (gelukkig) niet... ;)
Je zoekt het verder zelf maar lekker uit, nu genoeg tijd verspild hieraan...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op 31 oktober 2019 16:20:19 schreef Arco:
Dit is Mikrobasic syntax. Voor Picbasic zelf aanpassen. Gebruik ik (gelukkig) niet... ;)
Je zoekt het verder zelf maar lekker uit, nu genoeg tijd verspild hieraan...

picbasic gebruik ik niet

Maar wel stik nieuwsgierig vragen naar al mijn zelf ontdekte en samengestelde code.......

je zoekt het verder zelf maar lekker uit

Vandaar dat er nooit een antwoord kwam, je weet en kan het gewoon niet en je zijsporen zijn nu op.
Had je ook bij je eerste antwoord kunnen vermelden, had je er niet steeds zo omheen hoeven te draaien door wedervragen te stellen en te praten over dingen die al lang waren opgelost, had het ook geen dagen aan tijd gekost. Dat is dus je eigen schuld.
Wellicht was het beter geweest niet te doen alsof je jezelf interessant vindt, door je er buiten te houden.

Maar wel zeggen dat het aan mij ligt.
Schandalig.

Schakeling werkt hier al voor het grootste deel en zelfs zonder de door jullie de hemel ingeprezen en door jullie noodzakelijk bevonden interrupts.

Aan de anderen en eigenlijk aan Lambiek, bedankt voor de bijstand.

Arco

Special Member

Nog een keer dan... (zulk stompzinnig geleuter kun je niet laten schieten...)

Maar wel stik nieuwsgierig vragen naar al mijn zelf ontdekte en samengestelde code.......

Alsof je daar wat mee kunt beginnen... :) :)
Alle basic is in grondslag gelijk, dus moet je dat zo kunnen omzetten...

Aangezien het voor een kachel is, zal de brandweer nog wel eens uit moeten rukken vrees ik...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Zoek het lekker zelf uit joh, als dit is wat je kan na jaren programmeren gaat het nooit iets worden.

Je kunt blijkbaar niet bevatten dat de exacte taal niet relevant is, als je de onderliggende techniek begrijpt.

Als je toch eens kon bevatten hoeveel je niet weet...

@Arco: is dit nou CO vergiftiging?

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Lambiek

Special Member

Op 31 oktober 2019 16:57:37 schreef stortbak:
Vandaar dat er nooit een antwoord kwam, je weet en kan het gewoon niet en je zijsporen zijn nu op.

Ik vind je nu toch wat vervelend worden, Arco is prima in staat om zo iets op te lossen. Het is een gewaardeerd forum lid, die altijd wel met goede ideeën komt en een oplossing en dat zelfde geld voor SparkyGSX en MGP.

Je hebt nu hints genoeg gehad, dus je moet er nu wel uit kunnen komen lijkt mij. Ik hou het voor gezien in ieder geval.

Op 31 oktober 2019 17:36:26 schreef SparkyGSX:
is dit nou CO vergiftiging?

Dat zou zo maar kunnen. :)

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 31 oktober 2019 17:36:26 schreef SparkyGSX:
Zoek het lekker zelf uit joh, als dit is wat je kan na jaren programmeren gaat het nooit iets worden.

Ik ben inderdaad nooit verder gekomen dan if > < = then.
Heb me goed kunnen redden met de weinige kennis die ik mezelf heb bijgebracht zonder opleiding of cursus. Ik heb op school nog een paar lessen over buizen gehad.
Schaam me helemaal niet om wat te vragen.
Ik was blij verrast dat er hier ipv de delay, die ik in mijn eigen toepassingen al lang had vervangen door tel tot zoveel en als de waarde > wordt dan , voer dan dit of dat uit, een andere optie werd aangeboden.
Helaas is het niemand gelukt om duidelijk te maken wat nu dat woord "interrupt" precies betekent en hoe je het kan gebruiken.
Dan kan je zeggen dat ik te dom ben om het te snappen, je zou wellicht ook kunnen verzinnen dat ik te dom ben en door gewoon een werkend voorbeeld in elkaar te steken, mij te laten ontdekken wat er precies mee kan.
Dat zou geholpen hebben, dan had ik verder kunnen gaan zoeken en kijken.
Ik krijg nu een code in een taal die ik niet spreek over een onderwerp dat ik niet snap omdat ik niet weet wat de termen precies inhouden.
Na al dit bezighouden zonder dat voorbeeld te geven, ben ik nog net zover als 30 (ik schat maar wat) berichten geleden.
Dat ligt echt niet aan mij, ik heb meerdere keren gezegd dat het als Russisch is voor me.
En ik heb ook heel duidelijk gevraagd hoe kan ik met een ingang die teller starten.
Wanneer je dan geen uitleg kan geven, aan wie ligt het dan?

Had je in plaats van die 30 berichten met afleiding van de hoofdvraag, 1 keer de moeite genomen wat werkende code in elkaar te zetten van deze in jullie ogen "o zo simpele basis programmakunde" waren jullie veel eerder klaar geweest en had ik me wel verder in deze materie kunnen verdiepen.
Nu sta ik nog voor een gesloten deur, want wat is een interrupt?
Wiens schuld is het dan?

Uit de hoogte doen van "het is wat meer dan knip en plak en copy en paste, want zo werkt het niet", slaat ook nergens op.
Ik heb een werkende nuldoorgangdetectie
ik heb een werkende triac
ik heb een werkende delay die ik zelf kan beïnvloeden met een door de kachel gekozen waarde
ik heb een werkende delay die ik zelf kan beïnvloeden met een toerentalterugmelding (nu nog met een instelpotje)

Nu die toerenterugmelding nog
en natuurlijk de thermokoppels nog
en nog wat andere beveiligingen die als voorwaarde om te kunnen starten gaan dienen

Allemaal delen, die bij elkaar een geheel vormen.

alee het gaat weer goed hier zo te zien

ok stortbak afgeserveerd maar geld dat voor mij ook of kan ik nog op hulp rekenen

de vraag :
ik doe rc en er is me gevraagd om de verlichting te sturen van een vachtwagen
geen probleem werkt al allemaal perfect via de ontvanger
nu het probleem

de pinkers
gevraagde linker pinkers
rechter pinkers
en sos pinkers
als ik deze meng tussen de code dan lopen ze nooit gelijk omdat de code soms wacht op de pulsbreedte van de ontvanger

dus volgens mij een perfecte zaak om met een intterupt te doen
op /of aftellen tot een bepaalde waarde en dan pinker aan
zelfde tijd voor pinker uit
het programma kiest of de linker of de rechter of beide poorten

is dit mogelijk om het uit te leggen zonder al de zever van hier boven of gaat dat niet lukken
is een kwestie om te zien of ik hier mijn tijd ga blijven insteken
of niet
want ellende heb ik al genoeg gehad na 5 hersen infarcten dit jaar en een hart infarct

over leg eventjes met elkaar en laat het me weten aub

gr raf

Gr Raf
Lambiek

Special Member

Op 31 oktober 2019 18:41:20 schreef raf janssens:
de vraag :
ik doe rc en er is me gevraagd om de verlichting te sturen van een vachtwagen
geen probleem werkt al allemaal perfect via de ontvanger
nu het probleem............

Ik denk dat je beter even een nieuw topic kan starten hier over. :)

Als je haar maar goed zit, GROETEN LAMBIEK.

Inderdaad, start even een nieuw topic. Ik wil je best helpen, en dat geldt waarschijnlijk voor de meeste/alle anderen hier ook! Vragen is prima, het gaat mis met de manier waarop stortbak dat blijft doen, als een stampvoetende kleuter gelijk mensen voor idioot uitmaken als hij niet direct een pasklare oplossing krijgt waar hij zelf niet over na hoeft te denken.

@stortbak: ik gebruik geen PICs, en al helemaal geen PICbasic, net als een aantal andere hier. Dat betekend dat ik hier geen PICbasic compiler heb, en ik heb geen PIC en programmer liggen om iets mee te proberen, dus ik kan je geen kant en klare werkende code geven, want elke controller is weer anders.

Je kunt prima zelf googlen wat een interrupt is.
https://en.wikipedia.org/wiki/Interrupt

Jip-en-Janneke taal:
Bij een specifieke gebeurtenis wordt het programma onderbroken, waar de processor op dat moment dan ook meer bezig is, en wordt een specifiek stukje code, dat bij die specifieke interrupt hoort, direct uitgevoerd. Zodra dat klaar is, gaat de processor verder waar hij gebleven was voor de onderbreking.

Stel dat je boek aan het lezen bent, en je vrouw vraagt je om het vuilnis buiten te zetten. Dat is de interrupt, en het taakje dat je nu gaat doen is de interrupt service routine. Je zet het vuilnis buiten, pakt je boek op, en leest verder waar je gebleven was.

Hoe je dat precies doet op een PIC? Geen idee, jouw probleem. Ik heb nieuws voor je: wij moeten dat ook allemaal zelf uitzoeken, voor elke nieuwe controller die we gebruiken. Ik heb intussen wel een stuk of 20 verschillende gebruikt, van kleine 8-bitters tot 32-bit DSPs, 400MHz monsters, en softcores in FPGAs. Toevallig net even niet jouw PIC. Dat is sowieso een zwaar verouderde controller die professioneel nauwelijks nog gebruikt wordt, en ik moet de eerste professionele programmeur die PICbasic gebruikt nog tegenkomen.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

[message="2117077",

@stortbak: ik gebruik geen PICs,
en al helemaal geen PICbasic
dus ik kan je geen kant en klare werkende code geven

Jip-en-Janneke taal:

Stel dat je boek aan het lezen bent, en je vrouw vraagt je om het vuilnis buiten te zetten. Dat is de interrupt, en het taakje dat je nu gaat doen is de interrupt service routine. Je zet het vuilnis buiten, pakt je boek op, en leest verder waar je gebleven was.

Hoe je dat precies doet op een PIC? Geen idee

Kijk,
dat is eindelijk een eerlijk antwoord.
.
.
.
.

Op 31 oktober 2019 22:58:40 schreef SparkyGSX:
het gaat mis met de manier waarop stortbak dat blijft doen, als een stampvoetende kleuter gelijk mensen voor idioot uitmaken als hij niet direct een pasklare oplossing krijgt waar hij zelf niet over na hoeft te denken.

Wel uitermate jammer dat er toch ook weer geschopt moet worden, dat vraagt weer om reactie.
Had het nou niet gedaan, dan was het afgesloten geweest, na dat "excuus".
Kijk eens naar de eerdere reacties.

ik moet een 3 fasemotor nemen
ik moet een stappenmotor nemen
een 230V AC motor kan je niet sturen met een triac
ik moet een zero cross detector gebruiken met een comperator, terwijl ik al lang een nuldoorgangsdetectie werkend heb op een ingang
en zo gaat het maar door.
Moet tien keer om hetzelfde antwoord vragen en steeds komen er uitvluchten, om vooral maar niet te hoeven antwoorden. (want wat is anders het doel van die afleidingen?)

Raar dat ik dan geïrriteerd ga reageren?
Mijn fout, ik geef het toe, maar ik hoopte hier mensen met verstand tegen te komen.
Dat soort antwoorden passen er echt niet bij.

Op 31 oktober 2019 22:58:40 schreef SparkyGSX:
Hoe je dat precies doet op een PIC? Geen idee, jouw probleem.
jouw PIC. Dat is sowieso een zwaar verouderde controller
ik moet de eerste professionele programmeur die PICbasic gebruikt nog tegenkomen.

Nog meer geschop, want ik doe me niet voor als prof en hoef dus niet het nieuwste van het nieuwste te hebben.
Iedereen is vrij om welke pic dan ook te kiezen en met welke hulpmiddelen hij die wil vullen.

Zolang dit (in jullie ogen) speelgoed te koop is en er voorbeelden zijn van hoe te gebruiken (Zelfs Lambiek gebruikt ze, mag dat wel dan?), gaat een beginner daar mee aan de slag, want daar zijn kant en klare lessen van te vinden op het www
Want op fora met de proffessionals krijg je geen voorbeelden, daar gaat men er vanuit dat je of alles al weet of het maar zelf moet uitzoeken.
Dan moet je eerst maar 500 bladzijdes bestuderen voor een enkele simpele toepassing, waarna je jaren niet meer zal bezig zijn met een pic.

Zeg dan tegen de vragensteller dat je het niet weet en ga niet lopen opscheppen met alle kunstjes die je zelf ooit wel geleerd hebt omdat je al 14 jaar elke dag aan het programmeren bent, want zo komt het over bij mij.

Ik heb me ooit binnen een maand 3D tekenprogramma solid works aangeleerd en gebruikt om een extreem lastig onderdeel te ontwerpen, te laten printen, te gebruiken om een gietmal te maken en vervolgens ook nog dat product te gieten in zamac. Heb ooit aan een kennis gevraagd om een klein beetje hulp, die zei, dat soort moeilijke dingen besteden wij uit. En dat was iemand die dagelijks met SW bezig was.
Uiteindelijk is het me toch gelukt zonder hulp van een prof.
Dus dom en gemakzuchtig ben ik echt niet.

Ik hoop dat jullie Raf wel kunnen uitleggen wat ik niet begrijp, dan heb ik er ook nog wat aan.

Veel plezier met spelen met jullie professionele PICjes.

Ik speel verder met een verouderde "hoofd"PIC en gebruik verouderde "triac"PICjes om mijn sturing te maken. Met delays, want dat werkt gewoon.
Nog een tweede triac op het experimenteerbord zetten, dan kan ik het geheel testen met 2 motoren.

Daar wilde ik het maar bij laten.
Voordat ik straks een verbanning krijg omdat alle profvriendjes gaan zeuren bij het oppervriendje de moderator met steekwoorden als: "is dit nou CO vergiftiging?" :) :) :)

Hallo
na een nachtje er te hebben over geslapen en de alweer vriendelijke postings heb ik beslist om geen nieuw topic te openen
ik zou trouwens niet weten hoe ???
ik heb meer dan een uur aan het proberen geweest om mijn laatste picbasic code in de posting te zetten want ik wist niet meer hoe ik de code moest beëindigen.
tot ik op een ander forum te zien kreeg hoe het moest trouwens.

ik programmeer reeds van laat ons zeggen 1978 en de processor was een Z80 1 Mhz .en dit in machine taal .en kijk da werkt hé
daarna op basic overgestapt en de zx81 aan het draaien met 128 Kb geheugen en bankswitching en zelfs een diskette station er aan

dus programmeren kon ik reeds
maar dan de fatale dag dit jaar dat ik voor de pc aan het programmeren was en opeens
if detect = 0 then print ??????????????
een uur later de diagnose 5 hersen in farcten maar ik kwam er nog goed vanaf want buiten dat ik wel dingen ken maar ze niet meer bij naam kan noemen zie ik er nog gezond uit
voor dezelfde prijs zat ik in een rolstoel of was ik er niet meer

zie het dat op een pagina alle zaken staan die ik ken en op een andere de benaming maar die zijn door elkaar gegooid .
vandaag eens proberen of ik speculaas mag want dat weet ik niet meer .wat ik wel geproefd heb is pinda kaas en das voor de vuilbak niet lekker

dus als ik nu een instructie wil gebruiken moet ik steeds naar de handleiding grijpen om BV "print at 1,1,"bezet"te kunnen schrijven
eens ik de link terug heb gelegd dan blijft die ook dus ik kan reed terug redelijk basic programmeren

ik zit hier met een 100 tal printen "met de voor jullie oudere processoren bestukt "en ik zou verdomd niet meer weten waar ze voor dienen.

software die ik geschreven heb waar ik geen zak meer aan heb want voor welke print is ze bedoelt

in januarie nog op de set van torpedo om met de modellen te werken en een paar maanden nadien pure ellende

dus mijne heren jip en janneke taal zijn soms zelf voor mij onbegrijpbaar terwijl het voor jullie gewoon uit de mouw te schudden is

en of ik nu een data blad lees of niet als de klik er niet komt en ik begrijp de logica er achter niet dan linkt het zich niet in mijn kop en blijf ik met een programma zitten wat niet werkt

en of het voor basic ,c cc+ of jal of zelfs arduino is maakt me niet uit want zoals je zegt het heeft niet met de eigenlijke programma taal te maken.dit is net zoals bij de oeroude z80 processor op bit basis .maar helaas is dit ook allemaal weg

en hoe oud je bent en hoeveel ervaring je hebt zelfs geld speelt geen rol ;knip en het is voorbij ;en zo snel je het leest zo snel gaat het.en ik had geluk dat het over dag was en ze der heel snel bij waren want had het s'nachts gebeurt was de schade nog erger

dus sorry voor de mensen die wil willen helpen maar ik ga geen nieuw topic starten
ik ga nog eens de picbasic site door nemen en proberen het te begrijpen en de manual nog maar eens van proton en de manual van de processor
en als dat niet werkt dan zet ik een processor der bij die de pinkers voor zijn rekening neemt en is het timer probleem opgelost mits verlies van wat ruimte in het model

gr raf

Gr Raf

Aan beiden, ik ga mezelf nog eens quoten want volgens lezen hebben jullie dat gemist (2de bericht).

Op 5 oktober 2019 09:12:39 schreef MGP:
.....
De kans is zowat nihil om een werkbaar geheel in handen te krijgen.

Hoeveel mensen kennen jullie hier die zeer goed met Picbasic kunnen werken, ik ken er maar 1 en dat is Lambiek en die heeft zijn deel al gedaan.
De kans is heel klein van het perfecte antwoord te krijgen!

Interrupts programmeren vereist hardwarekennis van de betreffende controller, of hij nu outdated is of niet, daarom timmer ik er altijd op van u aan een enkele type controllers te houden

Veel lezen is de bron van kennis.
Een forum is maar een kleine hulp en goed voor als je een komma verkeerd hebt geplaatst.
Dit forum heeft ook een heel goede zoekfunctie en als je 'picbasic interrupt' intikt krijg je dit https://www.circuitsonline.net/forum/search?query=picbasic+interrupt&a…

Maar je moet wel meer moeite doen en alles heeft zijn tijd nodig.

LDmicro user.

Op 1 november 2019 09:25:20 schreef stortbak:
Wel uitermate jammer dat er toch ook weer geschopt moet worden, dat vraagt weer om reactie.

Misschien moet jij je dan minder gedragen als een voetbal. Als iedereen hier slecht op je reageert, ligt dat, ik weet het niet, misschien wel aan jou? Heb je daar ook maar een moment over nagedacht?

Mijn fout, ik geef het toe, maar ik hoopte hier mensen met verstand tegen te komen.

Raar hè, dat wij slecht op jou reageren? Mensen met verstand zijn hier blijkbaar niet, dus wat doe je hier nog?

Nog meer geschop, want ik doe me niet voor als prof en hoef dus niet het nieuwste van het nieuwste te hebben.

Ik probeer je uit te leggen waarom je geen werkende voorbeelden krijgt. Dat komt daardoor je een controller en programmeertaal hebt gekozen die bijna niemand gebruikt, en bij gevolg heeft niemand een pasklaar stukje code voor je.

Dan moet je eerst maar 500 bladzijdes bestuderen voor een enkele simpele toepassing, waarna je jaren niet meer zal bezig zijn met een pic.

Onzin, je hoeft niet de hele datasheet van begin tot eind te lezen om de snappen hoe een timer werkt. Daarbij, naar eigen zeggen ben je al jaren bezig met die PICs...

Iedereen is vrij om welke pic dan ook te kiezen en met welke hulpmiddelen hij die wil vullen.

Uiteraard, maar dan zul je het daarmee ook zelf moeten redden, en daar blijk je absoluut niet toe in staat te zijn.

Hoe denk je dat wij dit hebben geleerd? Door ZELF te lezen (tutorials, datasheets, wikipedia, etc.), ZELF te proberen, en ZELF over dingen na te denken.

Zolang je dat niet zelf kunt, zul je nergens komen, en als je vervolgens lomp en brutaal gaat doen op waarschijnlijk het enige forum waar je hulp had kunnen vinden, worden je mogelijkheden heel beperkt.

Zolang dit (in jullie ogen) speelgoed te koop is en er voorbeelden zijn van hoe te gebruiken (Zelfs Lambiek gebruikt ze, mag dat wel dan?), gaat een beginner daar mee aan de slag, want daar zijn kant en klare lessen van te vinden op het www

Het verschil is dat Lambiek WEL zelf dingen kan uitzoeken, en niet ergens komt eisen dat andere mensen zijn huiswerk voor hem MOETEN DOEN! NU!

Met je consequent onacceptabele gedrag heb je het hier wel verpest, waar denk je nu nog hulp te gaan krijgen als je wel een oprechte vraag hebt

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Op de mts had een leraar in 1 lesuur vier schoolborden vol formules nodig om de werking van een transistor "uit te leggen" door hfe en hoerc en weet ik wat voor meer kreten allemaal aan te halen.
Stond vreselijk belangrijk te doen, maar gewoon beginnen met sluit via een weerstandje een spanning aan op de basis, zet spanning op de collector via een stroombegrensweerstand en sluit de belasting aan op de emittor. Uitleggen is een kunst.

Op 1 november 2019 15:38:06 schreef SparkyGSX:
en daar blijk je absoluut niet toe in staat te zijn.

Dan zal de volgende tekst wel een erg grote teleurstelling voor je zijn. :z

Ik heb twee 230 V motoren op de schakeling die onafhankelijk in toeren te regelen zijn.
Zonder timers en zonder interrupts, volgen ze exact wat ik bedacht heb dat ze moeten doen , volgens de later nog instelbare en nu "ongeveer" ingestelde waardes.

Klus geklaard, ik hoef nergens meer om te smeken op CO.

Proost, ik genieten van de avond zonder CO, heerlijk.

Mooi, dan kunnen wij weer genieten van CO zonder jou. Dag!

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken