Maar er is iets raar mee aan de hand.
Als ik ALL_DIGITAL true op heb staan werkt het lcd normaal. Maar dan kan ik natuurlijk de analoge ingang niet inlezen.
ALs ik die ALL_DIGITAL true dan afzet dan gaat het lcd raardoen. Het staat dan vol met / en volle vakjes enzo en die vormen precies een looplicht
.Mijn code:
code:
'Config
Device 16F690
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_OFF, MCLRE_OFF
ALL_DIGITAL true
'AD
Dim spanning As Float
Dim esr As Float
ADIN_RES = 10
ADIN_TAD = FRC
ADIN_STIME = 50
TRISA.2 = 1
ADCON1 = %01110000
'LCD
Declare LCD_DTPIN PORTC.4
Declare LCD_ENPIN PORTC.3
Declare LCD_RSPIN PORTB.6
Declare LCD_LINES 2
Symbol lcdTijd = 600
Clear
Cls
Opstarten:
Print At 1, 1, "ElektronicaStynu"
Print At 2, 1, " ESR-Meter V1 "
DelayMS lcdTijd
Print At 1, 1, "lektronicaStynus"
DelayMS lcdTijd
Print At 1, 1, "ektronicaStynus."
DelayMS lcdTijd
Print At 1, 1, "ktronicaStynus.b"
DelayMS lcdTijd
Print At 1, 1, "tronicaStynus.be"
DelayMS lcdTijd
Cls
Hoofdprogramma_tekst:
Print At 1, 1, " ESR-Meter V1 "
Print At 2, 1, " ESR = , "
Print At 2, 16, $FE,$40,$00,$0E,$11,$11,$11,$0A,$1B,$00
While 1 = 1
spanning = ADIn 2
spanning = spanning / 1300
esr = spanning - 22.7
Print At 2, 9, SDEC2 esr
DelayMS 50
Wend
EndWie weet er een oplossing?
EDIT:
Heb het zelf al gevonden. Dit lost het op:
code:
ANSELH = 0
ANSEL = 4
Maar ik krijg er nu alleen maar de waarde 1023 uitgelezen met spanning = ADIn 2
Om de seconde lijkt die naar 0 te zakken en binnen een halve seconde weer op te lopen naar max.
[Bericht gewijzigd door Stynus op 21 augustus 2008 14:28:07]



