-
ms_pause last Asuro eine beliebige anzahl von milisekunden warten. Sleep wartet bis Timer2 im Asuro chip eine gewunschte anzahl von zyklien passiert sind. Der timer2 wiederholung mit einer frequenz von 72000 kHz. Deshalb ist Sleep(72) einer milisekunde. ms_pause wiederholt Sleep(72) genau so oft wie den eingegeben parameter. Deshalb ist ms_sleep(1000) genau einer sekunde lang.
PollSwitch ist einer funktion in dem lib (steht im asuro.c). Das misst den spannung der mit dem taster und damit gehörigen wiederstanden gemacht wird. Jeder taster hat sein eigenes anteil in dem spannungs wert und das wird in PollSwitch umgewandelt. Aber den spannungsmesser im asuro cpu (ADC genannt) wird einfach gestört durch dem motoren und deshalb sollte eine falsche wert ausgefiltert werden.
-
und deshalb wird die spannung von den tastern 2 mal abgefragt, um fehler zu vermeiden?
-
Ja, zwei mal das selbe antwort ist mehr sicher als einer der möglich fehlt.
-
ok danke
hab noch ne frage zu "c".
des char und int uns so stellt ja einen speicher für meswerte bereit.
wie können die aber en negativen speicher bereitstellen. (also zB: -128).
Oder stelllen die einfach nur speicher, auch für negative Zahlen, frei?
Hört sich jetzt vielleicht ein bisschen komisch an, aber das liegt daran, dass ich das im moment irgendwie nicht kapier...
-
Ein char ist 8 bits (8 mal 'ein' oder 'nul') gross. Damit kan man maximal 256 verschiedene werten speichern. Das ist 2 zum macht 8. Fur das 'negatief sein' wird ein bit gebraucht. Deshalb bleiben nur 7 bits uber fur den wert selbst. (2 zum macht 7 ist 128) Aber weil den 0 auch als positieve wert gesehen wird, ist den maximul positieven wert 127. Den maximale negatieven wert ist -128. Wenn man nur positieven werten bis 255 braucht definiert man den variabele als 'unsigned char'.
Ein 'int' is 16 bit gross. Damit konnen maximal 65536 verschiedene werten gespeichert werden. Aber hier wird auch einer bit fur negatiev sein benutzt. Deshalb kan das nur -32768 bit 32767 sein. Ein 'unsigned int' geht von 0 zum 65535.
Wie das bit technisch und mathematisch genau im assembler gemacht wird weis ich nicht genau. Im dem (hohere technische) schule haben wir auch etwas uber 'two complement' lernen mussen. Aber was das genau ist bin ich schon vergessen.
Wenn die englische sprache kein problem ist kannst du dies mal durchlesen:
http://www.acm.uiuc.edu/webmonkeys/b...html#variables
Und hier ist noch einer Wiki uber 'two complement':
http://en.wikipedia.org/wiki/Two's_complement
-
danke
aber das für die hoch technischen SChulen lass ich im moment lieber noch weg, bin 15 und das würde mich nur verwirren... ;-) .
gibt es in char zb, dann 256 verschiedene möglichkeiten 0 und 1 hintereinander zu reihen oder wie entstehen die zahlen?
-
Ich hoffe den Forum server bricht nun nicht zusammen:
Code:
00000000 = 0
00000001 = 1
00000010 = 2
00000011 = 3 (1+2)
00000100 = 4
00000101 = 5 (1+4)
00000110 = 6 (2+4)
00000111 = 7 (1+2+4
00001000 = 8
00001001 = 9 (1+8 )
00001010 = 10 (2+8 )
00001011 = 11 (1+2+8 )
00001100 = 12 (4+8 )
00001101 usw.
00001110
00001111
00010000
00010001
00010010
00010011
00010100
00010101
00010110
00010111
00011000
00011001
00011010
00011011
00011100
00011101
00011110
00011111
00100000
00100001
00100010
00100011
00100100
00100101
00100110
00100111
00101000
00101001
00101010
00101011
00101100
00101101
00101110
00101111
00110000
00110001
00110010
00110011
00110100
00110101
00110110
00110111
00111000
00111001
00111010
00111011
00111100
00111101
00111110
00111111
01000000
01000001
01000010
01000011
01000100
01000101
01000110
01000111
01001000
01001001
01001010
01001011
01001100
01001101
01001110
01001111
01010000
01010001
01010010
01010011
01010100
01010101
01010110
01010111
01011000
01011001
01011010
01011011
01011100
01011101
01011110
01011111
01100000
01100001
01100010
01100011
01100100
01100101
01100110
01100111
01101000
01101001
01101010
01101011
01101100
01101101
01101110
01101111
01110000
01110001
01110010
01110011
01110100
01110101
01110110
01110111
01111000
01111001
01111010
01111011
01111100
01111101
01111110
01111111
10000000
10000001
10000010
10000011
10000100
10000101
10000110
10000111
10001000
10001001
10001010
10001011
10001100
10001101
10001110
10001111
10010000
10010001
10010010
10010011
10010100
10010101
10010110
10010111
10011000
10011001
10011010
10011011
10011100
10011101
10011110
10011111
10100000
10100001
10100010
10100011
10100100
10100101
10100110
10100111
10101000
10101001
10101010
10101011
10101100
10101101
10101110
10101111
10110000
10110001
10110010
10110011
10110100
10110101
10110110
10110111
10111000
10111001
10111010
10111011
10111100
10111101
10111110
10111111
11000000
11000001
11000010
11000011
11000100
11000101
11000110
11000111
11001000
11001001
11001010
11001011
11001100
11001101
11001110
11001111
11010000
11010001
11010010
11010011
11010100
11010101
11010110
11010111
11011000
11011001
11011010
11011011
11011100
11011101
11011110
11011111
11100000
11100001
11100010
11100011
11100100
11100101
11100110
11100111
11101000
11101001
11101010
11101011
11101100
11101101
11101110
11101111
11110000
11110001
11110010
11110011
11110100
11110101
11110110
11110111
11111000
11111001
11111010
11111011
11111100
11111101
11111110
11111111 = 1+2+4+8+16+32+64+128= 255
Hast du das gezahlt? ;)
-
oh cool danke
jetzt hab ichs richtig verstanden :D
-
hmm, ein moderator hat mein post da oben etwas modificiert. Es ist nicht so lange mehr. Den code tages hatte ich auch selbst einfugen mussen. Verzeihung. Aber merkwurdig warum das keinen modification notitz bekommen hat.
-
von mir auch thx^^
Ach da brauchst schon mehr das n server abscheisst ;-)