-
Thread
DS18B20 Temperaturauswertung für LCD-Anzeige ATmega32
, anschl. die Division und anschl. wieder das 2er-Komplement. Bei letzteren haben wir schon mal die Zahl: -10 int16_t zahl zahl = temp/16; jetzt zu Nachkomma: ----------------------------- Nachkomma
vorzeichenbehafteten Zahlen umzugehen ;-) >Ansonsten macht er das 2er-Komplement, anschl. die Division und anschl. >wieder das 2er-Komplement. ??? >Die Temp lautet zusammengesetzt also -10,12°C Voiala! MFG Falk
-
Thread
Optimiert der Compiler Formeln?
machen. Dazu kann man durch die entsprechenden Operatoren für UDTs auch sicherstellen, dass bei der Division von Länge und Zeit z.B. auch eine Geschwindigkeit heraus kommt. Gepaar wird das ganz mit constexpr, so dass man sicher ist, dass diese Berechnungen auch zur Compile-Zeit ausgeführt werden.
-
Thread
Software für sicherheitskritische Anwendungen
ist ja alles schon vorgekommen. Wie testet man, dass der sich nicht bei ganz bestimmten Float-Divisionen mit ganz speziellen Eingabewerten verrechnet?
-
Thread
#IF mit float Wert im Präprozessor auswerten
> 255) [/c] ergibt: main.c:4:6: floating constant in preprocessor expression main.c:4:6: division by zero in #if Zumindest mit gcc Version 3.4.5 unter Windows (MinGW).
-
Thread
Einzylinderzündung mit dem Avr
OCR = TCNTR * ( X & 0x1F) / 32 Da wir nicht mit "echten" Grad sondern mit 10 Bit rechnen ist die Division (da 2er Potzenz) praktisch kostenlos, die Multiplikation auf neueren AVR's auch in wenigen Takten abgewickelt. Und wie schon von HakoManipulator angedeutet, nicht zu viel Aufwand in die OT-Erkennung
-
Thread
LCD aus GCC Tutorial läuft nicht mit AVR Studio
überlaufen wird. Wenn in der Testphase jemand die Mittelwertbildung aushebelt und die abschliessende Division rausnimmt, und da kommt als Ergebnis 12876 raus, dann kracht es, weil die 5 Zeichen nicht ausreichen. Genau das ist mit 'auf Knirsch dimensionieren' gemeint. Man hat keinerlei Spielraum. Alles
-
Thread
mAh-Zähler mit Atmel-AVR
E Bike, ich habe den Timer zur Messung auf 360ms gestellt, dadurch brauchst du nicht mehr eine Division mit einen vielfachen von 3,6 es genügt eine Division mit einen vielfachen von 10 (ich ignoriere bei der LCD Ausgabe einfach ein Paar Nullstellen).
Fred Feuerstein schrieb im Beitrag #3053170: > dadurch spare ich mir die Division. > Was ist den daran falsch optimiert? > PS. Ich schreibe in Assembler dort ist x/3,6 zumindest fummeliger als > die Timeranweisung Zähle bis 3,6. Optimieren bedeutet ein Ziel anstreben, Division
-
Thread
Voltcraft DSO-1062D
was > wirklich nervig ist. > > > Bernd_Stein Nö, bei mir bewegt sich der Cursor mit 2/3 Divisions / Umdrehung. Schneller wäre aber auch sinnlos, da die Bildwiederholrate sehr gering ist und der Cursor dann springt, wenn ich zu schnell drehe. Model DSO1062D SW-Version 2.06.3(130306.0) HW-Version
-
Thread
AD-Wandler Umrechnung
anzuwenden, gut nachvollziehbar und ohne Fließkomma Arithmetik. Noch besser wird es, wenn Du bei Divisionen und Multiplikationen möglichst auf "runde" Zahlen im Sinne des Binärsystem setzt, also 2, 4, 8, 16, usw. Denn um eine Zahl durch diese runden Zahlen zu dividieren oder zu multiplizieren, muss er ledigleich Bits nach Links oder rechts verschieben. Eine Division durch 7 ist erheblich komplexer. Ein Blick in den erzeugten Assembler-Code kann diesbezüglich Aufsclussreich sein. 1024/256 = 4 also eine Runde Zahl. Das ist der Idealfall! Un nun kannst DU
-
Thread
Bildverarbeitung/Auslesen CMOS Sensor
Hallo! Wie wird das Teilen denn bei den "Profis" gemacht? Fast jeder Filter, etc braucht doch Divisionen. Wird das dann wirklich mit so einem Radix-2 Teiler gemacht? Wenn ich das richtig verstanden habe, dauert bei einer Division die Verzögerung des Ergebnisses so lange wie die Anzahl der Bits des
werden muss. Scheint aber alles schmarrn zu sein: Anscheinend macht man es so, dass man die Divisionen so "pipelined", dass diese für die Pixel Parallel ablaufen. Also man startet bei Pixel 1, macht mit einer weiteren Division bei Pixel 2 weiter und wenn man bei Pixel 8 ist, ist die Division für
-
Thread
Taktfrequenz DDR2 SDRAM
schnelle Antwort! Mein Problem ist allerdings, dass ich mit DCM/PLL über Multiplikation und Division meine Frequenz von 40 Mhz nie auf eine für den RAM passenden Wert bringen kann. Nehmen wir mal an ich stelle die 3846ps ein, dann braucht der RAM somit 260,01MHZ. Mit DCM/PLL komm ich aber nur auf
-
Thread
STM32F4Discovery debugging timer mit coocox ide
TIM_CounterMode_Up; // Count-up timer mode TIM_InitStruct.TIM_Period = 1; TIM_InitStruct.TIM_ClockDivision = TIM_CKD_DIV1; // Divide clock by 1 TIM_InitStruct.TIM_RepetitionCounter = 0; // Set to 0, not used TIM_TimeBaseInit(TIM1, &TIM_InitStruct); uint16_t line = 0
TIM_CounterMode_Up; TIM_InitStruct.TIM_Period = ??????????????????????????????????? TIM_InitStruct.TIM_ClockDivision = TIM_CKD_DIV1; TIM_InitStruct.TIM_RepetitionCounter = 0; TIM_TimeBaseInit(TIM1, &TIM_InitStruct); [/c]
-
Thread
PT1-Filter in C
OFF; [/c] Oder einfach avgsum als /unsigned/ nehmen. Dann passts immer, ob mit Shift oder mit Division...
-
Thread
Suche Xmega Sinus Quellcode
50; int main(void) { int Reading; Config32MHzClock(); CLK.PSCTRL = 0x00; // no division on peripheral clock PORTCFG.CLKEVOUT = PORTCFG_CLKOUT_PE7_gc; PORTE.DIR = (1<<7); // clkout TCC0.CTRLA = 4; // setup DAC output on PORTB:1 as GND reference PORTB.DIR |= 0x02; PORTB.OUT
-
Thread
Betrag von AD-Wandler auf LCd anzeigen
gehört hast. Aber dein µC ist ein kleiner Computer! Der kann rechnen! Du kannst natürlich eine Division durch eine Tabelle ersetzen. Sinnvoll ist das aber nicht. Sinnvoll wäre es, zu lernen, wie man in Assembler eine 16 Bit Division durchführt.
Gleichung ist. Hätte ja auch etwas Komplexeres sein können. Damit, dass er eine Multiplikation/Division in Form einer Tabelle abbildet, damit hatte ich nun wirklich nicht gerechnet.
-
Thread
Durch Null teilen
#2614249: > Früher gabs Arithmetik-Co-Prozssoren mit Metallkappen. Wahrscheinlich > war genau diese Division der Grund dafür. So wurden die Schäden wohl > minimiert. Das waren Wartungsklappen. Wenn durch eine Null-Division etwas verloren ging, konnte man die Klappe öffnen und die Daten wieder reinsetzen
Absoluten Grenzwerten des Datenblatts > aufgeführt ist. Nein. Das C-Laufzeitsystem darf die Division durch 0 auch erkennen und selbst dann, wenn der Prozessor einen Divisionsbefehl hat, diesen dann gar nicht erst ausführen, sondern stattdessen den Befehl HCF. :-)
-
Thread
Erstversuch mit ATmega32 ADC
Compilerbauer sind keine Vollidioten. Die haben ihrem Compiler schon beigebracht, wann man eine DIvision durch ein Schieben ersetzen kann! Das brauchst du nicht selber im Code machen. Wenn die logische Operation eine Division ist, dann schreib auch Division hin. Dann machst du auch nicht so dumme Fehler
auch nicht nach und bleibe bei meinem Code der nicht falsch ist und im Ergebnis dasselbe wie die Division liefert.
-
Thread
Problem bei SingleShunt Strommessung
TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_Period = 4095; TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); TIM_UpdateRequestConfig(TIM3, TIM_UpdateSource_Global); TIM_UpdateDisableConfig
TIM_CounterMode_CenterAligned1; TIM_TimeBaseStructure.TIM_Period = 2048; TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); TIM1->CR1 |= TIM_CR1_URS; // Nur Over- bzw. Underflow erzeugt Update event
-
Thread
Suche Softcore Alternative mit Compiler und Debugger
Hi Michael, die nackte CPU, *ohne* Cache und HW-Divider (Division wird intern emuliert) aufm Spartan6: [code] Slice Logic Utilization: Number of Slice Registers: 1,726 out of 54,576 3% Number of Slice LUTs: 2,367
-
Thread
Division eines Floatwertes mit sich selbst ergibt nicht 1
implizit in "int" gecasted, so dass dort der Wert 33381 steht. Das Gleiche nach der anschließenden Division, zunächst ergibt sich hier (33381 / 130.9 = 254.9). Dieses Ergebnis wird aber wiederum implizit in Integer gecasted, daher ergibt sich 254.
ne das steht in dem Betreff: Division eines Floatwertes mit sich selbst ergibt nicht 1
-
Thread
Renteninformation 2016 noch nicht erhalten?
hoch wird sie laut Prognose sein, deine Rente? Vergesst in der Euphorie dann aber nicht, daß Division durch Null nicht erlaubt ist. MfG Paul
Paul B. schrieb im Beitrag #4672561: > daß Division durch Null nicht > erlaubt ist. Erlaubt schon, aber das Ergebnis ist nicht definiert.
-
Thread
Frequenzteiler HC393, ein Rechtecksignal funktioniert, das andere nicht
kurz wie möglich. > > Schau dir mal die Flanken der Signale an bei 500 oder weniger ns pro > Division. Und mit kurzem Gnd-Stripperl der Probe. > > Jeder mm Draht hat ein paar nH Induktivität, bei steilen Signalen > ergeben sich wunderbare Schwingkreise mit den Eingangskapazitäten der > ICs.
alles wie erwartet. > Schau dir mal die Flanken der Signale an bei 500 oder weniger ns pro > Division. Und mit kurzem Gnd-Stripperl der Probe. Blitzsauber, aber das waren sie schon vorher.
-
Thread
ATmega1284p lässt sich nur einmal laden
bits will be reset to “0000”. If CKDIV8 is programmed, CLKPS bits are reset to “0011”, giving a division factor of 8 at start up." Wenn aus deinem Bericht kommt, daß " If CKDIV8 is unprogrammed, the CLKPS bits will be reset to “0000”" nicht funktioniert, ob das auch für programmierte CKDIV8 gilt?
-
Thread
[AVR GCC] "Speicherfresser" finden?
z.B. mathematische Funktionen. Ich habe das z.B. benutzt um zu klären, ob etwa Multiplikation und Division dazugelinkt sind, obwohl ich nur die Multiplikation brauche, usw. usw. Wie man die Division dann los wird ist wieder eine andere Frage. Georg
-
Thread
Größe von einem "struct Array" bestimmen?!
vermieden werden. Abgesehen davon bin ich bei der Ausnutzung statischer Arraygrößen (via sizeof-Division) eh vorsichtig, weil einem sowas ganz schnell knallt, sobald man das dann z.B. im Mockup auf dem PC doch mal auf dynamisch allozierten Speicher umstellt. Dann lieber mit Größen-Defines, denen es egal
#5293055: > > Abgesehen davon bin ich bei der Ausnutzung statischer Arraygrößen (via > sizeof-Division) eh vorsichtig, weil einem sowas ganz schnell knallt, > sobald man das dann z.B. im Mockup auf dem PC doch mal auf dynamisch > allozierten Speicher umstellt. Dann lieber mit Größen-Defines, denen
-
Thread
HC-SR04 Ultraschallsensor + 7-Segment Anzeigen Problem mit Ausgabe wenn kein Objekt detektiert wird
Wert counter in der ISR maximal annehmen kann. Führe keine Berechnungen (besonders keine Division) in der ISR durch. Entferne die Deklaration von counter in der ISR, und ersetzte volatile uint16_t time = 0; durch volatile uint16_t counter; Alle Berechnungen
der Kompiler eine 32-Bit Rechnung macht. Eine 16-Bit Variable würde überlaufen. Die abschließende Division durch 4096, die der µC durch eine einfache Schiebeoperation umsetzen kann, rückt alles zurecht. Das Berechnen der Skalierungskonstante 2997 wird man besser dem Compiler überlassen, damit man später
-
Thread
Bildbearbeitung: LCD-Inhalt rekonstruieren
Meine ersten Versuche mit "Ebene duplizieren" -> Weichzeichnen mit 300 Pixeln Radius" -> "Ebene: Division" und daraus den Schwellwert bestimmen haben schon eine leichte Verbesserung gebracht, aber die Abdunkelung in der oberen linken Ecke kann es nicht so richtig ausgleichen.
stellen, sonst rechnet er ewig) - dann mit den Ebenenmodi und der Deckkraft spielen. meist ist Division oder Bildschirm ganz gut bei Division eventuell die Deckkraft etwas reduzieren ein normaler Mittelwertfilter scheint mir dafür besser geeignet zu sein, aber den habe ich im GIMP bisher vergeblich
-
Thread
Verwendung der frühesten Computer
Die Z1 und Z3 konnten bereits Gleitkommaoperationen (Addition, Subtraktion, Multiplikation, Division und Quadratwurzel) in Hardware ausführen. Im Gegensatz zu einem AVR-Controller, bei dem diese Operationen immerhin fast 1,2 kB Programmspeicher auffressen, waren sie bei den Zuse-Rechnern also
Die Z1 und Z3 konnten bereits Gleitkommaoperationen (Addition, > Subtraktion, Multiplikation, Division und Quadratwurzel) in Hardware > ausführen. Ja, sowas liest man immer wieder, scheint mir aber schwer zu glauben. Die Maschine arbeitet binär mit Fließkommazahlen. Aber ich glaube mal nicht,
-
Thread
Benchmark bei verschiedenen addierern
multiplizierern und ähnliches "Eigenkreationen" zu entwickeln? Wie schaut es da mit der modularen Division aus? Gibt das Synthesetool eigentlich Fehlermeldungen aus, wenn man z.b. das "%" verwendet und dieses nicht synthetisierbar ist?
Taktfrequenz. Ist wohl vor allem fuer die Profi-Codeknacker ein KO-Kriterium... Aber ein Modulo oder eine Division oder Wurzel oder ARCTAN oder oder must du aus den vorgegebenen Elementen (LUTs) zusammenbasteln.
-
Thread
int nach 'Bar graphic' konvertieren
Letter war. Das Ganzzahlergebnis als Anzahl der Vollblöcke aufs Display schicken und der Rest der Division war die Nummer des Sonderzeichens. Also 0 für keinen vertikalen Strich, 1 für einen Strich usw. Die Sonderbehandlung des Leerzeichens habe ich mir m.E. damals gespart. Die Sonderzeichen sahen genauso
-
Thread
OFDM Sendesignal
eine Seite mit hübsch anschaulichen Bildern: http://en.wikipedia.org/wiki/Orthogonal_frequency-division_multiplexing Um von dort aus die komplette mathematische Beschreibung zu erhalten, sollte man anstelle der FFT die Formel für DFT einsetzen: http://en.wikipedia.org/wiki/Discrete_Fourier_transform
-
Thread
Suche Komplettporgramm für ADC in C
rechnen. Wieso /Modulo/ ? Du weißt, was Modulo macht? Hier muss, wenn überhaupt, dann eine normale Division her. Der /Rest/ der Division interessiert hier nicht.
Genau! Er will schließlich, dass schon bei 0 < result < 50 eine LED leuchtet. Da käme bei der Division aber 0 raus, deshalb muss das Divisionsergebnis um eins erhöht werden.
-
Thread
ATmega8 und UART => Code bringt Einsteiger zum Verzweifeln
t.html Im switch geht auch sowas: [c] switch (dividend.quot) //�berpr�fen des Divisionsergebnisses { case 0: case 1: case 2: case 3: case 4: case 5: UART_SendByte ('0' + dividend.quot); UART_SendByte ('.'); break; default
-
Thread
Mehrere Sensoren direkt an einzelnem ADC? Gesperrt
exakt zu verdoppeln, da man hierdurch mit einer einfachen Schiebeoperation statt einer langwierigen Division die Berechung durchführen kann. Sonst entsteht durch Rundungsfehler ein Rauschen, das bei kleinen Signalen die Messung verfälscht bis unbrauchbar macht. Thomas R. schrieb im Beitrag #2128134
-
Thread
Mega8 Temperatur Drehzahlregler
ms. Und jetzt: siehe oben!!! Wie kriegt man raus, wie oft eine Zahl, in eine Andere reinpasst? _Division_! Denkweise: für eine Umdrehung brauch das Ding 58,62 ms (oder auch 0,05862 s). Das heißt ich schaffe in 1s... ähm... 1 / 0,05862 = 17,06 Umdrehungen! Pro Minute sind das also... ähm... 17,06 *
-
Thread
ADC Vergleichen und Variable ändern
ich denke du bist auf der Suche nach einer linearen Gleichung und nicht einfach nur nach einer Division. Temp = ADC_Wert * Konstante + Offset Du kennst 2 Wertepaare Bei einem Messwert von 604 müssen 20 rauskommen Bei einem Messwert von 606 müssen 21 rauskommen Also 20 =
-
Thread
Mit Atmega32 Meter auswerten
zufällig' sind 1765 Millimeter auch 1,765 Meter :-) % ist in C der Modulo-Operator (=Rest einer Division). So wie in: Eine Mutter hat 8 Äpfel und 3 Kinder. Wieviele Äpfel bleiben der Mutter übrig, wenn jedes Kind gleich viele Äpfel bekommt? (Wieviele Äpfel bleiben übrig, wenn man von der Gesamtzahl die
-
Thread
Hadamard Transformation
Fourier definitiv einfacher ;-) Ich habe vom Eingangs- und Ausgangssignal die FFT berechnet, dann die Division berechnet und die inverse FFT gerechnet. Dann habe ich sowas wie ein Bode-Diagramm erhalten. Interessanterweise habe ich hier: https://www.spsc.tugraz.at/sites/default/files/PA_Mikula_mehrkanalige_Impulsantworten.pdf
-
Thread
Mega 2561 und Heliostat-Projekt
library supports the basic operations : Addition (+) Substraction (-) Multiplication (*) Division (/) Val() , INPUT Str() , PRINT Int() Frac() Fix() Round() Conversion from double to single and long Conversion from single and long to double The double library uses special Mega
-
Thread
Gleitkommaberechnung
gebrauchen darf. Profiprogrammierer werden sicherlich feststellen, daß Multiplikation schneller als Division abläuft. Folgt daraus nun, daß man keine Divisionen mehr machen darf ?
Multiplikationsfkt. des Prozessors nicht genutzt werden. >>Folgt daraus nun, daß man keine Divisionen mehr machen darf ? << In schnellen Echtzeitanwendungen sind Divisionen, auch integer, tödlich. Die werden mit multiplizieren/Schieben gemacht. >>Und der Umstand das jemand kein 'float' braucht
-
Thread
Kommastelle
bringt, da das nur ein reiner linksshift ist. Ergo: Ein einziger Takt benötigt. Für eine echte Division bist du locker 50 los...
keine Milchmädchenrechnung, sondern eine Managerrechnung, weil die Division an printf() delegiert wird, und delegieren ist ja die Schlüsselqualifikation des Managers.
-
Thread
lineare Frequenzänderung erzeugen (AVR)
Das ist eine 1/x-Funktion, also eine Hyperbel. Die berechnet man mit einer Division, das dauert zwar, aber ist dann exakt. http://www.mikrocontroller.net/articles/AVR_Arithmetik#Division http://www.atmel.com/dyn/resources/prod_documents/doc0936.pdf AVR200: Multiply and Divide
-
Thread
Arduino Compiler/Linker command line switches für ein Projekt setzen
32-bit Integer die Arbeit > mindestens gleich gut erledigen könnte. Lustiger Weise ist eine Division in float auf dem AVR sogar schneller, als mit int32. Float rechnet nämlich nur mit 23 Bit Mantisse. Flash kostet auch nur der erstmalige Aufruf einer Funktion, jeder weitere Aufruf kostet einfach
-
Thread
Wie gut ausfallsicher ist Eure IT?
noch ein MULTI-DIVI bereit, mit dem Multiplikationen (3,3 Stellen × 2,3 Stellen -> 5,6 Stellen), Divisionen, Quadrate, Wurzeln, Logarithmen u.v.m. berechnet werden können. Die Gesamtverfügbarkeit dürfte so grob bei 99,999999999% liegen. Das ist zwar nicht perfekt, für Hobbyzwecke aber durchaus ausreichend
-
Thread
PiPico2 Frequenzzähler
? Der Pico2 hat zwei FPUs, bei float Addition und Multiplikation innerhalb eines Taktzyklus, Division innerhalb max. acht (IIRC) Double braucht mit dem CoPro etwas länger, was aber an der Stelle völlig egal ist. Ich könnte mir vorstellen, dass der ganze multiple Arduiono Überbau/Abstraktion einer
-
Thread
DCF77-Uhr mit ATTINY12
64 + 128 ) / 256 = xtal/4 + 0.5 aber beim Rechnen mit INTEGER zieht man die Rundung vor die Division.
-
Thread
ARM Cortex M3 für Dummies
der M4 "nur" float in Hardware. Andererseits haben die M0 nicht einmal einen Befehl für Integer-Division. Ansonsten gibt es zwischen M7 und M4 vor allem kleine, subtile Unterschiede, z.B. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka16867.html https://en.wikipedia.org/wiki/ARM_Cortex-M
-
Thread
Lange Variablen?
Prozessor einen 24bit Wert erzeugt und darauf dasn +, -, *, / implemnetiert (Multiplikation udn Division sind über ABziehen/addieren gelöst)
> @ Läubi: > Ja sowas in die Richtung muss ich bauen, nur ne Division mit > abziehen zu realisieren is denke ich ned die eleganteste Methode > vor allem bei sehr großen Zahlen. Dann erinnern wir uns wieder an die Grundschule und machen die Division wie damals.
-
Thread
-
Thread
nach dem PhD
wechseln. Bei den Grosskonzernen wie EADS, Hensoldt und Siemens, die aus extrem unterschiedlichen Divisionen bestehen, gibt es eigentlich immer irgendwelche Bereiche, die unterbesetzt sind. Dort kann man gut reinkommen. Wobei auch dort gilt, dass die guten Positionen immer intern besetzt werden, weil die