-
Thread
ADC widerstand
4.995V oder 5V anliegt. Nimmst du 1024, hast du bei der umgestellten Gleichung keine Probleme mit Division durch 0.
letzte Bit ignorieren. Man muss einfach wissen, was dahintersteckt. *Technisch* korrekt ist die Division durch die Zweierpotenz. Für die *visuelle* Anzeige /kann/ man dann auch mal tricksen und den Anzeigewert schön /hinbiegen/. Man muss also die Sache /bewerten/ und sagen: wenn ich bei einem 12Bit
-
Thread
Phasenverschiebungsmessung bei 50kHz
der Inphase- und der Quadratur-Anteil; über den Pythagoras bekommt man die Amplitude, durch Division des I- und Q-Anteils durch die Amplitude erhält man den Koeffizienten für Sinus- und Cosinus-Anteil. Aufgrund der vier möglichen Vorzeichenkombinationen deckt man alle vier Quadranten ab,
-
Thread
PIC-Mikrocontroller Buch
through (expr - 1). Also, expr is evaluated once before entering the block. Multiplication, division, and shifting are part of the language. Shifting is always done inline, whereas multiplication and division are implemented as functions. Only one version of each is created -- the one that can
-
Thread
Digitaler Temperatur Sensor Ungenau? DS7505
mit dabei (Da ist auch eine Funktion mit dabei, welche dir die Ausgabe fürs Display ohne deine Division macht)
-
Thread
Register von uCs Gesperrt
angeschaut. ldi r16, 109 ; Dividend ldi r17, 9 ; Divisor ; Division r16 : r17 ldi r18, 8 ; 8 Bit Division clr r19 ; Register für die Zwischenergebnisse / Rest clr r20 ; Ergebnis Die Programme arbeiten immer ab dem Register
-
Thread
Temperatur Messung Assembler
inkrementiert wird??? Falls ja, würde ich den Mittelwert über 2 mal logisches rechts verschieben (= Division durch 2) errechnen. Und dann den Wert dann speichern. In der Anlage habe ich mit Powerpoint einen Programmablaufplan erstellt. Wäre meine Überlegung prinzipiell richtig? Desweiteren würde
um? hab im Orgler ein Code gefunden der nich ganz ohne is und lang, Hoffe ich kann die "mV" also Division durch 1000 irgendwie komfortabler ausdrücken kann?? Viele Grüße p.s. Medientechniker können als Planungsingenieure für Konferenz, Medienproduktionstechnik, Audio&Videotechnik eingesetzt werden
-
Thread
Float-Berechnung auf 8051 mit SDCC
float to ascii) selber. Die Konvertierungsmethode ist ja nichts weiter als eine Ansammlung von Divisionen (für jede Stelle eine...). Die kann man auch durch eine Reihe von Schleifen realisieren: unsigned char Ausgabestring[8]; Tausender = 0; while (floatzahl > 999.99) { Tausender++; floatzahl
wnn ich 5 Volt einspeise, und den ADU-Wert umrechne, ich auch 5 Volt bekommen will, deshalb die division durch 2^Anzahl_Bit-1. beim 1 Bit ADU bin ich mir nicht so sicher, aber ich würde jetzt mal sagen, das ist ein sonderfall. (Du kannst ja direkt rechnen: Wert_ADU * Vref; wenn der ADU 1 liefert und
-
Thread
Prozentrechnung
hast du dir mal die Multiplikations- und Divisions-Application Notes auf atmel.com angeguckt? Bernhard Schulz hat die auch in der Codesammlung zu "papier" gebracht. Allerdings für 32Bit.
Nun, dann hab ich dir den Weg doch gezeigt. Ersetze das ">>8" durch eine Division durch 255. Ist etwas genauer, aber langsamer. Musst halt sehen, ob du die Genauigkeit brauchst. Aber, Assembler lernen musst du schon selber. MW
-
Thread
frequenzvervielfacher
Frequenzen natürlich auch eine Möglichkeit. Der Controller muß nur den Kehrwert bilden, also eine Division.
-
Thread
ADC Programm
muss ich mir erst genauer ansehen, > morgen :-) div() hat den Vorteil, daß es dir gleich Divisionsergebnis und -rest zusammen zurückgibt. Bei einer Integer-Division fällt der Rest automatisch als "Abfallprodukt an". Wenn du die Operatoren / und % benutzt, werden zwei Divisionen durchgeführt. Bei einer
Ergebnis verwendet und der Rest weggeworfen, bei der anderen umgekehrt. Mit div() braucht's nur eine Division.
-
Thread
16 bit Div durch 100 bei AVR Mega32
Mal ein Beispiel für eine Division durch 10: DivBy10 unsigned int A; unsigned int Q; // the quotient Q = ((A >> 1) + A) >> 1; // Q = A*0.11 Q = ((Q >> 4) + Q) ; // Q = A*0.110011 Q = ((Q >> 8) + Q) >> 3; // Q = A*0.00011001100110011
-
Thread
LM75 am Atmel 128 mit TWI_Master
im Original geschrieben hat, warscheinlich weniger Speicher Platzaufwendig ist, da keine float Division gebraucht wird. Die einzige float Rechnung die bei Hans gebraucht wird, ist die Addition vom Halb-Bit. Gruss, Gerhard
ausgibt fuer -0.5 Es ist ein ganz normales Zweierkomplement. Damit arbeitet jeder Compiler. >Division gebraucht wird. Die einzige float Rechnung die bei Hans >gebraucht wird, ist die Addition vom Halb-Bit. AHHHH! Was bitte? Halb-Bits? MFG Falk
-
Thread
Arduino Temperatursteuerung, Prüfung alle 5 Minuten
Ausgaben von Soll und Isttemperatur. Je nach dem wie geschickt du dich anstellst vieleicht sogar Division und/oder ein Modulo. Wenn man mit aller Gewalt etwas Speicher sparen will, würde ich das special character eliminieren und das Grad Zeichen von Position 0xDF aus dem LCD Character ROM nehmen.
-
Thread
Rest Bestimmen in Float
Hallo Markus, ich verwende für die float division einen IP Core von Xilinx. Der gibt das nicht her. Oder was hast du genau gemeint? Grüße, Jens
> (2*Pi*i/N) > > Würde ich in Integer rechnen dann macht mir das eine Modulo-Division. > Aber wie kann ich das in float machen? Den Modulo auf i anwenden: 2*Pi*mod(i,N)/N
-
Thread
ASM-Nachoptimierer
ein float verwendet anstelle des eigentlich auch geeigneten Bytes oder wenn ein aufwendige Divisionsroutine in den Programmspeicher geschrieben und dann ausgeführt wird auch wenn nur die ein Division x=x/2 im Programm steht wofür nur ein rrf-Befehl nötig ist.
-
Thread
Fullduplex über 1 Kabelader (+ GND) möglich?
Ohne WDM (Wavelength Division Multiplex), mit dem - stark vereinfacht - z.B. über Prismen "mehrere Farben gleichzeitig" über eine Glasfaserstrecke geschickt werden, gäbe es heute kein *richtig* breitbandiges Internet.
-
Thread
PSD Sensor vorspannen.
Die digitale Division ist genauer. Habe ich Ende der 80er so gemacht. 16Bit AD und MC68K. Heute würde ich die AD-Wandler beim PSD lassen und digital übertragen.
-
Thread
ADC: 16 Bit in 10 Bit
fehlt mir momentan der Unterschied / > Vorteil. Ist auch kein Vorteil, aber wenn man sich eine Division statt eines Shifts angewöhnt, stellt sich die Vorzeichenfrage garnicht erst ;)
-
Thread
Widerstandsbezeichnung in Schaltplan.
, weil die Schaltplansoftware keine griechischen Buchstaben kann, und stellt das "/" kein Divisionszeichen dar, sondern deklariert die nachfolgende Zahl als Spannungsfestigkeit.
-
Thread
WinForms C# System.IO.Ports
errorDescription = "Ein oder mehrere Parameter im EEPROM nicht gesetzt (Folge: Division durch 0)."; break; case 54: errorDescription = "Hardwarefehler (PLL)."; break; case 55:
-
Thread
Bitshift schlecht implementiert?
oftmals dumme Schleifen (wie auch hier), oder bei y=x/128 wird kein Shift verwendet, sondern die Divisionsroutine, da der Aufruf kürzer ist (vorausgesetzt die Routine wird wo anderst sowiso benötigt). Die Geschwindigkeitssteigerung liegt je nach Code bei bis zu >100%.
einem Mega der eine HW-MUL hat direkt umgesetzt. Da wird keine Laufzeitbiliothek benötigt. Bei der Division ist das was anderes. Das Beispiel aus diesem Thread arbeitet nicht mit 32Bit Zahlen sondern nur mit Bytes. Normale Shifts die nicht 8,16,24 sind werden als simple Schleifen gebaut. Ein Byte
-
Thread
Mehrere DS18B20 mittels Multiplexer an ATmega32
); lauten. Das (int16_t) ist überflüssig, dürfte aber zu einem Performancegewinn führen, da die Division somit nur als 16 und nicht als 32 Bit Rechnung durchgeführt wird. Es gibt allerdings keine Gründe, die gegen den Einsatz von temp * 625L sprechen, außer eventuell eine leicht verlorene Übersicht
Operatoren gleichen Typs ausgeführt werden kann. Kleine Operatoren werden auf grosse erweitert. Die Division ist dann auch eine 32 / 32 Bit Division. Alles paletti. [c] temp1 = (int16_t) ((int32_t)(temp * 625) / 1000); [c] Hier wirds komplizierter. zunächst wird temp*625 bearbeitet, sethe ja in
-
Thread
einfacher, kleiner(!) Pseudo Zufallsgenerator gesucht
Multipikationen per Software durchgeführt werden müssen. Desweiteren benötigen die meisten LCGs auch noch die Division, eg. modulare Reduktion. Über die beiden Polynome, Polynom_S und Polynom_A und den 1000 mitgelieferten Polynomen in lfsr.inc kann man den PRNG, eg. die LFSRs individuell konfigurieren. Es gibt also
-
Thread
Wie optimiert man Systematisch (AVR GCC)
optimieren kann, wie ich mir das vorstelle. Hatten wir letztens hier im Forum: Der Compiler konnte eine Division nicht durch Schiebeoperationen ersetzen, weil er nicht davon ausgehen konnte das die beteilgten Zahlen immer positiv sind. Ein entsprechender Hinweis (mit einem zusätzlichen unsigned) ermöglichte
-
Thread
Merkwürdigkeit bei /= Operator
für welche? Eine davon heißt ganz sicher > Obfusca ;-) Ich habe dabei mal grosszügig / als Division und * als Multiplikation verstanden, wenngleich das zumindest in der Originalversion der Sprache etwas anders aussieht. Aber es gibt auch Abirrungen die mit ASCII arbeiten. Und die Logik der Rechenweise
-
Thread
Führungskräfte - Gehalt und Qualifikation
- Abteilungsleiter (AT): ca. 110.000 - 120.000 € p.a. - Geschäftsbereichsleiter: ???? - Divisionsleiter: ????? Wieso hat ein Abteilungsleiter eigentlich soviel mehr als ein normaler Ing? - fachliche Qualifikation kann es nicht sein, wir haben Führungskräfte die fachlich geringer qualifiziert
p.a. - Abteilungsleiter (AT): 95.000 € p.a. - Geschäftsbereichsleiter: 105.000 € p.a. - Divisionsleiter: ????? (nein, es geht mir nicht darum, daß meine Vorgesetzten alle 'blöd' sind und wir Entwicklungsingenieure die einzigen mit Durchblick sind. Die Vorgesetzten sind hier alle tip-top, wir
-
Thread
Mathe "Quiz"
Punkt, bei dem viele sagen, deswegen käme 1 raus. Oder man müsste erst mal rechnen und dann die Division.
Timm Reinisch schrieb im Beitrag #3173548: > Eine Division ist aber keine Multiplikation Aber man kann eine Division in eine Multiplikation überführen: 12/4=12*4^(-1) Ich würde so vorgehen: - Potenz vor Punkt vor Strich (sollte allen bekannt sein)
-
Thread
Arduino Mega 2560 verwirrt oder ich?
Ich denke nicht, dass da irgendwas sinnvolles rauskommt. period ist ein long, damit kann diese Division nur 0 oder 1 ergeben. Hauptsächlich aber 0. Und selbst wenn da das Problem korrigierst, kann da nur ein Wert zwischen 0 und 1 rauskommen. Daher ist sowas > if(freq >= 9 && freq <= 11) völlig
Ich denke nicht, dass da irgendwas sinnvolles rauskommt. period ist ein > long, damit kann diese Division nur 0 oder 1 ergeben. Hauptsächlich aber > 0. Bzw. jetzt sehe ich es erst. Das zieht sich ja noch weiter vor. period = (high+low)/1000000; freq = 1/period; period ist praktisch ständig
-
Thread
STM32F429 CAN
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); // Timer 2 konfigurieren TIM_TimeBaseInitTIM.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseInitTIM.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInitTIM.TIM_Period = 700; TIM_TimeBaseInitTIM.TIM_Prescaler = 17999; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitTIM
-
Thread
Sinussignal mit sehr hoher Frequenz erzeugen
browse.jsp?N=204637+310306564+310306186&No=0&getResults=true&appliedparametrics=true&locale=de_CH&divisionLocale=de_CH&catalogId=&skipManufacturer=false&skipParametricAttributeId=&prevNValues=204637&mm=1001816||,&filtersHidden=false&appliedHidden=false&autoApply=false&originalQueryURL=%2Fjsp%2Fsearch%2Fbrowse.jsp%3FN%3D204637%26No%3D0%26getResults%3Dtrue%26appliedparametrics%3Dtrue%26locale%3Dde_CH%26divisionLocale%3Dde_CH%26catalogId%3D%26skipManufacturer%3Dfalse%26skipParametricAttributeId%3D%26prevNValues%3D204637
-
Thread
Bascom DCF77 Parameter
dämliche Berechnung nach eigenen Überlegungen durchzuführen? Ist ja mehr oder weniger "nur" eine kluge Division durch 7 und dann schauen was man mit dem Rest anfangen kann.....Das haben wir vor mehr als 30 Jahren - weil uns fad war - in der Schule mit dem TI52 (oder dieser kleine programmierbare Schultaschenrechner
-
Thread
AD9850-Modul mit AtMega steuern
www.mikrocontroller.net/topic/43400#2415715 Aus alle dem ist eine, für mich, schnelle 64-Bit Multiplikation und Division 'abgefallen'. richie schrieb im Beitrag #2714369: > B e r n d W. schrieb: >> L = long = int32_t >> UL = unsigned long = uint32_t >> ULL = unsigned long long = uint64_t >> usw. > > braucht
-
Thread
einfache Ton-Signalauswertung
// aber es kommt ihm nahe genug für unsere // Zwecke und braucht nur eine Division und // eine Multiplikation. Wers nicht glaubt: // einfach mal die Funktion plotten von 0 bis 2pi. int16_t scale = (abs(I) + abs(Q)); int32_t phase_error
-
Thread
VGA Textmode - 22% Logikgatter
durchkauen (Lauflicht) und sauber ausformulieren. Und sich ausserdem klarmachen, das Multiplikation und Division bzw. Modulo-Ops grosse Resourcenfresser sind und uU nicht ohne Weiteres synthetisierbar sind. Zum Code selbst: if pixelCounter > 112 AND pixelCounter < 752 AND lineCounter > 13 AND lineCounter
-
Thread
Lange Rechenzeit von kurzem C-Code
[c]if ((currentmicros - previousmicros) > interval)[/c] Hier brauche ich eine Klammer um meine Division! Wie kommt das? Ich habe hier ein Buch über C liegen, in dem steht eine Tabelle über die Reihenfolge von Bearbeitungsschritten. In dieser Tabelle sind die Rechenoperatoren (wie in diesem Fall Minus
]if ((currentmicros - previousmicros) > interval)[/c] > Hier brauche ich eine Klammer um meine Division! Subtraktion. Aber egal. Nein, du brauchst keine Klammern. Was immer der tatsächliche Fehler war, die Klammern lösen ihn nicht.
-
Thread
Belasteter Spannungsteiler
eingeschlagen, um die Aufgabe mit minimalem Rechenaufwand zu lösen, und jetzt, wo du nur noch eine Division und eine Subtraktion vom Ziel entfernt bist, klappst du zusammen? Nein, das kann nicht sein. Fast hätte ich dich deswegen als Troll verdächtigt :)
Dadurch sparst du dir eine Rechenoperation. Deswegen schrieb ich oben auch, dass du nur noch eine Division und eine Subtraktion vom Ziel entfernt bist. Dein Ansatz hat den großen Vorteil, dass keine Gleichung (und erst recht keine Gleichungssystem) aufgestellt und nach einer Variablen aufgelöst werden
-
Thread
10 bit ADC wert verarbeiten
udn 32x32 Multiplikation (jeweils signed/unsigned) und das alles in die Gegenrichtung - sprich Division. (den ganzen Source gibt es auch als ZIP-File!) Man muss sich natürlich in die verwendtet Datenstruktur der Parameter einarbeiten, aber der Zeitaufwand lohnt falls man wirklich in Assembler aufwändigere
-
Thread
Frage zu selbstgeschriebener Funktion - Laufzeit gegenüber Compiler-Variante
Interesse mal ausprobiert, in wie weit sich Codegröße und Laufzeit gegeneinander verhalten, wenn man Divisionen und Multiplikationen anstatt mit den üblichen Operatoren "/" und "*" rein durch Addition und Subtraktion durchführt. Ich habe mir dazu selber eine Funktion geschrieben, die sowohl teilt, als auch
-
Thread
drehendes Solarpanel
können. Einfachst sind Sachen wie Addition, Subtraktion. Einfach ist die Multiplikation und Division. Die meisten können auch noch Zinsrechnung, die Grundlagen(!) der Algebra und Geometrie, Bruchzahlen und Dezimalbrüche - also immer noch recht einfach - aber schon das ist nicht mehr als "Einfachst
-
Thread
STM32F1 Brushless Motor Steuerung
TIM_TimeBaseStructure.TIM_Period = TimerPeriod; //2800 - 1; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); TIM_UpdateRequestConfig(TIM1, TIM_UpdateSource_Global); TIM_UpdateDisableConfig
TIM_TimeBaseStructure.TIM_Period = TimerPeriod; //2800 - 1; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); /* Channel 1, 2 and 3 Configuration in PWM mode */ TIM_OCInitStructure.TIM_OCMode
-
Thread
EMV Probleme mit SDIO Interface
mir auch > komisch vor (gemessen mit einem 100MHz Oszi). Ja sehr! CLKDIV auf 5 gestellt (d.h. Division des 48MHz-Takt durch 7)? Im RefMan heißt es ja: SDIO_CK frequency = SDIOCLK / [CLKDIV + 2]. Zeig mal deine SDIO-Initialisierung. Sicher dass der Systemtakt korrekt ist? Vielleicht mal den Quarz
-
Thread
Durch 10 teilen
Routing nicht vertun. Aber mal im Ernst: Ihr beiden spendiert ein fettes ROM für eine simple Division?
Wege nicht gehen:-) >Aber mal im Ernst: Ihr beiden spendiert ein fettes ROM für eine simple >Division? Wie ich bereits schrieb, ist das eigentliche Ziel der Vorgehensweise nicht primär, einfache Multiplikationen (oder hier Divisionen) zu ersetzen, die in den allermeisten Fällen schnell genug laufen
-
Thread
CNC Kreis mit konstanter Geschwindigkeit fahren
dem Algorithmus zu sehen? > warum muß er schnell sein? Muß er nicht unbedingt, aber sind Divisionen, Multiplikationen,... nicht auf den meißten MCUs relativ langsam? > Wie schnell wird gefräst? Noch garnicht, ist alles noch in der Planungsphase. Wenn man mal von max. 2000mm/min (33,33mm/sec
Bernd wrote: > Muß er nicht unbedingt, aber sind Divisionen, Multiplikationen,... nicht > auf den meißten MCUs relativ langsam? Im Relation dazu ist deine Fräse schnarchlangsam.
-
Thread
assemblerbefehle
wäre die ganze Behandlung in udi20 für die Katz, weil sie nie benutzt wird. Der ganze Divisionsalgorithmus ist ein stinknormaler Divisions-Algo, der sich lediglich den Dividenden ansieht, ob Operationen eingespart werden können. Wenn das höchstwertige Byte vom Dividenden nicht 0 ist, dann müssen
und dieselbe Idee mit den Mitteln von B ausdrückt. Hier ist die grundlegende Idee hinte einer Division http://www.mikrocontroller.net/articles/AVR-Tutorial:_Arithmetik8#Division
-
Thread
Wie addiert man digitale Audiosignale?
rechnen? Interessante Idee! Dann müßte man intermediär mit zwei Bytes rechnen, aber nach der Division käme man wieder mit einem Byte aus. So wie ich das sehe, macht es fast keinen Unterschied, ob man die Amplituden vorher oder nachher halbiert. Wobei die zweite Variante wahrscheinlich weniger "
ungenutzt lässt, indem du 6 dB Headroom lässt oder ob du vor der Addition das Bit entfernst durch Division durch 2.
-
Thread
Eigenbau-"Poti" mit Fotodiode
Deinem Fall auch ein PSD eine mögliche Lösung: http://sales.hamamatsu.com/en/products/solid-state-division/position-sensitive-detectors/one-dimensional.php
-
Thread
Mathe mit dem ATMega32
von 0 bis 32000 befinden können. time0 ist dabei mindetens so > groß wie time1. Problem 1: Division durch Null tut nicht so gut. Problem zwei: Du rechnest mit Integern aber verwendest eine Division. > pos1 und pos0 liegen immer zwischen 0 und 359; > > Ein Beispiel: Nimmt man an: > > pos1
> Man kann auch einfach die Division noch eine Stufe nach rechts schieben. > a/b + c <==> ( a + c ) / b Irgendwas stimmt da aber nicht ;)
-
Thread
Effektivwert einer Rechteckwechselspg. berechnen
Rechteckwechselspannung auch im Kopf ausrechnen. Die größte Herausforderung dürfte bei den obigen Zahlen die Division durch 7 sein. omg
Rechteckwechselspannung auch im Kopf ausrechnen. > Die größte Herausforderung dürfte bei den obigen Zahlen die Division > durch 7 sein. > omg Klar, Wurzelziehen geht ja mit jedem beliebigem Abakus. ;-)
-
Thread
CRC von Hand (mit Startwert) berechnen
wenn eine 0 am Ende steht dann endet die Division eins vorher, steht aber eine 1 am Ende dann läßt sich halt noch mal dividieren (falls kein Fehler in der Übertragung war)
schriftlichen Dividieren wuerde man auch frueher aufhoeren, einfach stumpfsinning den bekannten Divisionsschulalgorithmus mit den veraenderten Operationen anwenden.... >Hmmm, so ganz habe ich >das "System als Ganzes" wohl noch nicht verstanden... Wenns hilft ggf. auch mal rechts (wie gewohnt) das Divisionsergebnis
-
Thread
1023 auf 100% umformen
Prozent = Wert / 1024 * 100 um die Division zu vermeiden kannst du erstmal x = Wert * 100 rechnen und dann das Ergebnis (16 Bit) um 10 Bit nach recht's schieben was einer Division durch 1024 entspricht.
allerdings könnte die division durch 1024 probleme machen: der maximale wert, den der ad-wandler liefert ist ja 1023, d.h. wenn man den prozentwert mit prozentwert = ad_wert * 100 / 1024 berechnet, kommen maximal etwa 99.90%