External clock divider heeft minuten nodig voor output


Arco, waar zie je dat in de datasheet ? ( Pagina )

Guus@Sint-Michielsgestel

Sorry Sine, ik weet niet hoe ik code tags kan "invoeren"

Dat staat gewoon boven je tekst invoer vak. Het is het symbool met de 2 rode <> tekens erin. Nadat je code hebt gekopieert en geplakt kan je het daarna selecteren en gebruik je dat symbool en kies je de gewenste opmaak in dit geval "PIC assembly"

Code tags:
       [code=picbasic]

       ...code...
       [/code]

T1clock = 0.5 * TCy + 20nS = 520nS * 2 = 1040nS (~ 961kHz)

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

Moderator

Precies, en je plakt het er gewoon als text in, dus je hoeft het niet te uploaden.

Benleentje en Arco bedankt,

Ik ben nu bezig met een 4MHz interne clock,
nog geen resultaat.
Zie de Basic file.

[Bericht gewijzigd door Waters op 3 april 2020 10:01:50 (89%)]

Guus@Sint-Michielsgestel

pic basic code:

'****************************************************************
'*  Name    : 10MHZ  EXTERNAL CLOCK DIVIDER                     *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2020 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 02-04-2020                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
;          PIC12F675     :              +--v--+
;                                   +5V [     ]  GND
;                                      <[     ]<  =
;                                      <[     ]<  
;          (met externe 10k pull-up!)  >[     ]>  Portb.2 output  65 ms
;                                       +-----+


Device 12F675                 ;Er wordt een 12F675 8-pins  PIC gebruikt
Config INTRC_OSC_CLKOUT, WDT_OFF, PWRTE_ON, MCLRE_OFF 
XTAL = 4

CMCON =  %00000111;  
PORTB =  %00000000;   
TRISB  = %00111010;   B5 ingang 10 MHz, B1 ingang 1sec clock , B4 input A/D
INTCON = %11000000 ;   Gie ON, GPIE ON
T1CON =  %00000001 ;  Timer1 = on , 
PIR1  =  %00000000;
PIE1  =  %00000001;
ANSEL =  %00000000;;     
OPTION_REG = %10000000
 

Dim TMR1F As PIR1.0
Dim TMR1E As PIE1.0
TMR1E = 1
DelayMS 1000 

WACHT:              ; Met een 1 MHz  input , verwacht ik een 
TMR1E = 1           ; 65.365 ms delay, dat klopt wel als ik tussen  1 en 5 minuten wacht.
While TMR1F = 0     ; wacht op flag
Wend 
PORTB.2 = 1         ; flag  geweest
DelayMS 1
PORTB.2 = 0
TMR1F = 0
INTCON = %11000000
GoTo WACHT
Guus@Sint-Michielsgestel

TMR1CS staat bij u op default, dus TMR1 telt Fosc/4 en niet T1CKI
.
Verder heeft Arco mooi voorgerekend dat zonder prescaler voor T1CKI de max freq 1MHz (Fosc/4) bedraagt, dit op voorwaarde dat duty 50% is
.
Dus begin het experimenteren met tellen van lage frequenties ... :)
Verder zie ik nog overbodige instructies die alleen maar vertragen en mis ik een ISR

Hoi CJ

Zelfs dit kleine stukje code draait niet.
Ik draai dan op de 1 MHz interne clock
Wat mis ik ?

pic basic code:


WACHT:              ; Met een 1 MHz  input , verwacht ik een 
TMR1E = 1           ; 65.365 ms delay, 
While TMR1F = 0     ; wacht op flag
Wend 
PORTB.2 = 1         ; flag  geweest
DelayMS 1
PORTB.2 = 0
TMR1F = 0
INTCON = %11000000
GoTo WACHT

[Bericht gewijzigd door Sine op 3 april 2020 16:19:35 (3%)]

Guus@Sint-Michielsgestel

Weet je zeker dat RB2 niet hoog is geweest? (1mS is erg kort)
Waarom neem je zo'n trage pic als je met hoge frequenties wilt werken? (een nieuwe als de 12F1572 loopt op 32MHz en kost maar de helft...)

