Guten Abend! Geht es, dass der µC sozusagen "rundet"? Ich hab nämlich beim AD ein Wert, z.B. bei 10 Volt von 10/1024*Getad = Fließkommastelle. Wie mach ich (in Bascom) aus dieser Fließkommastelle nur eine Dezimalzahl? Ich komm einfach nicht drauf -.-, habt ihr ne Idee? Gruß Marvin
Round http://avrhelp.mcselec.com/round.htm Auch nützlich: Str http://avrhelp.mcselec.com/str.htm
Deklariere die Variable in der das Ergebnis stehen soll einfach als Integer.
Dankepfööön! Wenn ich sowas mal selbst finden möchte, wo kann man das suchen? Gruß Marvin
www.gidf.de
:D
Gast
#1614049
moin kleiner Bascom Kurs: http://www.halvar.at/elektronik/kleiner_bascom_avr_kurs mfg
Hey! Danke ;-) Jetzt hab ich meinen Code fertig gemacht Jeder Ausgansport ist mit einer LED verbunden :
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
Nur funktioniert da garnix, außer dass Portd.0 ab und zu high ist. Stimmt das mit der Variable V? Die soll dann aus dem AD-Wert einen Dezimalwert mit einer Stelle machen.. Gibts ne einfachere Methode um je nach Spannung dementsprechende Anzahl an LEDs anzumachen? Hoffe ihr könnt mir helfen ;-), denn gidf.de wills nicht.. Gruß Marvin
Bau deine If-Abfragen logisch auf. Spiele mal µC: Wenn V gleich 8 ist, dann ist es auch >7 und >2 usw. Was denkst du in welchen If-Fall es in deinem Code reinrutscht? In den ersten im Programm zutreffenden und das ist der >1 Fall! Also zuerst Abfragen ob >7, dann >6, dann >5... und nicht zuerst Abfragen >1, dann >2, dann >3... Und wie oft soll das Programm laufen? Ich denke "ewig", d.h. solange Saft da ist und kein Reset gedrückt wird. Also gehört da eine Endlosschleife her:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
Bei der Abfrage auf Benutzereingabe (If Portc.0 = 0 Then) hätte ich in Assembler und in C Bauchweh, mag sein, dass das in BASCOM geht, aber in ASM und C fragt man nicht den PORTx ab sondern den PINx. Also hier nachforschen, falls du an dieser Stelle Probleme beim Testen hast.
Gast
#1614628
Stefan hat Recht: Pinc.0 ist richtig zum Abfragen. Du könntest mit "Select-Case" noch die Abfragen übersichtlicher machen. MfG Paul
Gast
#1614643
Ich sehe gerade noch etwas Anderes: Wenn die Portpins an Port D einmal gesetzt worden sind, bleiben sie gesetzt, auch wenn die Spannung wieder sinkt. Du mußt also die Portpins an Port D wieder rücksetzen, wenn das nicht als Peak-Anzeige gedacht sein sollte. MfG Paul
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.