-
Thread
Problem bei Einlesen der Analogwerte
Ausserdem setzt [c]ADCSRA |= (1<<ADSC); [/c] das Bit einmalig high, und da bleibt es dann auch. Ich nehme an, du solltest es irgendwo auch wieder auf low setzen (nach der Wandlung?)
Hi >...dass Bit 2 von ADSC nicht sofort nach "ADCSRA |= (1<<ADSC);" auf high >geht. ADSC *ist* Bit6 von ADCSRA. >Ausserdem setzt >ADCSRA |= (1<<ADSC); >das Bit einmalig high, und da bleibt es dann auch.
-
Thread
[S] 8 Bit ISA Graphikkarte
Moin Suche so'n Ding, muss zwingend 8 Bit sein, nicht 16 Bit. Ebay gibt im Moment nix her.
aktuellen Monitor dran und CGA+EGA allenfalls noch an einen Fernseher. Monitore der letzten ~15 Jahre setzen üblicherweise mindestens die Zeilenfrequenz von VGA voraus, Es ist zwar nicht stilecht, aber wenn dem 2. Stecker nichts mechanisch im Weg steht lassen sich manche 16bit ISA Karten auch in einem
-
Thread
Kleine Frage zu TWI bzw. I²C Ansteuerung
beschreiben (bzw. ein Segment von der jeweiligen Page). Ich lese etwas von "Data/Command Section Bit" und "Continuation Bit". Natürlich sagt der Name bereits alles, aber wie und in welcher Reihenfolge setze ich das "Data/Command Bit"? (In dem Diagramm vom Hersteller ist das nicht ganz ersichtlich
int 21h schrieb im Beitrag #5694376: > Kann ich das SA0 Bit also auf Low setzen? Wirst du vermutlich sogar müssen, denn diese Displays haben normalerweise eine Device Adresse von 0x78 (linksbündig).
-
Thread
Atmega8 und 16-Bit Timmer
der Initialisierung des Timers. Da 1min doch eine etwas längere Zeit zu messen ist hab ich den 16-Bit Timer in Verwendung bei größtem Prescaler = 1024. Meine CPU Frequenz ist 8MHz. 8MHz/1024 = 7812,5kHz D.h. mein 16-Bit Register wird 7812 mal in der Sekunde inkrementiert, richtig? Wenn ja
unsigned short int usiMinute=0; //Funktionsdeklaration (Prototypen) //ADC Init. void vinitADU_8Bit(unsigned short int); //Timer Init. void vinitTimer_16Bit(); int igetADU_8Bit(unsigned short int); //******************************************************************************************
-
Thread
Der totale Anfänger - auf der Suche nach einem Mikrokontroller
Lass die digitalWrite Funktion weg und setz die IOs über das PORTx Register.
Beitrag #3762217: > Max H. schrieb im Beitrag #3762212: >> Lass die digitalWrite Funktion weg und setz die IOs über das PORTx >> Register. > > Danke für den Rat, nur war das keine Antwort auf meine Frage .. Doch, das war es: alle acht bit von PORTx stehen für acht io-pins, damit können also mehrere
-
Thread
auf Einzelbit von 16/32bit word zugreifen.
Shift ? Eher nicht. Bit 12 Setzen : myword OR= 0x10; Bit 12 Loeschen : myword AND= 0xEF; Bit 12 Lesen : if (myword and 0x10) { } // implizit != 0
Sorry, byte vergessen. > Bit 12 Setzen : myword OR= 0x1000; > Bit 12 Loeschen : myword AND= 0xEFFF; Dass das niemand so gemerkt hat..
-
Thread
Logic Analyzer bauen
und wie willst du dann einen trigger auf z.b eine 16bit adresse setzen??? ;) ich glaube, dass du auf jeden fall *alle* inputs in *einen* cpld/fpga laufen lassen musst um allein mal den trigger zu machen... aber ich lasse mich gerne eines besseren
sich über den USB programmieren und Daten können zwischen PC und FPGA ausgetauscht werden. Mein 8-Bit LA ist schon erfolgreich im FPGA gelaufen. Was noch fehlt ist der Umbau auf 16 Bit, das Testen des externen ASRAMs und eine Software für das Setzen der Trigger bzw. die Auswertung der aufgenommen Daten
-
Thread
Atmega32 - PortPin geht nicht auf High wenn Pullup gesetzt
Beitrag #7857531: > PORTB |= (1<<PB0); // Pull Up an Pin0 - aktivieren Warum schreibst du das setzen der DDR-Bits nicht im selben Stil? Das wäre auffällig und deutlich weniger fehleranfällig.
Ich find binär lesbarer als hex. Finde ich bei den Pin-Konfigurationen auch, wenn man nicht jedes Bit einzeln setzen will. Aber dann muss man den Stil auch durchhalten, sonst wird's unübersichtlich.
-
Thread
Problem => UCSR0C-Register beim Mega162 setzen
remain in the serial Shift Register (see Figure 75) if the Buffer Registers are full, until a new start bit is detected. The USART is therefore more resistant to Data OverRun (DOR) error conditions." und "The Receiver starts data reception when it detects a valid start bit. Each bit that follows the start bit will be sampled at the baud rate or XCK clock, and shifted into the Receive Shift Register until the first stop bit of a frame is received. A second stop bit will be ignored by the Receiver. When the
-
Thread
avr-gcc-10 - "volatile deprecated [-Wvolatile]" Warnungen
der Ära Mega128. Alle neueren machen sbi/cli ohne read/modify/write auf das ganze Register, die setzen das Bit direkt. Oliver
xxxCLR und xxxSET bzw. Flagregister, da reicht der Zuweisungsoperator (kein compound) , um atomar ein Bit zu setzen oder zu löschen.
-
Thread
RS-485 Datenprobleme - immer nur das letzte Gerät geht
cable length >3m, RS485 interface is recommended. Default Settings: RS232/COM1: 115200 bps, 8N1 (8 bit - no parity - 1 stop bit) RS485: 9600 bps, 8N1 (8 bit - no parity - 1 stop bit) Setze mal für RS485 die einstellungen so nicht das andere Einstellung nur die RS232 aktivieren
>3m, RS485 interface is recommended. >> >> Default Settings: >> RS232/COM1: 115200 bps, 8N1 (8 bit - no parity - 1 stop bit) >> RS485: 9600 bps, 8N1 (8 bit - no parity - 1 stop bit) >> >> Setze mal für RS485 die einstellungen so nicht das andere Einstellung >> nur die RS232 aktivieren >> >>
-
Thread
switch(Funktion()) möglich?
jedes gültige >> Zeichen und den ungültigen Zustand repräsentieren kann. > > Also mindestens 8 Bit plus Flag oder mindestens 9 Bit. Genau. Oder eben 16-Bit. Aber diese 16-Bit will ich doch keinesfalls als vorzeichenbehaftete Zahl interpretieren. Ich möchte den 8-Bit Zeichencode haben und ggf
) >> Zudem ist int als unspezifischer Typ zur Darstellung eines Zeichens >> in einem 7- oder 8-bit-Code unsinnig. > > Warum? ASCII ist nunmal ein 7- oder 8-bit-Code... Da widersprichst Du Dir selbst: warum sollte ich auf einer kleinen 8-Bit Plattform ein Zeichen als ein int darstellen.
-
Thread
16 bit Variable in 8 bit und 2 bit aufteilen
Annahme der Bitreihenfolge ist verkehrt: in H gehört das 0b00000011 in L gehören die rechten 8 Bits..... evtl. so: uint16_t pwm = 0b0000001111111111; CCPR1H = pwm<<8; CCPR1L = pwm; Sind da in CCPR1H evtl noch andere Bits drin deren Wert nicht verändert werden darf ? Gruß T.
PIC16F1936 und ich glaube ich sollte lieber das HI-TECH C struct CCP1CONbits.DC1B verwenden, welches 2bit verwaltet. Ehrlich gesagt bin ich mir bei dem CCPR1H nämlich überhaupt nicht sicher. CCPR1L verwaltet definitiv 8bit. Zitat 19.5.2: "The CCPRxL contains the eight MSbs and the DCxB<1:0> bits of
-
Thread
keine Fusebits setzen in AVRStudio4.14?
wenig möglich wie in der alten Version, im Gegenteil, es ist noch schlechter geworden. Also, ich setze z.B. SUT_CKSEL auf ext Crystal - irgenwelche Frequenz und nacheinander verschiedene Startup-times und Delays. Einziger Erfolg: Der Atmega arbeitet nicht mehr - kenntlich an LED's, die auf eine bestimmte
Ich benutz immer Ponnyprog, das funktioniert einwandfrei. Was funktioniert nicht das setzen der Fuse Bits oder hast du versehentlich die falschen Einstellungen gemacht?
-
Thread
FT232BM => 9. Bit?
Gibt es denn einen USB-Chip ähnlich dem FT232BM bei dem man auch das 9. Bit setzen kann? Oder sollte ich vielleicht wieder lieber erst selbst suchen?
Parity wird automatisch berechnet (steht irgendwo im Datenblatt des FT232). Das 9. Bit geziehlt setzen/löschen geht nur über mark/space
-
Thread
Anfänger zu den Fuse Bits
Diese FuseBits interssieren mich. Kann ich nicht per AVRStudio/WinAVR diese aus dem neuen und noch nicht beschriebenen Prozessor auslesen? Leider habe ich in den pdf´s noch nichts dazu gefunden.
nur 7 Pins. Kann das > Probleme aufwerfen? Nein auch nicht. Ich denke, dass die überzähligen Bits ignoriert werden. Jedenfalls habe ich mich darum auch nie gekümmert und bisher ist nichts schiefgegangen.
-
Thread
Projekt: DDS basierter Funktionsgenerator mit AD5930
DAC mit höherer Auflösung nehmen, z. B. 16bit DAC.
Vielleicht gibts da besseres. (Cypress stellt sowas her. MOBL-RAM gabs da auch noch.) 3. Von den 16Bit werden 12Bit für einen passiven DA-Wandler benutzt, aka Widerstandsnetzwerk. Gibts für 12Bit von Bourns. Selbermachen eher unmöglich wegen Abgleich. 4. 3Bit steuern einen PGA mit Verstärkungsselektion
-
Thread
ATmega8 Timer1+Timer2 PWM
Non-Inverted PWM ASSR=0x00; TCCR2=0x6F; TCNT2=0x3C; OCR2=0x50;[/c] TCCR2=0b01111111 heißt: - Bit 7: FOC2 aus - Bit 6 und 3: Fast PWM Mode - Bit 5 und 4: OC2 setzen bei Compare Match, OC2 bei Top löschen (die Einstellung irritiert mich etwas, da ich mit dem Overflow Interrupt arbeiten möchte)
ist ja nicht auszuhalten. Um den CTC Modus im Timer1 zu aktivieren, müssen, laut Datenblatt die Bits WGM12 und CS10 (für einen Vorteiler von 1) gesetzt werden. Also schreiben wir das auch so: TCCR1B = ( 1 << WGM12 ) | ( 1 << CS10 ); Welche Bedeutung das setzen der einzelnen Bits hat, muss
-
Thread
Glühwürmchen in Rotkohlglas gefangen
Timeouts umgerechnet aus dem der Funktion übergebenen Timout Wert in WDT Ticks. Dazu dienen ja die WDP? Bits. Davon liegen 3 Bits im untersten Nibble aber das WDP3 Bit liegt eben pysikalisch woanders. Ergo Idx muß mit 0x07 maskiert werden und dafür das WDP3 Bit rein-ge-odert werden. Beim Setzen der verschiedenen
Allerdings muß man beim ersten Setzen des WTCRs die Kombination WDE + WDCE benutzen und beim zweiten Setzen des Registers darf dann das WDE Bit nicht mehr gesetzt sein. Das wäre aber bei der Maskierung mit 0x0F uU. aber der Fall. Warum
-
Thread
Arduino Nano Timer1 capture und overflow interrupt
Counter1, Overflow Interrupt Enable Sind diese Schreibweisen so korrekt ? TCCR1B &= ~(1<<ICES1) -> Bit setzen für fallende flanke TCCR1B |= (1<<ICES1) -> Bit setzen für steigende flanke TIMSK1 &= ~(1<<TOIE1) -> Bit setzen für Deaktivierung overflow Interrupt TIMSK1 &= ~(1<<ICIE1) -> Bit setzen für Deaktivierung Capture Interrupt TIMSK1 |= (1<<TOIE1) -> Bit setzen für Aktivierung overflow Interrupt TIMSK1 |= (1<<ICIE1) -> Bit setzen für Aktivierung Capture Interrupt Vielen Dank vorab.
-
Thread
Atmega128 16-bit Timer
Outpurt A > arbeite. Ist das falsch? Dann musst Du den Timer aber im CTC-Modus betreiben und die WGM-Bits entsprechend setzen! Und dann den Compare-Interrupt benutzen und nicht den Overflow. So wie Du es oben eingestellt hast, läuft der Timer immer bis zum Overflow weiter und die Interrupt-Frequenz wäre
an dieser Zeile sind nur Änderungen von 0en in 1en oder umgekehrt erlaubt. So kann man bequem I/O-Bits setzen und löschen und dabei stets mühelos sehen, welche es sind. >Nein das TCNT1 setzt ich nicht neu, da ich ja über Compare Outpurt A >arbeite. Ist das falsch? Ja. Dann läuft der Timer ja
-
Thread
Binärzähler 16 Bit? Gesperrt
Wolf G. schrieb im Beitrag #5127715: > Meine Frage: ist euch ein 16-Bit-Binär-Zähler (mit oder ohne > Überlauf-bit) bekannt? Takteingang und sonst nur Ausgänge? 16 Bit ist eher selten, weil das Gehäuse so groß sein müsste. Ich würde das eher auf zwei 8 Bit Zähler aufspalten
schrieb im Beitrag #5127737: > Wolf G. schrieb im Beitrag #5127715: >> Meine Frage: ist euch ein 16-Bit-Binär-Zähler (mit oder ohne >> Überlauf-bit) bekannt? Takteingang und sonst nur Ausgänge? > > 16 Bit ist eher selten, weil das Gehäuse so groß sein müsste. Ich würde > das eher auf zwei 8 Bit
-
Thread
Programm bleibt in ISR hängen
TCCR1B = 0x09; //Bit7=0 (ICNC1), Bit6=0 (ICES1) -> noise canceller inactive //Bit5=0 (-) reserviert //Bit4=0 (WGM13), Bit3=1 (WGM12) -> Fast PWM 8 bit //Bit2=0 (CS12), Bit1=0 (CS11), Bit0=1 (CS10) -> Prescaler 1 TIMSK |= 0x04; //Bit0=1 (TOIE0), Bit1=0, //Bit2=1 (TOIE1) Interrupt wird aktiviert //Bit3=0 (OCIE1B), Bit4=0 (OCIE1A), Bit5=0 (TICIE1), Bit6=0 (TOIE2), Bit7=0 (OCIE2) sei(); //Freigabe aller Interrupts }
-
Thread
PORT/Register Beschreibung in AVR
aufsteigend stzen und somit z.b den 4 bit setzen oder nicht?
einzelne Bits in einem Byte oder Word setzen und löschen. Und das geht in C immer gleich. Und eine 0 zu schieben ist in jeder Programmiersprache und auf jeder Architektur sinnlos, Herr Ingenieur.
-
Thread
Problem mit Clock Configuration beim STM32G031
ja verstehen, wie man die Clock einstellt. Dann schau dir den Clock Tree im Datenblatt an und setz die paar Bits in den Registern direkt.
Cyblord -. schrieb im Beitrag #7200129: > Dann schau dir den Clock Tree im Datenblatt an und setz die paar Bits in > den Registern direkt. Das hat er doch gemacht.
-
Thread
AVR Studio Fuses/Wert direkt setzen
unter anderen muss ich auch das SPI EN Bit setzen. Das ist nur ausgegraut... Warum ist das so? Hängt das wieder mit einem weiteren Bit zusammen? Gruß, T.
Welchen Programmer müsste ich nehmen um einen Attiny45 nicht über SPI zu programmieren um dieses Bit entsprechend zu verändern? Gruß, T.
-
Thread
Microchip kauft Atmel Gesperrt
bittigen > Cores verwirklicht werden können. Der Zug kommt von einer ganz anderen Richtung: 32-Bit-Cores sind inzwischen so effizient, dass sie auf dem Chip keinen nennenswerten Platz einnehmen. Man bekommt die Leistung also geschenkt. Es gibt dann keinen wirklichen Grund mehr, auf 8 Bit zu setzen
> Man bekommt die Leistung also geschenkt. > Es gibt dann > keinen wirklichen Grund mehr, auf 8 Bit zu setzen. Du bekommst mit ARM auch eine kompliziertere Architektur geschenkt. Warum soll man sich darin samt zugehöriger Softwarelandschaft einarbeiten, wenn ein einfacher 8-Bitter immer noch locker
-
Thread
Timer PWM nach manuellem Setzen des Ausgangs
COM0A1 und COM0A0 auf NULL dann ist dein OCXX entkoppelt für PWM dann entsprechend wieder setzen.
Singleton) und meiner Schleife (wird jede Sekunde einmal durchlaufen) [c] TPWM::TPWM() { // 16 Bit Fast PWM TCCR3A = 0x82; TCCR4A = 0x82; // stop timer TCCR3B = 0; TCCR4B = 0; // TOP for PWM, full 16 Bit ICR3 = 0xFFFF; ICR4 = 0xFFFF; SetProp(P1, 5); SetProp(P2, 6);
-
Thread
AT90CAN128 lock bits richtig setzen
Beitrag #3034503: > Wie realisiert man diese Anmerkung aus dem Datenblatt?Notes: 1. Program the Fuse bits and Boot Lock bits before programming the LB1 and LB2. Gans einfach: "Program" steht für das setzen eines Bits auf 0. Du sollst also, bevor Du die Bits LB1 oder LB2 auf 0 setzt, die anderen Bits
Wenn ich die Lock bits in zwei Schritten programmiere, was muss ich im zweiten Schritt setze? Nur die LB1 und LB2 oder auch die anderen? Ich vermute so: 1. Schritt: set "lock=0b00000111" 2. Schritt: set "lock=0b00000100
-
Thread
Zähler bei Überlauf auf 0 setzen
Zähler zu erzeugen. Der soll auf 0 gesetzt werden, sobald er einen Wert x erreicht hat. Wo genau setze ich den Zähler zurück? Ich sehe mehrere Möglichkeiten, weiß aber nicht, welche schön und welche hässlich ist: [pre]1) TimeIt: process(Reset, Clock, Timer) begin if (Reset ='1'
integer nimmst ohne den Wertebereich einzuschränken, macht die Synthese daraus wahrscheinlich ein 32-Bit breites Register, was sehr schnell die Ressourcen aufbrauchen kann. Bei unsigned kannst du im Prinzip genausorechnen, wie mit Integer, da die Rechenoperationen überladen sind. Unsigned ist eigentlich
-
Thread
Faktensammlung Buderus EMS
ja Zündung Bit3 = 0 Zubringer Bit5 = 1 0x25 => 00100101
müßte wie im der doku/wiki passen: Monitor WW - Typ 52 Offset 8 Art des Warmwassersystems 1. Bit = kein Warmwassersystem vorhanden 2. Bit = Durchlauferhitzer 3. Bit = kleiner Speicher 4. Bit = großer Speicher 5. Bit = Speicherladesystem -> ab Ver: 3.0 6. Bit bis Bit 8 = frei
-
Thread
OSD programm mit einem ATmega32u4
// Teilergrundwert durch zwei teilen um nächstes Bit anzusprechen } PORTB &= ~(1 << PB2); // SDIN auf Null setzen um das Ende des Datenwortes zu definieren PORTB &= ~(1 << PB1); // Setzt das Taktsignal auf Null keine falschen
// Teilergrundwert durch zwei teilen um nächstes Bit anzusprechen } PORTB &= ~(1 << PB2); // SDIN auf Null setzen um das Ende des Datenwortes zu definieren // Ende der seriellen Datenübertragung PORTB |= (1 << PB0); _delay_ms
-
Thread
ATmega162: kein Interrupt beim setzen von Bit TXC
Interrupt für die komplette Übertragung (TXCIE1 in UCSR1B) sind freigegeben, d. h. das entsprechende Bit ist gesetzt. Wenn ich nun mit folgender Anweisung das Bit für die komplette Übertragung (TXC1 in UCSR1A) gesetzt wird, wird kein Interrupt ausgelöst. sbi UCSR1A,TXC1 In VMLab wird das Bit
Interrupt Flags kann man nicht von Hand setzen! Schau Dir im Datenblatt bitte mal die entsprechenden Abschnitte an (steht in der Beschreibung des jeweiligen Registers bzw. Flags). Das Schreiben einer 1 in ein Interrupt-Flag /löscht/ das Flag
-
Thread
Programmierbare Relaiskarte - Konfigurationsdaten Lesen/Speichern/Übertragen
nur 6 Bit. Zusammen mit den 2 BIt von der Geräteadresse macht das wieder 8 Bit und das wäre dann perfekt um in einem einzelnen uint8_t zusammengefasst zu werden. Konzeptionell maximal 4 Geräte mit jeweils 64
GET_CONFIG:END;[/code] L:<DatensatzNr>:<IR-Taste>:<Options>:<Port>; Die Definition des gesetzten Bit bedeutet '-' = alter Zustand bleibt, '0' = off und '1' = on. Solange ich die Ports nicht setze läuft es alles reibungslos. Bei der gesetzten Konfiguration laufen Taste 2 und 3 ohne Probleme. Drücke
-
Thread
Attiny 841 und PRR
Paul schrieb im Beitrag #6002536: > Im Bit 0 steht "Inital Vlue PRADC = 0". > Muss ich das Bit trotzdem auf 0 setzen? Nö, steht doch da. Wenn als Startwert nach Reset da schon eine Null steht, braucht man da nix zu nullen.
richtige Antwort lautet wie immer: Kommt drauf an. Das gleichzeitige setzen oder löschen mehrerer Bits in einem Register resultiert immer in eine "read-modify-write"-Sequenz. Das setzen oder löschen eines einzelnen Bits resultiert, je nach dem, an welcher Adresse das Register
-
Thread
Bit-Shift auffüllen mit Einsen/Nullen
shift right" macht fast was du willst: der berücksichtigt nämlich das Vorzeichen. Wenn das höchste Bit 1 ist, wird mit 1 aufgefüllt, sonst mit 0 allerdings müsstest du den ersten Shift "normal" ausführen und dann das höchste Bit "zu Fuß" auf 1 setzen. arithmetic shift sollte vom Compiler automatisch
befehl hat, dürfte > das sogar recht effizient sein. Das Problem sind nicht die einlaufenden Bits, sondern der Shift. Ein 32-Bit Shift wird bei AVRs recht gern zur Schleife, weshalb das Setzen des obersten Bits auch nicht viel an der Sache ändert. Optimal übersetzt sind das bei unbekanntem n in
-
Thread
LED Leiste ansteuern
, Bit 2 TCK, JTAG Test Clock: JTAG operation is synchronous to TCK. When the JTAG interface is enabled, this pin can not be used as an I/O pin. Ich konnte aber nicht finden welche Fuse-Bits ich setzen
@ Michael Justinger (juston) >Ich konnte aber nicht finden welche Fuse-Bits ich setzen muss damit ich >auch diese vier Ausgänge auf 0 setzen kann. ??? Wie wäre es mit JTAGEN im Fuse High Byte? MFG Falk
-
Thread
erstes ASM Programm.wo ist der Fehler?
gesetzt. Wie jetzt, das versteh ich nicht. Ich dachte mit LDI R16, 0xFF OUT PORTD,R16 setz ich die Ausgänge auf HIGH? >Du must natürlich keine 8 Bit hinschreiben aber es macht es für mich und >andere leichter lesbar. Okay, merk ich mir.
;Pullups für die Eingänge 3-0 aktiviert[/c] um alle Pullups auszuschalten kann man auch das PUD-Bit im SFIO-Register setzen
-
Thread
brauche Digitale IO an Standard PC
Ergänzung, aus der man erkennt, wie einfach man mit LabVIEW (in Windows oder Linux oder PDA) diese Bits setzen kann. siehe Bild im Anhang Gruß Fritz
Echtzeiterweiterung. um die 32 Ports zu erweitern, stelle ich mir folgendes vor. - zu Beginn setze ich 5 Ausgänge zur Adressierung eines Inputmoduls. - das Modul sendet ein "bereit zum Senden" Signal - die PCI Karte ein "bereit zum empfangen" Signal - das Modul berträgt 16 bit parallel auf die
-
Thread
Mathe-Frage. Münzwurf
D. I. schrieb im Beitrag #2036563: > 2^100 viel spaß Avg 2 bits: 1.0 Avg 3 bits: 1.5 Avg 4 bits: 1.5 Avg 5 bits: 1.875 Avg 6 bits: 1.875 Avg 7 bits: 2.1875 Avg 8 bits: 2.1875 Avg 9 bits: 2.4609375 Avg 10 bits: 2.4609375 Avg 11 bits: 2.70703125 Avg 12 bits
. schrieb im Beitrag #2036644: > D. I. schrieb im Beitrag #2036563: >> 2^100 viel spaß > Avg 2 bits: 1.0 > Avg 3 bits: 1.5 > Avg 4 bits: 1.5 > Avg 5 bits: 1.875 > Avg 6 bits: 1.875 > Avg 7 bits: 2.1875 > Avg 8 bits: 2.1875 > Avg 9 bits: 2.4609375 > Avg 10 bits: 2.4609375 > Avg 11 bits: 2.70703125
-
Thread
Atmega32 16Bit PWM oder 10 Bit?
Jep, zur Auswahl gibt es Initializes the PWM module. Parameter wave_mode is a desired PWM-16bit mode. There are several modes included : PWM, Phase Correct, 8-bit PWM, Phase Correct, 9-bit PWM, Phase Correct, 10-bit Fast PWM, 8-bit Fast PWM, 9-bit Fast PWM, 10-bit Parameter prescaler
LIB und scheibe das bissel Zeug einfach selber. Ist ja nun nicht wirklich Raketentechnik, einen 16Bit-AVR-Timer in den Fast-PWM-Modus zu bringen, die Hardware-Ausgabe und die PWM-Frequenz zu setzen. Das sind doch nur wenige Zeilen C-Code. Wer selbst dazu nicht in der Lage ist, hat halt einfach Pech
-
Thread
GCC Optimierung killt Funktion
ging ich davon aus, dass die Speed Einstellung etwas damit zu tun hat, wie schnell der Pin nach dem Setzen des Bits im BRSS sich wirklich umschaltet. Man findet im Netz auch was von wegen Flankensteilheit. Bei einer 1.3Mhz SPI denkt man ja nun nicht, dass man da die volle APB2 Speed von 1/2 Sycklock = 84
void tls_Set74HCT595(uint8_t data) { for (uint8_t i = 0; i < 8; i++) { // Datenbit setzen GPIO_SetPinValue(GPIOE,HCT595_DS,(data & 0x80)); __DSB(); // Bit anlegen GPIO_SetBits(GPIOE,HCT595_SHCP); __DSB(); // SHCP -> High GPIO_ResetBits(GPIOE,HCT595
-
Thread
Zeiten bei den AVRs - großes Problem
Bug vorliegt. Ich habe mir das vor ein paar Jahren mal näher angeschaut, damals konnte Bascom mit 16Bit-Dauer umgehen, aber FastAVR (anderer Basiccompiler) nicht. Letzerer hat dann einfach die unteren 8Bit genommen.
zurückgeschrieben wird. Für Quarze in dem genannten Bereich müsstest Du die Häkchen bei allen CKSEL-Bits entfernen ('unprogrammed', also '1') und bei CKOPT ein Häkchen machen ('programmed', also '0'). Die SUT-Bits setze ich auch meistens '1' (kein Häkchen). Damit müsste es eigentlich zunächst funktionieren
-
Thread
STM32: SPI (9bit/16bit)
habe (jedoch noch ungetestet): Chip Select Low //Schreiben SPI deaktivieren SPI Framelänge auf 8bit setzen SPI aktivieren ersten 8bit übertragen SPI deaktivieren 9.bit "manuell" reintakten //Lesen SPI Framelänge auf 16bit setzen SPI aktivieren 16bit Datenwort lesen Chip Select High Ich
Da die SPI-Schnittstelle ja ein Schieberegister ist, muss man sowieso 16-Bit reinschieben um 16-Bit zu erhalten. Eventuell sind noch "Dummy-Bits" einzufügen. Gruß Stefan
-
Thread
AVR: "sleep disable" unnötig?
nicht weniger. Wenn ihr das nicht braucht, dann nutzt es halt nicht. Es steht euch frei das SEN-Bit direkt in der Init zu setzen, obwohl ihr gar kein SLEEP verwendet. Falls ihr auf hängende Programme steht, die doch irgendwo verborgen ein SLEEP ausführen.
Beitrag #7481742: > Wenn ihr das nicht braucht, dann nutzt es halt nicht. Es steht euch frei > das SEN-Bit direkt in der Init zu setzen, obwohl ihr gar kein SLEEP > verwendet. Abgesehen vom letzten Teil mache ich das genauso. Wenn das Programm SLEEP verwenden soll, wird das SLEEP ENABLE Bit im Rahmen
-
Thread
Siedle In-Home-Bus Protokoll
Handbücher von Siedle gesurft. Strukturell können an einem einstrangigen Bus 31 Geräte sein, das sind 5 Bit. Es man bis zu 15 Stränge geben, das wären weitere 4 Bit. Die Tasten / Funktionen jedes Geräts haben eine ID, das dürften auch ein paar Bit sein, 3-4 Bit? Bis hier wären wir bei 5+4+4 = 13 Bit.
Ergebnisse mitteilen. Zunächst finden Sie unten mein aktuelles Verständnis des Pakets: 010 - 3 Bit, Start des Siedle In Home-Buspakets 6 Bit - Signal oder Befehl 5 Bit - Adresse des Zielgeräts 4 Bit - Adresse des Zielsegments 010 - 3 Bits, normalerweise sind sie immer so, aber sofort habe ich
-
Thread
Bits ansprechen
ausgeklammert Ich nutze den MicroC Compiler Es klaat nicht mit GPIOD_ODR |= 1 << GPIOD_ODR.B3; z.B. Bit 3 zu setzen :-( [code] GPIOD_ODR = 0x00000055; Delay_ms(500); GPIOD_ODR |= 1 << GPIOD_ODR.B3; //GPIOD_ODR.B5 = 1; // DDRB = (1 << DDB0) | (1 << DDB1) | (1 << DDB2) | (1 << DDB3
-
Thread
Nokia LCD 3510
Bit auf 0 -> Kommando rjmp send_byte send_data: cbi CS_PORT, CS_PIN ; CS auf LOW setzen cbi SCL_PORT, SCL_PIN ; SCL auf LOW setzen sbi SIO_PORT, SIO_PIN ; D/C Bit auf 1 -> Daten send_byte
anlegen no_zero: nop ; Pause (länger/kürzer???) sbi SCL_PORT, SCL_PIN ; SCL auf HIGH setzen nop ; Pause (länger/kürzer???) dec temp brne send_bits ; 8 mal durchlaufen sbi CS_PORT, CS_PIN ; CS auf HIGH setzen sbi SCL_PORT, SCL_PIN ; SCL auf HIGH setzen ret
-
Thread
Labor Netzteil
schon in betracht gezogen.. ala 19Zoll einschubrahmen ;) @Uwe was meinst du mit Sackhüpfen?? 15Bit bei 30V waehren 915,5µV schritte 16Bit bei 30V waehren 457,7µV schritte warum nicht die 16Bit voll ausnutzen (zumindest beim setzen??) DA Wandler gibt es sicher nicht direkt mit 15Bit?
logischen Handlungsablauf des Algo mit [Bücher/url] Quellenangaben, nicht im Stile von: ldi r16, 0xff ; setze alle bits was ich auch schon gesehen habe. Somit können andere es nachvollziehen - evtl. wechselt ja dann einer vom C51 zum AVR ;-) @Stephan: Solange keine Einigung über das Regelonzept steht,
-
Thread
Ab wann lohnt sich ein 32bit Controller? Compilerkosten?
arbeitet. Auswertung von Sensordaten, desto schneller desto besser. Da dachte ich mir long (32Bit?), könnte ich nicht 30-40% an Leistung gewinnen wenn ich auf 32 Bit setzen würde. Aktuell habe ich einen Atmega64 mit 16Mhz. Da geht die Geschwindigkeit schon merklich runter, beim großen Addieren
Askan S. wrote: > Da dachte ich mir long (32Bit?), könnte ich nicht 30-40% an Leistung > gewinnen wenn ich auf 32 Bit setzen würde. Einen Leistungsgewinn kann man erst ermitteln, wenn man die bisherige CPU-Auslastung kennt. Also, wie oft müssen