Har problem med min kod som var tänkt att bli en enkel 0-5V voltmeter.
När jag skriver ut resultatet (ADCValue) på datorn via Usart så får jag ett värde mellan 0 till ca 65535 (2^16) för 0 till 5V. Förstår inte riktigt vad jag gör fel.
Det borde ju bli ett värde mellan 0-1023 för att jag använde 10-bit A/D, eller tänker jag helt fel?
Det är en PIC16f886 och ADCValue är en unsigned int.
Tack för snabbt svar.
jag testa med ADCValue = (ADRESH * 256) + ADRESL; men det blev ingen skillnad, testa även med både höger och vänsterjusterat.
Kan tillägga att jag använder HI-TECHs usart kod, om det kan hjälpa.
>Postade du någon annan kod än den du hade problem med ?
JA.
Jag posta den koden jag trodde var felaktig, men nu inte var fallet.
Felet var gammal kod som jag hade avmakerad, men missat en rad. Därav tog jag inte med den koden.
OK.
Lärdomen är alltså att vara lite noggrannare med "problemkod" som postas...
Om du hade rensat upp koden (d.v.s plockat bort de rader som du hade kommenterat
inkl den rad som du *trodde* att du hade kommenterat) så hade det ju fungerat
redan innan du postade... Försök alltid att fixa en "reproducer", d.v.s en snutt
som visar exakt det problem man har, men inget mer.
Varsågod, det är ju inte raketvetenskap direkt.
D.v.s att kolla sin kod en extra gång innan man postar...
Och just att inte bygga ett inlägg på "gammal" kod som man har
ändrat fram och tillbaka i flera gånger innan utan att ransa upp
och fixa ett klart och tydligt test-case som visar just det problem
man frågar om, är ju en standardåtgärd i stort sätt. I 9 fall av 10
så hittar man även sitt fel under tiden som man rensar koden...