-
Thread
Zeigt her eure Kunstwerke (2017-2019) Gesperrt Bilder
...ist zwar vom letzten Jahr, aber es ist ja wieder soweit. 16 x 32 Duo-LED Matrix mit 14 Bit PWM.
Nen Mega64 hat 6 16Bit PWMs, damit hätten sich 3 Atmegas zu einem verschmelzen lassen können.
-
Thread
LCD an T6963C und ATMega323
auf LOW (zeitgleich) - ich warte auf die bits (vllt bis zum jüngsten tag) (- ich erhalte die bits) - ich dreh ne kleine ehrenrunde (***DEBUG***) - ich ändere wieder die datenrichtung des busses (zu ausgang) - ich ändere NOCH nicht CS und
; //lower bits f.l.: C~D ~Ce ~Rd ~Wr asm volatile ("nop"::); asm volatile ("nop"::); PORTD = 0b11110010; //lower bits f.l.: C~D ~Ce ~Rd ~Wr } Du setzt CE auf L, dann WR auf L und dann
-
Thread
Einfluss Lockbit LPM setzen auf Rom
Hallo, bei der Berechnung einer 32bit crc über das komplette ROM eines AT90CAN128 habe ich festgestellt, daß sich die crc ändert, wenn das Lockbit LPM für die Bootsection gesetzt wird. Kann mir jemand sagen, welchen Einfluss das setzen
Sven schrieb: > Kann mir jemand sagen, welchen Einfluss das setzen von LPM für die > Bootsection auf die zurückgegebenen Daten hat, wenn die Funktion > 'pgm_read_byte_far' auch für diesen Speicherbereich aufgerufen wird? Warum nicht einfach eine Schleife über die
-
Thread
Pic mit C programmieren aber wie?
LATB |= 0b00010000 ; // setzen Bit 4 ... LATB &= ~0b00010000 ; // löschen Bit 4
TRISA 0x00=1; und noch einmal Erich schrieb im Beitrag #1937594: > LATB |= 0b00010000 ; // setzen Bit 4 Eggi schrieb im Beitrag #1937630: > LATB 0x01=1; Fällt dir was auf? Zudem solltest du den Ausgang auch einmal auf 0 setzen, wenn er nur alle 8 Durchläufe height sein soll.
-
Thread
[winavr] _delay_ms dauert zu lange
anderes als das was im Datasheet steht (Boot Loader../Self Programming.../Reading the Fuse...). Die 2 Bits setzen und innerhalb von 3 Takten das entsprechende Byte per LPM lesen.
_t ef = boot_lock_fuse_bits_get(GET_EXTENDED_FUSE_BITS); uint8_t lk = boot_lock_fuse_bits_get(GET_LOCK_BITS); } [/c] Grüße Oliver
-
Thread
Pullup aktivieren in AVR-Assembler
funktioniert, aber ginge das mit Abfrage des bisherigen Status auch kürzer? Oder auch: kann man einzelne Bits da draussen ausserhalb von R16-R31 auch direkt setzen? lds r16,PORTB_PIN2CTRL sbr r16,8 ;Bit 3 für Pullup enable setzen sts PORTB_PIN2CTRL,r16 ;Pullup aktivieren PB2 Und weiter - Statusabfrage
Noch ein Tipp zur Schreibweise, einiges kann eindeutiger schreiben: [c]; alt sbr r16,8 ;Bit 3 für Pullup enable setzen ; besser sbr r16,(1<<3) ;Bit 3 für Pullup enable setzen [/c] Auch verwende ich sehr viele Macros, die die Arbeit im Code erledigen. Auch kann man über je ein Macro
-
Thread
AVR Studio 4 v4.18
COMPA_vect) {Anweisungen...}"? Das is die eine Möglichkeit. Zur Info, den "Stop Watch" kann man auf 0 setzen seh ich grad :-) Was ist jedoch mit dem Bit "I" im SREG, kann man auch nach diesem gehen, also Zeit auf t=0us stellen wenn Interrupt-Bit gesetzt, dann bis zum nächsten Setzen warten und Zeit ablesen
>also Zeit auf t=0us stellen wenn Interrupt-Bit gesetzt, dann bis zum >nächsten Setzen warten und Zeit ablesen?! Oder hat das Statusbit hier >nix mit zu tun? Das I-Bit im SREG erlaubt bzw. verbietet Interrupts. Es wird nicht gesetzt oder gelöscht
-
Thread
AVR Bootloader in C - Artikel
4)) << 4; break; ... [/code] da beim Record Typ 2 stellt die Offset-Adresse den oberen Teil (Bit 4-19) einer 20 Bit-Adresse dar, daher die Verschiebung um 4 Bit nach links. Ich habe es im Wiki geändert. Im Anhang die aktuelle "main.c" @Jan: Bitte testen...
gibt es eine Extended Fuse. Allerdings kann die nicht den Wert 0xF8 annehmen, da sie nicht so viele Bits nutzt. Wenn ich mich richtig erinnere, waren es nur die unteren drei und da sind 0xF8 und 0x00 gleich. Somit funtioniert es auch, wenn ich die Fuses auf 0xF8 setze, weil die Fuses, die gesetzt werden
-
Thread
LCD Anzeige macht Probleme
Bit 0-3 auf 0 setzen > byte |= (1<<lcd_rs); //RS setzen > PORT = byte; //oberes Nibbel Ausgeben > lcd_enable(); > byte = sich_byte; > byte = byte<<4; //Nibbles vertauschen > byte &= ~0x0f; //Bit 0-3 auf 0 setzen > byte |= (1<<lcd_rs); //RS setzen > PORT = byte; //unteres Nibbel Ausgeben > lcd_enable(); basiert darauf, das Bit4..7 an Port4..7 hängen. Reichen deine C-Kenntnisse
-
Thread
8bit Latch mit Schmitt-Trigger
Moin, ich suche einen 8bit Latch mit Schmittrigger-Eingängen der Datenleitungen. Beim 74xx573 Blick ich da gerade nicht ganz durch. Die meisten Datenblättern erwähnen keinen ST, fürchte also er hat keinen. (Ein exotisches Datenblatt
AVR) knapp werden. Zudem gibt es aber auch keinen Grund das ALE-Latch nicht dicht an die CPU zu setzen.
-
Thread
Dauerhaft FakeNews in allen AVR Series 0/1/2 Datenblättern
dagegen diesbezüglich das Forums-eigene Wiki, in dem diese und weitere Änderungen (automatische Setzen des IE-bit im SREG) innerhalb der AVR genannten Familie nicht vermerkt sind. https://www.mikrocontroller.net/articles/AVR-Tutorial:_Interrupts https://snowgoons.ro/posts/2022-02-21-atmega-avr-interrupt-handling
0). Es 'gibt' eben dieses IR-bit nicht in allen Betriebsweisen dieses Peripherals, in vielen Modi ist es durch das RXCIF-bit an gleicher Position 'ersetzt'. Nur verhält sich eben das RXCIF-bit anders als das IF-bit. Da verwundert
-
Thread
mehrer bits in #define
Hi, wie kann ich mehrere bits in einem define zuordnen? Also ich möchte gerne bestimmte einstellungen für verschiedene benutzer zuordnen. Dazu möchte ich verschiedene Bits in verschiednene Register zuordnen und dann mit HEX werten
Struktur definiert. http://microchip.wikidot.com/tls2101:bit-fields
-
Thread
STM32 RTC setzen und lesen per SWD
Damit die RTC laufen kann, musst du auch noch eine Menge RCC Bits setzen. Warum willst Du das ueber SWD machen?
- Breakpoint setzen - Firmware Init starten - Am BP: Die paar RTC Register setzen
-
Thread
Signal für eine gewisse Zeit setzen in C (8051)
nicht mit Interrupts, Timern u.ä. Wie kann ich z.B. für 40s über "i2C_setbyte" einen Zustand setzen und ihn danach wieder auf "LOW" setzen? Vielen Dank im Voraus. MfG, Bastian
nicht mit Interrupts, Timern u.ä. > > Wie kann ich z.B. für 40s über "i2C_setbyte" einen Zustand setzen und > ihn danach wieder auf "LOW" setzen? > > Vielen Dank im Voraus. > > MfG, > Bastian 1. i2C_setbyte(1); 2. 40s "warten" oder was anderes tun 3. i2c-setbyte(0); Um so eine Wartezeit
-
Thread
PIC programmable Bits
funktioniert hat... Leider habe ich mich nun aber etwas zu früh gefreut. Ich kann zwar so einige Config Bits setzen, aber komischerweise nicht alle. __CONFIG(FOSC_INTOSC); __CONFIG(FCMEN_OFF); funktioniert. Sobald ich aber noch einen weiteren __CONFIG() Befehl dazu schreibe, bekomme ich eine Fehlermeldung
CONFIG-Pragmas angeben, wie der µC CONFIG-Wörter hat, steht auch im Datenblatt (siehe oben). Die Bits, die zu einem Word gehören, werden mit "&" verkettet, siehe oben oder als Bitfolge o.ä. angegeben.
-
Thread
Watchdog Reset Fehler
wdh.h auf manuellen weg. > > Ohne WDCE? naja muss man testen. Aus dem Datenblatt: > This bit is used in timed sequences for changing WDE and prescaler bits. > To clear the WDE bit, > and/or change the prescaler bits, WDCE must be set. prescaler wird ja nicht gesetzt.
Wenn ich ein Haken in WDTON setze ist die LED nach wie vor dauerhaft aus.
-
Thread
Problem mit Atmel AVRJTAGICE mkII
dein eigentliches Problem scheint also gelöst. Da du oben aber das mit dem JTD-Bit und dem aussperren angesprochen hast, ein kleiner Tip: Man kann dieses Bit auch per Software im MCUC-Register setzen, ein umprogrammieren der Fuses ist also nicht nötig. Wenn man dann noch einen
dann noch einen Pin frei hat, könnte man dieses beim > Programmstart abfragen um es immer noch setzen zu können. Muss man eigentlich gar nicht. Das Setzen des Bits wird nur wirksam, wenn man es zweimal direkt hintereinander ausführt. Will man debuggen, setzt man einfach einen Breakpoint auf
-
Thread
Frequenzmessung mit Timer0 ohne ICP
Seite 106: Für Modus 15 müssen alle WGMXY gesetzt sein. Du hast > vergessen WGM11 und WGM10 zu setzen. (Aufgepasst die sind dann in > TCCR1A, nicht wie 12 und 13 die in TCCR1B sind.) Des hab ich in den Zeilen gemacht damit das PWM Signal solange aus ist bist ich die Beiden Bits setze.
|= (1<<0); PORTC |= (1<<2);} } //dann so verwenden: alle_LEDS_setzen(1); //alle LEDs ein alle_LEDS_setzen(0); //alle LEDs aus [/c] > Das klingt so als ob mein Compiler nen Knacks hat. Der zeigt mir > wirklich keinen Fehler an. Mir hat des mal ein Kumpel installiert
-
Thread
6502 Emulation auf AVR ?
Assem programmiert und würdet dadaurch jeden Geschwindigkeitsvorteil wieder tot machen. Mit einem 32Biter nen 8 Biter emulieren, naja.
für sowas meist nicht. Man muß eben in den alten Busstrukturen denken, die benutzt wurden... 8 Bit Daten -> 1 Port für SID, Ram, evtl. Display 8 Bit Low-Adresse für Ram ist der gleiche Port, muß sowieso der 573 ran. 8 Bit H-Adresse für Ram und als Low-Adresse für SID dazu als Einzel-Pins:
-
Thread
eFuse bei mega 328p lässt sich nicht setzen
avrdude done. Thank you. [/code] Was kann da schief gegangen sein? Die anderen Fuses ließen sich setzen. Standardmäßig ist die eFuse auf 0xff, daher weiß ich nicht, wieso sie jetzt auf 0x07 gesetzt ist. Danke im Voraus
Da gab es doch mal eine Diskussion, dass nicht definierte fuse-bits als 0 behandelt werden. Ist schon eine Weile her, und ich finde es nicht mehr.
-
Thread
Interrupts Programm wird unterbrochen warum?
Aber registriert werden Interrupt Anforderungen ab dem Moment, ab dem du den Interrupt mit seinem Bit (in dem Fall INT4) aktivierst!
auslesen. Das liegt daran, dass er so toll kommentiert ist [C] PORTC=0x03; //Pin C1 auf 1 setzen für 5V [/C] Ja genau. jetzt seh ich es auch. Wenn man 0x03 auf den Port schreibt (also einen Wert mit 2 mal 1 Bits) dann schaltet man die 5 Volt ein. Völlig klar. > Sorry aber ich fnde es kacke
-
Thread
Programmierung einer LED-Anzeige zu langsam
darüberodern? Eine Oder-Operation. Mittels PORTD |= ( 1 << PD0 ); würdest du PD0 auf 1 setzen. Mittels PORTD |= ( 1 << PD0 ) | ( 1 << PD1 ); würdest du PD0 und PD1 auf 1 setzen. Mittels PORTD |= MaskeD[Wert]; würdest du die Bits 0 bzw 1 auf 1 setzen, je nachdem ob sie
, wie ich das jetzt am > besten setze. Weil du hier Dinge kombinieren musst. 2 Grundtechniken (Bit setzen, Bit löschen) zu einer Einheit zusammenbauen.
-
Thread
Vergleich Osz R&S RTB2004 vs. Siglent SDS5034X
3607-4270-22_v1400.pdf Anscheinend kann die Bitmaske auch >4 Bytes: Wenn man das UART Byte auf 5 Bits setzt, müsste man 6 Bytes (floor(32/5)) setzen können bzw. 3 Bytes bei 9 Bit/Byte. Wenn ich die Zeit finde, probiere ich das morgen mal aus. Im Datenblatt sehe ich auch gerade, dass der CAN Decoder
Beitrag #6671029: > Anscheinend kann die Bitmaske auch >4 Bytes: Wenn man das UART Byte auf > 5 Bits setzt, müsste man 6 Bytes (floor(32/5)) setzen können bzw. 3 > Bytes bei 9 Bit/Byte. Wenn ich die Zeit finde, probiere ich das morgen > mal aus. Funktioniert.
-
Thread
AD5292: reagiert nicht auf SPI
Albert C. schrieb im Beitrag #4520728: > Das erste Bild ist > das Kommando 0x700 (setzen des Schleifers). Das zweite das Kommando > 0x1802 (Setzen der Schreibaktivierung, natürlich nicht in dieser > Reihenfolge ausgeführt). Vielleicht einfach mal das ausführen was im Datenblatt steht
ich würde wie folgt proggen: SCK ist Low REST auf High Sync auf Low Datum anlegen (Bit) SCK toggeln nächstes Datum SCK toggeln wenn alle bits raus dann Sync auf High setzen evtl. mach es mal zu Fuss ( Software SPI ) ist ja nur Pin wackeln. ICh muss mal schauen ich habe mal was
-
Thread
Welcher Controller für Unterrichtszwecke?
Marx schrieb im Beitrag #7800356: > für die erste Vorlesung einen 8 biter wählen > Dann sollte man aber ganz schnell 32 bit nehmen Ich verstehe nicht, was an der Anzahl der Bits so wichtig sein soll. Wenn ich 8 Bit Rechner verstehe, dann verstehe ich auch jede andere Anzahl von Bits. Viele Berechnungen sind (für den Menschen) mit 32 Bit sogar deutlich einfacher, als sie in mehrere 8 Bit Operationen zerlegen zu müssen. Ich denke, es geht um die im 32 Bit Umfeld üblicherweise
-
Thread
Welche 8-Bit-Architekturen werden in 10 Jahren relevant sein? Gesperrt
, 4-bit and 16-bit MCUs have almost disappeared, with 8-bit and 32-bit MCUs basically sharing the entire application market. 64-bit MCU market is still in its infancy, with most applications in high-end workstations
sind die längst ausgelaufen. Und das war > für viele µC-Hersteller auch der Grund, auf MCS-51 zu setzen. Ich hab noch ein altes Datenblatt des P89C669 gefunden. Das war ein 8051 auf 24Bit Adreßraum aufgebohrt, d.h. je 8MB Code und RAM waren adressierbar. Der Zugriff erfolgte über 2 24Bit Pointer aus
-
Thread
Warteschleifen in C für Atmega 8
clearen TCNT2 = 0; // Setze Counter auf 0 TCCR2 |=(1<<CS22)|(1<<WGM21); // 16MHz/256 - CTC-Mode loop_until_bit_is_set(TIFR, OCF2); // warte, bis der Timer angekommen ist TIFR |= (1 << OCF2
15625 gezählt hat dann Ereigniss auslösen und clearen TCNT2 = 0; // Setze Counter auf 0 TCCR2 |= (1<<CS20)|(1<<CS22)|(1<<WGM21); // 16MHz/15625 - CTC-Mode loop_until_bit_is_set(TIFR, OCF2); // warte, bis der Timer angekommen ist TIFR |= (
-
Thread
STM32 Shift operationen
Ja, aber es erfüllt seinen Zweck. Der Code, der hinten 'rauskommt, ist i.d.R. effektiver, als ein Bit im Register mit "Register |= Bitmask" zu setzen. Und letzteres ist nicht so einfach als "atomic" machbar. Wenn Ironie heißen soll, daß die Lösung sch**** ist, dann schlag halt 'was besseres vor!
noch 2 Fehler: [code] logwriter.cpp(68): error: #18: expected a ")" return val & (T { 1 } << bit) ? bit : log2 (val, bit-1); logwriter.cpp(68): error: #29: expected an expression return val & (T { 1 } << bit) ? bit : log2 (val, bit-1); [/code] Niklas G. schrieb im Beitrag #5591264:
-
Thread
Energiesparende 1-Bit Anzeige gesucht
Was mit bei einer 1 Bit Anzeige sofort einfällt: eine dumme kleine LED. Und wenn's stromsparend sein soll, dann low-current...
kleinen Solar-Panel versorgen lassen. Beim Türschloss selbst würde ich aber nicht nur auf ein Panel setzen, sondern auch eine andere zuverlässigere Versorgung vorsehen. Gruß, Ulrich
-
Thread
10bit Signal auf 8 bit runter manipulieren
Hallo ich möchte darstellen, dass das Eingangssignal bei einer Bit Änderung, zum Beispiel von 10 Bit auf 8Bit oder 7 Bit schlechter wird. Zum Beispiel steuere ich mit den 10 Bit ein Winkel an. Wenn ich nun die 10 Bit auf 7 Bit reduiziere und auch die Min und Max Werte
Was du machen moechtest ist den Bereich beibehalten, dh die Grenzen so lassen, aber die hinteren N Bits auf Null setzen. Also 0b 11 0101 0110 --> 0b 11 0101 0000 von 10 auf 7 bit = 3 bit Nullen
-
Thread
Bits bzw Lampen an
// (7) /* wird nie erreicht */ return 0; // (8) } [/c] nun setze ich doch PORTB = 0b11111110;, d.h. das PB0 steht auf Masse, PORTB = 0b111111110; bedeudet doch dann PB0 = + und PB1=Masse, PORTB = 0b11111011; -> PB2 = Masse alles andere vcc. Liege ich hier falsch
Pfeiffy schrieb im Beitrag #4981351: > nun setze ich doch > PORTB = 0b11111110;, d.h. das PB0 steht auf Masse, > PORTB = 0b111111110; bedeudet doch dann PB0 = + und PB1=Masse, das sind 9 Bits und es ist falsch; Du meinst wohl PORTB = 0b11111101
-
Thread
PIC 10F202 I/O Problem
So, habe mir das Datenblatt angeschaut. 1. Musst du im Option-Register bit5 = 0 setzen (Timer Clock Source Select) => OPTION = 0b11011111; 2. Musst du im CMCON-Register (Comparator Control) bit3 = 0 setzen => CMCON = 0b11110111; Dann sollte es klappen...
Hallo Alex, ich habe deinen Ratschlag befolgt. Den Comparator kann ich aber nicht setzen, da der PIC 10F202 gar keinen besitzt. OPTION habe ich gesetzt, das gewünschte Ergebnis ist leider ausgeblieben. Muss ich vorher noch etwas an CONFIG-Bits setzen? Mein aktueller Quellcode:
-
Thread
Erstes Mal AVR
meinen Programmen -> das ist schon mal viel wert. Eine Frage habe ich allerdings noch: Die Fuse-Bit's, wie erkenne ich, ob ich die noch setzen kann oder nicht? Und sind das einfach die im Anhang? Gehört die Clocksource auch dazu, weil das wäre etwas ungünstig für mein Projekt. MFG Dave
Beitrag #2591868: > Dave Chappelle schrieb: > >> Eine Frage habe ich allerdings noch: Die Fuse-Bit's, wie erkenne ich, ob > >> ich die noch setzen kann oder nicht? Und sind das einfach die im Anhang? > >> Gehört die Clocksource auch dazu, weil das wäre etwas ungünstig für mein > >> Projekt
-
Thread
Eure Erfahrungen mit SD-Karten
eine Speicherzelle haben kann... Historisch zu sehen. MLC kam direkt nach SLC und steht für 2 Bits. SLC = 1 Bit pro Zelle MLC = 2 Bits, nicht mehr üblich TLC = 3 Bits, noch aktuell QLC = 4 Bits, aktuell PLC = 5 Bits, in Vorbereitung
Rainer Z. schrieb im Beitrag #7012163: > Umgekehrt. > SLC = Single Level Cell = zwei Ladezustände = 1 bit > MLC = Multi Level Cell = vier Ladezustände = 2 bit > TLC = Triple Level Cell = acht Ladezustände = 3 bit Stimmt. Und dann kommt QLC mit 4 Bit bei 16 Ladungspegeln... https://www.kingston.com/de
-
Thread
Einstellung Tastgrad bei Fast PWM
können um darin nachzusehen, welche Bits du setzen musst.
also, jetzt hab ich nochmal nachgeschaut. das WGM 12 Bit bei TCCR1A schaltet meiner meinung nach den CTC modus des timers 1 ein. da ich diesen modus nicht brauche sondern lediglich eine LED mit PWM ansteuern will, brauche ich das WGM12 bit auch nicht setzen
-
Thread
ATMEGA168 vs ATMEGA328 RC Oscillator
tmp3 bit bit bit bit bit bit bit bit sbrc tmp0,serialin inc tmp3 st z+,tmp3 inc count breq pc+2 rjmp in_loop
immer benötigt, alles nur eine Frage der Kurzzeitstabilität. Beim Manchestercode hat man nach jedem Bit eine Synchronmarke, bei UART muss man 10 Bit kurzzeitstabil sein, beim good ole PAL muss es eine Zeile a 64us stabil sein. >Können wir uns darauf einigen? OK.
-
Thread
LCD 4x20 hängt sich nach der Zeit auf!
das hier scheint mit etwas seltsam: [c] PORT = 0b00000010; // Interface auf 4-Bit setzen PORT = 0b00000010; // Interface auf 4-Bit setzen PORT = 0b00000010; // Interface auf 4-Bit setzen [/c] so ausm Bauch raus würde ich sagen man muss dazwischen den anable toggeln
LAMPE_GELB PD3 #define LAMPE_GRUEN PD4 #define LAMPE_TEMP_OK PD5 #define TURN_ON(port,bit) ( (port) |= ( 1 << (bit) ) ) #define TURN_OFF(port,bit) ( (port) &= ~( 1 << (bit) ) ) ...... void Ausgang_setzen (void) { if (PD0_PD1_Motor) { TURN_ON( MOTOR_PORT, MOTOR_1 );
-
Thread
nur ne frage zum tutorial
setze bit an der stelle von URSEL und UCSZ0 auf 1 aber was bedeutet 3<<UCSZ0? Bit auf 3 setzen geht ja schlecht und URSEL ist nicht das erste bit und UCSZ0 nicht das dritte. Bitte klärt einen blöden
Dokumentation zu den Bits zu suchen. Dahingehend sagt mir (1<<URSEL)|(3<<UCSZ0) zumindest wie die Bits die ich setzen will heissen und ich kann gezielt im PDF danach suchen. Mal ganz abgesehen davon, dass ich ohne
-
Thread
Handbetriebenen Drehgeber ohne Timer auswerten
herum bei geänderter Drehrichtung. Das reicht als Indikator. Vorgehen: die Schalterstellung als 2-Bit-Folge bei Änderungen in eine 8-Bit-Queue schieben und die Queue für die Drehrichtungserkennung nutzen. Wenn ich das obige Beispiel nehme, enthält die Queue als Ergebnis die Bitfolge xx000111 (Shift
encoder_temp = encoder_queue; // queue bits into a temporary variable if (encoder_temp & REVERT) { // if reverse bit (bit 6) is true... encoder_temp = ~encoder_temp; // ...reverse the temporary variable
-
Thread
Problem mit 16-Bit Zähler im Vergleichsmodus bei ATMEGA8
> Habe ich mich verrechnet oder müssen die Werte anders? Liegt daran, dass du versuchst das Bit WGM12 im falschen Register zu setzen.
Valentin Buck schrieb: > Also ich habe das mit dem Bit-Setzen von WGM12 jetzt mal weggelassen. > ... > Aber selbst mit 6349 im OCR1A blinkt der CHip nur ca. mit 1/5Hz! > Was ist da los? Was glaubst du eigentlich, warum ich deine Frage zu dem Bit oben
-
Thread
PWM & Timer ISR mit einem Counter?
Einfach von 0...255 laufen lassen, damit die ISR aufrufen und mit einem CTC Vergleich einen Pin setzen? Danke, Klaus.
Hi >Laut Datenblatt nahm ich an, dass das I-Bit gesetzt wird, aber dann auch >wieder gelöscht wird. Und fertig. Die Stelle aus der du das heraus gelesen haben willst möchte ich mal sehen. Das I-Bit wird durch einen ausgeführten Interrupt oder
-
Thread
MSP430 nanosekunden Tackt Timer
CALDCO_8MHZ_; WDTCTL = WDTPW + WDTHOLD; // Watchdog-Timer abschalten P4SEL &= ~BIT4; P2SEL &= ~BIT7; P4DIR |= BIT4; P2DIR |= BIT7; CCTL2 = CCIE; // Interrupt aktivieren für Kanal 2 CCR2 = 2;
8051 immer mit nur 1 Aber nur die mit großem Prescaler (12, 6, 4). Der AT89LP52 braucht für "CLR Bit" oder "SETB Bit" 2 Zyklen, d.h. 100ns bei 20MHz Takt.
-
Thread
STM32F3: IRQ-Prioritäten
ich durch Einrückung dargestellt. [c]#define NVIC_PRIORITYGROUP_0 (0x00000007U) /*!< 0 bits for pre-emption priority #define NVIC_PRIORITYGROUP_4 (0x00000003U) /*!< 4 bits for pre-emption priority #define __NVIC_PRIO_BITS 4U /*!< STM32F302x8 devices use 4 Bits for
PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ uint32_t PreemptPriorityBits; uint32_t SubPriorityBits; PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); SubPriorityBits
-
Thread
ATMega4809 EVSYS, total überfordert
c] sorgen scheinbar dafür sich Pin PF2 wie ein gesetzter Ausgang verhält. Obwohl kein Direction Bit gesetzt ist. Ich habe die Register dabei ausgelesen. Zeitgleich zieht es den Eingang PF1 ohne aktivierten Pullup bei mir immer sofort auf '1', wenn ich das Kabel von Masse nehme. Setze ich das PF2 Direction
lesen das das Eventsystem den I/O überschreibt. Das Verhalten von PF2 deutet jedoch daraufhin. Ich setze dennoch lieber das Direction Bit bis das eindeutig geklärt ist.
-
Thread
Frage zum Case Switch, bzw suche Konstrukt das nach bits schaltet
Guckst du z.B. hier: https://stackoverflow.com/questions/109023/how-to-count-the-number-of-set-bits-in-a-32-bit-integer
{ printf("Funktion 3 wurde aufgerufen\n"); } int main() { uint16_t flags = 0x3; do_ifBitIsSet(flags, 1, print1); do_ifBitIsSet(flags, 2, print2); do_ifBitIsSet(flags, 3, print3); } [/c]
-
Thread
LED_Laufschrift mit Mega 32 und MAX 7219
soweit alles, ich kann ja eigentlich fast alles machen ausser des flash programmieren, fusebits setzen,
funktioniert folgendermaßen: LOAD wird von HIGH auf LOW gelegt. Mit jeder Low-High-Flanke des SCK wird ein Bit über MOSI in die Schieberegister eingelesen bzw. 1 Bit weitergeschoben, bis alle 48 Bit übergeben wurden. Danach wird LOAD wieder auf HIGH gelegt und mit der Low-High-Flanke von LOAD werden die Daten
-
Thread
neues FPGA buch: "FPGA für alle"
process; count <= counter_reg; end Behavioral; [/code] An ChatGPT: "Mache daraus einen 5Bit Zähler" ==> Um den 4-Bit-Zähler in ein 5-Bit-Modell umzuwandeln, können Sie einfach die Größe des counter_reg-Signals auf 5 Bits ändern und den Ausgang entsprechend anpassen. Hier ist der aktualisierte
Prozessor arbeitete intern mit 16-Bit-Datenworten (14 Bit Daten, 1 Überlaufbit und 1 Vorzeichenbit (Einerkomplement)). Bei der Verwendung als Programmbefehl waren 3 Bit für den Opcode und 12 Bit für die Adresse reserviert.
-
Thread
altes 40x4 LCD - Zeile 2 und 4 ohne Ausgabe
welcher Controller und 4 oder 8Bit Ansteuerung? Da ich aber ein -2 bekommen habe, bin ich raus.
haben. Meine init: 0x30 0x30 ; 3x natürlich - ich hoffe, dass machst Du auch! 0x30 0x20 ; -> 4Bit (entfällt bei 8 Bit) 0x28 ; 2 Zeilen, 5x7 Pixel (0x38 im 8 Bit Mode) 0x0C ; Display an 0x04 ; Nicht schieben 0x01 ; Tafeldienst Michael B. schrieb im Beitrag #7957445: > 4-bit mode ?
-
Thread
AD-Wandler 8 bit
oder das ADLAR Bit setzen und die hast direkt die 8 Bit im ADCH Register stehen ohne schieben oder teilen zu müssen.
Thomas O. schrieb im Beitrag #2257749: > oder das ADLAR Bit setzen und die hast direkt die 8 Bit im ADCH Register > stehen ohne schieben oder teilen zu müssen. Ja, wer auf den Link klickt, bekommt das auch raus... ;-)
-
Thread
LED1 OK. aber LED2 blinkt nicht mit voller Helligkeit
DDRB = (1 << PB0); // Endlosschleife for (;;) { PORTB |= (1 << PB0); // bit im Portregister auf 1 setzen => LED leuchtet _delay_ms(100); // warten PORTB &= ~(1 << PB0); // bit im Portregister auf 0 setzen => LED aus _delay_ms(5000); // warten PORTB |= (1 << PB1); // bit im Portregister auf 1 setzen => LED leuchtet _delay_ms(500); // warten PORTB &= ~(1 << PB1); // bit im Portregister auf 0 setzen => LED aus _delay_ms(500); // warten