Neem voor testen met de 675 een lagere frequentie. (is gegarandeerd tot ~961kHz, niet tot 1 MHz, ik zou met 100 of 500kHz beginnen)

[Bericht gewijzigd door Arco op 3 april 2020 13:29:05 (25%)]

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

Hoi Arco,

Ik draai op de 1MHz interne clock en zelfs dat werkt niet.

Guus@Sint-Michielsgestel

Het is net of ik een interrupt TMR1F mis

Guus@Sint-Michielsgestel

Je gebruikt geen interrupt!

De zinloosheid des levens is nog geen rechtvaardiging voor sisyphusarbeid.

Nee,

Maar pollen zou (hoewel ongebruikelijk) ook moeten werken...
Interrupt enable moet dan wel uit staan.

[Bericht gewijzigd door Arco op 3 april 2020 15:57:29 (24%)]

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com
De zinloosheid des levens is nog geen rechtvaardiging voor sisyphusarbeid.

Arco,

Je hebt gelijk, ik moest TMR1E uitzetten om de puls te zien.
Dit is een klein stapje vooruit na een dag zwoegen
Kun je me aangeven hoe ik nu op interrupt basis kan werken ?
Dus nog met de 1MHz interne clock .
In mijn geval ON INTERRUPT GOTO WACHT

Guus@Sint-Michielsgestel

Maar pollen zou (hoewel ongebruikelijk) ook moeten werken...
Interrupt enable moet dan wel uit staan.

Je hebt gelijk, ik moest TMR1E uitzetten om de puls te zien.

Waarom? Omdat anders de controller op zoek gaat naar de ISR (die TS niet had)
GIE of PIE uitzetten zou in TS zijn geval hetzelfde resultaat hebben dan TMRE1 uitzetten?
Of heeft dat een andere reden? Wat weet of zie ik dan niet?

Ik heb het inmiddels werken met een 10 MHz externe input op B5
De processor loopt op de interne 4 MHz clock.
Ik kan nu pulsen opwekken om de 6.5 ms ( TIMER1 die rondloopt )
Er komt om de seconde ook een puls uit voor sync met de GPS
Deze loopt nog niet op tijd

[Bericht gewijzigd door Waters op 3 april 2020 20:30:32 (16%)]

Guus@Sint-Michielsgestel

Kun je me aangeven hoe ik nu op interrupt basis kan werken ?

Interrupt weer aanzetten... ;) (en een interrupt routine maken)

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

Golden Member

Off topic:
Fijn dat dit weer code genoemd wordt, ik word nie goe van het woord "sketch"
Sorry voor de interruptie ...

Fijn dat dit weer code genoemd wordt, ik word nie goe van het woord "sketch"

Met pics hoef je geen toneel (scetches) te spelen... :)

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

De PIC12F675 draait nu met een 10 MHz externe clock via EXTRC_NOCLKOUT.
Dit is niet te vinden in de datsheet, alleen EC.
Ik ben er blij mee, ik had verwacht dat EXTRC_CLKOUT zou werken,
en dat werkt ook,maar dan komt er op B4 de 1/4 clock uit

Guus@Sint-Michielsgestel

De uitgang is de instructieclock, die is altijd fOsc/4.
Externe RC oscillator is een relikwie uit 't verleden dat niemand meer gebruikt. (onnauwkeurig, temperatuurgevoelig,...)
Is er nog steeds voor backwards compatibility...

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

Hi Waters,
Ik had je in een ander topic gevraagd me een pm te sturen zodat ik je de door mij naar Basic vertaalde code van die canadese gpsdo kon sturen..... maar het bleef stil...
Heb je nog interesse?

Niet alles wat op internet staat is waar... Dat geldt ook voor CO.

Soldeer smurf, Ja laat maar komen.
Je kunt altijd van anderen leren

Guus@Sint-Michielsgestel

Hoi soldeersmurf,
Ik dacht dat mijn email zichtbaar was, dus niet.
Heb dit aangepast.

Guus@Sint-Michielsgestel