-
Thread
Meinung zum Display
sich der Farbwert eines jeden Pixels durch die Übertragung von nur 4 bzw. 8 Bit setzen.
läßt sich der Farbwert eines > jeden Pixels durch die Übertragung von nur 4 bzw. 8 Bit setzen. Ja aber es geht hier um ein konkretes Display. Wen interessiert was früher bei irgendwelchen alten Grafikkarten war?
-
Thread
VHDL Signal oder variable für 32bit Zähler
dies bei Variablen ja sofort. Das heißt ja auch, dass da nichts registered ist und das bei einem 32 bit Zähler zu glitches kommen kann. Wann also benutzt man jemals Variablen in VHDL?
die Verwendung des einen oder des anderen Gustav G. schrieb im Beitrag #7090087: > bei einem 32 bit Zähler zu glitches kommen kann.
-
Thread
"Class A/B" versus "Class D" Verstärker für HiFi-Anlagen
Gleichung > 16 bit mit 44ksps = 1 bit mit 2.884Gsps irgendwas zielführendes abgewinnen zu können.
1 bit DAC kam viel später, so 1990, und ist im Prinzip ein schwachbrüstiger ClassD. Zwischendurch gab es oversampling mit 5 bit DACs etc.
-
Thread
suche beispielcode für 16-Bit Timer (Mega 8)
1/256 // 1 0 1 1/1024 TCCR1B = 0b00000011; // Die Bits: TOIE1 OCIE1A NA NA TICIE NA TOIE0 NA TIMSK = 0b10000000; //TOIE1 = 1 => Timer Overflow 1 Interrupt wird ausgelöst sei(); while(1) { //Hier in Sleepmodus setzen so dass Interrupts
1/256 // 1 0 1 1/1024 TCCR1B = 0b00000011; // Die Bits: TOIE1 OCIE1A NA NA TICIE NA TOIE0 NA TIMSK = 0b10000000; //TOIE1 = 1 => Timer Overflow 1 Interrupt wird ausgelöst sei(); while(1) { //Hier in Sleepmodus setzen so dass Interrupts
-
Thread
LCD mit Infineon Entwicklungsboard
Enable-Puls static void lcd_enable( void ) { LCD_CTRLPORT |= (1<<LCD_EN); // Enable auf 1 setzen _delay_us( LCD_ENABLE_US ); // kurze Pause LCD_CTRLPORT &= ~(1<<LCD_EN); // Enable auf 0 setzen } // Sendet eine 8-bit Ausgabeoperation an das LCD static void lcd_out8( unsigned char data ) { LCD_DATAPORT = data; // Bits setzen lcd_enable(); } // Initialisierung: muss ganz am Anfang des Programms aufgerufen werden. void lcd_init( void ) { // verwendete Pins auf Ausgang schalten unsigned char pins
-
Thread
Interrupt aus main aufrufen AVR
Falk B. schrieb im Beitrag #7338750: > Weil die nur die Hardware setzen kann. Die CPU kann sie nur löschen! Dann erkläre bitte mal, warum das bei einem Bit gehen soll und beim anderen Bit nicht: • Bit 7 – RXCn: USART Receive Complete This flag bit is set when there
Hugo H. schrieb im Beitrag #7338767: >> Weil die nur die Hardware setzen kann. Die CPU kann sie nur löschen! > > Dann erkläre bitte mal, warum das bei einem Bit gehen soll und beim > anderen Bit nicht: Erklär mal, wie du das Bit setzen willst, wenn es heißt "The
-
Thread
VGA Grafikkarte mit AVR und 8MB SDRAM
Jo: http://www.analog.com/UploadedFiles/Data_Sheets/173587347adv7120.pdf 3*8Bit, also 24Bit Farbtiefe.
Ich weiß. Aber Du hast 3 Bustreiber auf der Platine. Also 24Bit. Die ungenutzen am TFT soll man ja auf 0 ziehen, sofern das Modul 24Bit RGB hat.
-
Thread
Arduino Mega 2560 Pro Mini - Arduino des Grauens!
Verstehe das nicht mit den Fuses. Im DB stehen Lock Bits. Der Fehler wird wohl auch nicht mehr reproduzierbar sein, nachdem der Controller einmal gebrannt wurde. Die LockBits werden durch den ChipErase zurückgesetzt. Unter 29.4 steht aber ausdrücklich
Das hatte ich doch geschrieben. Beim Rücksetzen der LockBits wird auch der Flash gelöscht - sonst wären die LockBits ja sinnlos... Im Falle des TE dürfte es aber nicht an den Fuses liegen.
-
Thread
AtMega2560: sbi, sbis Probleme
zweimal machen sollen. Wie ich geschrieben habe, wäre es, wenn du wenigstens das gleiche Portbit setzen und prüfen würdest. Tust du aber nicht. Prüfen tust du Bit1, gesetzt wird aber Bit0. Wenn du also geplant hattest, ein Input-Bit mit Zeitverzögerung an einem anderen Pin wieder auszugeben und dabei
k) ). In Fall 1 geht also die Logik schief (wenn Bit auf 0, dann auf 1 setzen, sofort danach das auf 1 gesetzte Bit wieder loeschen). In Fall 2 und 3 geht die Bitnummerierung schief wegen der anderen Bedeutung in den SBR/CBR-Befehlen.
-
Thread
AVR Register Beschreiben
raus um zb ein einzelnes Bit auf 0 oder 1 zu setzen, wenn es dafür auf einem Prozessor spezielle Instruktionen dafür gibt (wie zb beim AVR). (*) d.h. stimmt nicht ganz. Mit Bitfeldern kann man da was hindrehen. Was allerdings
Bits (d.h. das gezielte auf 0 setzen). Ob du das in einer einzigen Anweisung schreibst [c] PHY_CC_CCA = (PHY_CC_CCA & 0xE0) | 11; [/c] oder ob du das auf meherer aufteilst [c] uint8_t tmp =
-
Thread
ATMega8 an Serieller SS sendet Müll
Kannst auch Testweise mal das UCPOL-Bit setzen, das invertiert die Pegel. Manche Schnittstellen kommen mit 0 und 5V aus.
Thilo M. wrote: > Kannst auch Testweise mal das UCPOL-Bit setzen, das invertiert die > Pegel. Manche Schnittstellen kommen mit 0 und 5V aus. Zitat ATmega8 Datenblatt(10/06) Seite 157: > UCPOL > This bit is used for Synchronous mode only. Write this
-
Thread
STM32F103 Timer
Nr. 19 immer setze und bit nr. 3 setze bzw. lösche jenachdem ob eine 0 oder 1 kommt. So wird dann quasi gleichzeitig der Pin gesetzt und gelöscht, wobei das setzen gewinnt. Wie gesagt funktioniert auch wunderbar.
Beitrag #1824639: > Nein verwendet wird Pin 3, den erreiche ich, indem ich im das BSRR > Register das bit Nr. 19 immer setze und bit nr. 3 setze bzw. lösche > jenachdem ob eine 0 oder 1 kommt. Das entspricht aber nicht dem von Dir geposteten Code > GPRIOE->BSRR = data[0]; Das Gleichheitszeichen setzt
-
Thread
PIC12F683 2 LED auf ON
benötige: Zitat Sprut -> Damit ein Ausgangspin auch als Ausgangspin funktioniert, muss das zugehörige Bit im TRIS-Register des Ports auf 0 gesetzt werden. Ich werde das also heute Abend mal prüfen. Ich meine aber das ich im TRIS-Register alles auf 0 setze? Danke dafür, Gruß Reiner
as I/O, COUT pin is configured as I/O, Comparator output disabled, Comparator off. D.h. Du musst Bit 0-2 des CMCON0 auf 1 setzen.
-
Thread
HD44780+PIC18F25k22 Rise Time Probleme?
Nibble gelesen werden, sonst bist Du aus dem Takt. Das BF ist im ersten Nibble (Seite 22, Figure 9 4-Bit Transfer Example). Und mitten drin im LCD_WRITE geht schonmal gar nicht, sondern nur danach. Der Busy-Test geht frühestens auf den ersten Befehl nach dem Setzen des 4Bit-Mode. D.h. bis einschließlich
habe ich meine LCD-Lib so geschrieben, daß sie nur Bitbefehle benutzt. Viele MCs können einzelne Bits atomar setzen, d.h. ohne Seitenefekte auf andere Bits des selben Ports.
-
Thread
Taschenrechner - Algorithmen
kleine Beitrag ist im Elektor Juni 2015 auf Seite 79. Zum Zahlenformat: Zähler 32Bit Integer ------ * 10^y ------------- * 10^8Bit Integer Nenner 32Bit Integer also insgesammt sind es dann ein ... 9Byte Zahlenformat ... wo man bequem 8 Stellen Dezimal unterbringen
Beispiel: http://datamath.org/Related/Canon/F-720.htm Verwendet intern natürlich kein 32 Bit Float... hmmm, 24 Stellen Genauigkeit: 80 Bit für Mantisse und 8 Bit für Exponent?
-
Thread
Attiny 2313 einzelne Bits ansprechen
manchmal muss man sich die Macros selbst definieren: [c] #include <avr/io.h> #define sbit(_port, _bit) _port |= _BV(_bit) #define cbit(_port, _bit) _port &= ~_BV(_bit) #define tbit(_port, _bit) _port ^= ~_BV(_bit) [/c] Ich verwende nun aber nur noch dieses Macro, das ist viel leistungsfähiger
, _bit) _port |= _BV(_bit) #define cbit(_port, _bit) _port &= ~_BV(_bit) #define tbit(_port, _bit) _port ^= ~_BV(_bit) #define SBIT(port,pin) ((*(volatile struct bits*)&port).b##pin)
-
Thread
8 Kanal 50Ms/s AVR Logic-Analyzer
werden müssen und dann auch nur ein wechsel von "0" auf "1" eines bestimmten Bits erkannt wird. ich möchte jetzt z.b. durch meine Triggerlogik erreichen das die Aufzeichnung startet, sobald Bit 1 "0" wird, egal was die anderen 7 Bits grad treiben. Wie müsste ich dann Triggerbyte
nach Flanken high ->low oder low->high findet gar nicht statt. In deinem Beispiel stellst du also Bits 2-8 auf X. Diese Bits werden dann vom AVR in Maske _und_ Triggerbyte auf high gesetzt, sind am HC688 also immer passend. Das Bit 1 setzt du in der Software auf low. Der AVR setzt dann Maskenbit 1 auf
-
Thread
Bitmodus setzen und Soft reset - LCD mit HD44780
Moin, ich gucke mir jetzt schon den ganzen Tag die Funktionsweise der Ansteuerung für LC-Displays an (C-Code), leider ist in den Tutorials mein Anliegen nicht genauer beschrieben, jedenfalls kann ich es nicht finden. Es geht um die einstellung des Bitmodus (4 oder 8 bit). [c] lcd_out( LCD_SET_FUNCTION | LCD_FUNCTION_4BIT ); [/c] Dort wird über die Funktion PortD auf xxxx0010 geschaltet was aber nach dem Befehlssatz des LCDs nicht dem ändern des Bitmous entspricht. Nach dem übrigen Code müsste man entweder mehr Datenpins vom LCD ansteuern (wenn das LCD standardmäßig auf 8bit eingestellt
-
Thread
Avr 8bit VGA
/serial-vga allerdings zu teuer und nicht mehr im 8 bit Bereich. Ich möchte aber zwingend im 8 bit Bereich bleiben. Sonnst könnte ich für die VGA Ausgabe auch einen esp nutzen.
Und ein STM32F103-Board ist ein "8-Bit-Chip" im Dip-Gehäuse?
-
Thread
AT90USB162 Endpoint Interrupts funktionieren nicht
return; } } wfb(UEINTX, RXOUTI); clr(UEINTX, RXOUTI); } [/c] set und clr setzen bzw. löschen nur Bits in Registern. wfb ist lediglich eine Funktion die so lange eine schleife ausführt, bis ein Bit gesetzt wurde.
Normen überein, also, wo ist hier das Problem ? Hab ich vergessen wärend des Sendens irgend ein Bit zu setzen oder so ?
-
Thread
Bildverarbeitung/Auslesen CMOS Sensor
Idee. Aber gut, zur Kamera: MT9-Module gibt's z.B. bei EBay für ca. 20-30 Euro, allerdings mit 8Bit. Ein einfaches I2C-master-Modul reicht, um die Controller-Parameter zu setzen. (hab ich mit einem dieser Boards mal gemacht, ist kein grosser Aufwand). Zu USB: Ich kenne das TZEX-Board nicht,
Histogramm vom zweiten Bild. WR_IMG = '0' heißt, dass gerade das erste Bild geschrieben wird. Ist das Bit gesetzt, wird das zweite Bild geschrieben. Folglich müsste ich doch wenn ich das oberste Bit der BRam Adresse mit dem WR_IMG Signal setze auch das Histogramm für das erste oder zweite Bild schreiben
-
Thread
Einstieg in 8051 - Atmels AT89S52 oder?
2051/4051 auch beispielsweise den SH79F3212 mit 13 x 12 bit A/D, 1% genauem RC Takt, 8 x Touch-Key, 7 x 100mA Ports und I/Os mit wählbar 75/100/150/300 Ohm für 10,20,30,40 mA LED Strom in SOP20/SOP28. Silabs bietet 14-bit 1MSPS A/D oder 16*12bit A/D 4*12bit
> ist es "einfacher" einen integrierten ADC zu bedienen Das Starten reduziert sich auf das Setzen eines Bits in einem Register. > habe fertig Gibt es per Interrupt oder mit der Abfrage eines Bits in einem Register. Extern angebunden braucht es: - Pins fuer die Uebertragung - ein Protokoll
-
Thread
Zeitverzögerung von 800ms einbauen (Assembler)
wenns > erst im nächsten Projekt ist. Aber dann hat man sich bis dahin schon > gemerkt, dass man Bits einzeln ändern kann, und nicht das komplette > Portregister überschreiben muss. s.o. foo schrieb im Beitrag #4181456: > Also für auf high setzen würde ich auch nicht 0<<LED in den Port > schieben
im Timerinterrupt das Bit 0 jede ms, das Bit 2 alle 10 ms, das Bit 2 alle 100ms und das Bit 3 jede Sekunde. Dafür benötigst du entsprechend Zähler, die du in der ISR dann prüfst. Diese gesetzten Bits sind dann deine Ereignisflags
-
Thread
ATMega32 Fuse Bits und Anfänger Programm
loop: rjmp loop Leider liegt dann aber immernoch 3.98V an. Und wie muss ich die Fuse Bits setzen damit er mein 8MHz Quarz mit den beide 22pF Kondensatoren annimmt? Keinen Häkchen (PonyProg) vor CKOPT, CKSEL0, CKSEL1, CKSEL2, CKSEL3? ISt das richtig? ich möchte ihn nicht jetzt schon unbrauchbar
(low) auf out spl,r16 ;RAM-Ende setzen ldi r16,HIGH(RAMEND);Stackpointer (high) auf out sph,r16 ;RAM-Ende setzen Als Anhang nochmal die Config von meinem ATmega16, mmit internen 8 MHz - Takt.
-
Thread
nicht verwendete pins auf 0 setzen (lattice ispLever7.2)
> wie kann ich das machen (mit dem ispLever7.2)? Du definierst einen Vektor mit genausovielen Bits, wie du freie Pins hast: spare : out std_logic_vector(10 downto 0); und weist dem einen Null-Vektor zu: spare <= (others=>'0');
>ich möchte wie oben schon erwähnt, nicht verwendete pins auf 0 setzen. Eingangs- oder Ausgangspins ? SuperWilly
-
Thread
ISR und atomarer Zugriff auf 16bit Variable
> Da sieht man mal die Vorteile eines 32-Bitters, da ist das alles for > free;) AVR ist 8-Bit, oder W.S.?
gehabt. Sowas kann in auch mal entstehen, wenn man generischen Code verwendet, der nicht immer mit 8 Bits auskommt.
-
Thread
Can Controller "SJA1000" Probleme mit Register
Höchstwarscheinlich kommt nämlich genau das an, was Du gesendet hast! Bedenke, daß verschiedene Register bits haben, die man geseondert setzen/lesen muss. Der SJA1000 hat ausserdem in den verschiedenen Modi (BasicCan/PeliCAN) ein unterschiedliches Registermapping. Gruß, Patrick...
Clear Bit (CBI) geht so: sfr &= ~BITx Set Bit (SBI) geht so: sfr |= BITx Wenn das Register also "CDR" heist, dann würde ein 'CBI CDR, 7' so aussehen: CDR &= ~BIT7 BIT0 bis BIT7 sollten in den headerfiles
-
Thread
Bit Array in C
Mahlzeit, wie Rene H. vorgeschlagen hat, hier als Makros: // Bits in einer Bitspur setzen/rücksetzen/testen #define SETBIT(ByteArr,Bit) ((ByteArr)[Bit/8] |= (1<<(Bit%8))) #define CLRBIT(ByteArr,Bit) ((ByteArr)[Bit/8] &= ~(1<<(Bit%8))) #define TSTBIT(ByteAry,Bit
Bit >> 3] |= (1<<(Bit & 0x07))) [/c]
-
Thread
Nokia Farbdisplay 3510i / 6100
hat hier schonmal jemand mit anderen farb formaten gearbeitet, also 8 oder 16bit? bei 8bit tut sich bei mir gar nichts und bei 16bit hab ich nur graustufen. Die 12 Bit geschichte ist zwar schön und gut wird aber spätestens dann sehr unpraktisch wenn man nur 1 pixel übertragen
also falls es noch jemanden interresiert der 16 bit farben mode funktioniert ohne weiteres, war nur ein dummer Fehler. für den 8 bit farben modus muss man erst die Look Up Table setzen (obwohl im Datenblatt steht das sie nach einem Reset bereits mit
-
Thread
Labornetzgerät - Fragen zum Schaltplan
wenn sie nicht galvanisch verbunden sind. Man müsste externe D/A-A/D Wandler auf jedes Netzteil setzen (was sich, weil 10 bit eher nicht ausreichen und mehr am uC eher gestört sind, sondern man 12 bit haben will, sowieso anbietet), und z.B. seriell mit Optokopplern verbinden, und hat dann gleich den
insofern ist das kein Zusatzaufwand. > Man müsste externe D/A-A/D Wandler auf jedes Netzteil setzen Oder je Kanal einen eigenen µC verwenden. Das sind ja nun wirklich nicht solche Wertgegenstände, als dass man da sparen müsste. > (was sich, weil 10 bit eher nicht ausreichen Wieso?
-
Thread
Verständnis-Hilfe
Stelle Bitzuweisung. Beim AVR ist es bei der GCC Toolchain vorgesehen, dass die Zuweisungen an 8-Bit oder 16-Bit Register erfolgen. Bei einzelnen Bits muss man also Zuweisungen benutzen, die die restlichen Bits unverändert lassen. Bsp /* Port A.Pin 0 zwischen HIGH und LOW umschalten */
unter "einen Byte auf 4 Pins" verstehst. Wenn du ein Byte einem Register zuweist, dann werden alle 8 Bit ausgegeben. Wenn das nur 4 Bit sein sollen, mußt du das entsprechend maskieren, und davon, was du maskierst, hängt dann ab, welche Bits geschrieben werden.
-
Thread
Problem mit if-Anweisung im USART-Receive-Interrupt AtMega128
ist und dazu gehören auch Anweisungen, die ausser dem Gewollten noch andere Dinge machen, wie zb Bits setzen/löschen die sie eigentlich in Ruhe lassen sollten.
und dazu gehören auch > Anweisungen, die ausser dem Gewollten noch andere Dinge machen, wie zb > Bits setzen/löschen die sie eigentlich in Ruhe lassen sollten. Ich werde den ganzen Code mal in Ruhe überarbeiten und gegebenenfalls verbessern. Kann ich ihn dann diese oder spätestens nächste Woche posten
-
Thread
4x20 Zeichen mit KS0066 funktioniert nicht (4-Bit)
setzen CALL LCD_command_8 ; LCD-Kommando in 8-Bit CALL WAIT_15ms LDI temp, 0x30 CALL LCD_command_8 CALL WAIT_15ms LDI
data bit 3 #define LCD_DATA0_PIN 3 *< pin for 4bit data bit 0 #define LCD_DATA1_PIN 4 *< pin for 4bit data bit 1 #define LCD_DATA2_PIN 5 *< pin for 4bit data bit
-
Thread
Ampelschaltung funktioniert nicht
Also, du hast 3 LED Rot, Grün und Gelb. Nun nimmst du eine Variable und spendierst der diese 3 Bits. [avrasm] Ampel_LED: .Byte 1 ; Bit 0 = Rot ; Bit 1 = Gelb ; Bit 2 = Grün ; Bit 3-7 nicht benutzt [/avrasm] Nun überlegst du, wie viele Ampelphasen es gibt: 1=nur Grün 2=nur Gelb 3=nur
man nutzen, indem man dieses Muster in ein Variablenfeld packt. [avrasm] Phase1: .Byte 1 ; nur Bit 2 setzen, alle anderen auf 0 Phase2: .Byte 1 ; nur Bit 1 setzen, alle anderen auf 0 Phase3: .Byte 1 ; nur Bit 0 setzen, alle anderen auf 0 Phase4: .Byte 1 ; nur Bit 0 und 1 setzen, alle
-
Thread
Elektor - nächste Ausgabe mit R8C/13 Platine
Der M16C (und daher auch der R8C) können Bits direkt ansteuern, also einzelne Bits setzen und auch löschen. Wie sagt man das dem Compiler, ohne Assembler nutzen zu müssen ? Wenn man das so macht, wie beim AVR (PORT|=1<<Bit), dann macht der Compiler auch genau das (also Port einlesen, Bit setzen, zurückschreiben). Wenn man ein struct mit den ganzen Bist erstellt, dann geht das, aber das ist umständlich und nicht kompatibel zu anderen Compilern...
-
Thread
WS2812/2811 mit PIC asm.Verzweiflung!
: Hole nächstes Byte aus Speicher in X Bitzaehler = 8 Schleife2: Schiebe X ein Bit nach links ins Carry Wenn Carry gesetzt, springe zu Led_An Setze DOUT=1 <Verzoegerung Bit0_High> Setze DOUT=0 <Verzoegerung Bit0_Low> Springe zu Nächstes_Bit Led_An: Setze DOUT=1 <Verzoegerung Bit1_High> Setze DOUT=0 <Verzoegerung Bit1_Low> Nächstes_Bit: Bitzaehler-- Wenn Bitzaehler > 0 springe zu Schleife2 Bytezaehler-- Wenn Bytezaehler
-
Thread
Marderschreck Softwareproblem
der ADC-Interrupt immer an der gleichen Stelle auftreten wird. Mach es ordentlich. ADC mittels setzen von ADSC starten. Das ADSC Bit bleibt solange gesetzt, wie der ADC am arbeiten ist und wenn der ADC fertig ist, dann setzt er dieses Bit wieder auf 0 zurück. Den ADC Interrupt braucht dazu kein Mensch
fehleranfälliger. Und bei der Gelegenheit benutzt du dann auch gleichg eine ordentliche Schreibweise zum Setzen der Bits und nicht dieses Binär-gehampel ... [avrasm] .... ; AD-Converter setup: ; If ADLAR is set, the result is left-adjusted, 8 bit ; ADC channel 3 ldi temp, (1<<ADLAR) |
-
Thread
Interner Pullup Widerstand, Buttonansteuerung klappt nicht
); } int button_is_pressed() { /* the button is pressed when BUTTON_BIT is clear */ if (bit_is_clear(BUTTON_PIN, BUTTON_BIT)) { _delay_ms(25); if (bit_is_clear(BUTTON_PIN, BUTTON_BIT)) return 1; } return 0; } // sendet ein Datenbyte an
output */ #define BUTTON_PIN PINB /* PINx - register for button input */ #define BUTTON_BIT PB0 /* bit for button input/output */ #define LED_PORT PORTB /* PORTx - register for LED output */ #define LED_BIT PB1 /* bit for button input/output */ #define LED_DDR
-
Thread
Messung niedriger Frequenzen schlägt fehl
, dass zum Zurücksetzen des Input Capture Flag das Bit ICF1 gesetzt werden muss. Aber mit dem Befehl REGISTER1 |= (1<<BIT1) wird doch nur das Bit1 im Register1 gesetzt, oder?
Sash uM schrieb im Beitrag #2413860: > Aber mit dem Befehl > REGISTER1 |= (1<<BIT1) > wird doch nur das Bit1 im Register1 gesetzt, oder? Da diese Schreibweise identisch ist zu REGISTER1 = REGISTER1 | (1<<BIT1) werden daher dann auch alle anderen Bits erneut als 1 in
-
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
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
Wie bekommt man bitte zwei DWord in das lds si, rein ?
DWord (Double Word) = 32bit passt nicht in ein Word = 16bit Willst du deine Frage also nochmal anders stellen Ein segment oder offset kann (bei dir) nur Word breit sein
plane masking function OUT scDATA, &HF ' select all four planes OUT gcINDEX, gcBitMask ' select CPU bit masking function OUT gcDATA, &H0 ' unmask all bits IF (dstPage < srcPage) THEN ofs = CLNG(srcPage - dstPage) * 16000 DEF SEG = &HA000 + dstPage
-
Thread
Erfahrung RX62N Renesas
Anweisungen mehr. Unnötig? Ach du Kac..! Da wird ja jedesmal eine Subroutine aufgerufen, bloß um ein Bit zu setzen. Ich zeig mal als Beispiel, wie der DMA-Controller eingeschaltet oder wie ein /CS-Ausgang aktiviert werden (RX210). ;DMAC.DMAST.BIT.DMST = 1; // DMAC freigeben 00000100 FB5E002208
Matthias Laubnitz schrieb im Beitrag #2730477: > Was bedeutet#define MMC_MSTPCR_SCI SYSTEM.MSTPCRB.BIT.MSTPB30 /* SCI Module stop setting */ /** SET **/ > bzw. was muss ich hier einstellen (RX62N)? Siehe Datenblatt 9.2.3 Du mußt das Bit auf '0' setzen, um das SCI1-Modul einzuschalten
-
Thread
Getakteter Zweiflankendetektor
Schaue dir doch die Datenblätter der beiden ICs mal an 7493 ist ein 3bit und ein 1bit Zähler in einen Gehäuse Da nimmst du den 3bit zähler. Der zählt immer durch von 0-7 Die Ausgänge des Zählers gibst du auf einen BitVergleicher 7485 Eingang A Den Eingang B verdrahtest
das weiter Dann nimmst du halt nen programmierbaren und stellst den auf -1 (bzw binär 111 bei 3bit oder 1111 bei 4 bit Zählern der Rest ist identisch)
-
Thread
Wie wird "elegant" ein BIT in Timer-Register gesetzt ?
SBI und CBI -Befehle nicht mit den Timer-Registern wie z.B. TCCR1B. Jetzt möchte ich aber z.B. das BIT ICES1 setzen oder löschen. Ich habe es so gelöst: in R16, TCCR1B ori R16, 0b01000000 ; BIT setzen out TCCR1B, R16 in R16, TCCR1B andi R16, 0b10111111; BIT löschen out TCCR1B, R16 so richtig übersichtlich und lesbar ist das ja nicht ... . Besonders spannend ist es, wenn man das BIT "togglen" möchte, d.h. wenn es 1 ist auf 0 setzen und imgekehrt. Dazu habe ich ein Flag mitlaufen lassen ... So richtig "schön" ist das nicht ... Wer hat eine Idee ? Wie kann man es denn noch lösen
-
Thread
debugWIRE mit JTAG ICE mkII
verification of the Flash and EEPROM is disabled in Parallel and Serial Programming mode. The Boot Lock bits and Fuse bits are locked in both Serial and Parallel Programming mode." Die LB1 und LB2 werden dort als "Memory Lock Bits" bezeichnet. Jetzt darf spekuliert werden...
Richtig, so sehe ich das auch. Man kann per debugWIRE *keine* Fuses setzen. Man hat lediglich Einfluss auf DWEN, und dieses Bit lässt sich auch nur löschen. Du schriebst aber: > ... auch Fuses setzen ... Ein Fuse-Bit haben wir jetzt ja geklärt. Und weiter? Ich für meinen
-
Thread
AVR Einstieg / Probleme mit Programm Interrupt
Port komplett beschreibst. D.h. dein nächster Punkt lautet: Einzelbitoperationen an einem Port Bit setzen (am Beispiel Pin 3) PORTB |= ( 1 << PB3 ); Bit löschen PORTB &= ~( 1 << PB3 ); Abfragen, ob Bit gesetzt ist if( PIND & ( 1 << PD4 ) )
Karl Heinz Buchegger schrieb im Beitrag #2917136: > Einzelbitoperationen an einem Port > > Bit setzen (am Beispiel Pin 3) > > PORTB |= ( 1 << PB3 ); > > Bit löschen > > PORTB &= ~( 1 << PB3 ); > > Abfragen, ob Bit gesetzt ist > > if( PIND & ( 1 << PD4 ) ) Das habe ich
-
Thread
Doppelbelegung an PIC 16F690
> eines PIC bei der config nötig ist, wenn ich einen externen Quarz > angeschlossen habe? > > bit 13-12 Reserved: Reserved bits. Do Not Use. steht ja da. Nicht benutzen. Schau im Datenblatt des Prozessors nach, ob Du die Bits auf 0 oder 1 setzen musst. > bit 11 FCMEN: Fail-Safe Clock Monitor
bit > 1 = Internal External Switchover mode is enabled > 0 = Internal External Switchover mode is disabled siehe Datenblatt, kannst Du auf 1 setzen > bit 9-8 BOREN<1:0>: Brown-out Reset Selection
-
Thread
LCD Initialisierung W162B-N3LW
DelayUs(15000); // Verzögerung indestens 15Ms LCD_Nibble(0x3); // Interface auf 8-Bit setzen DelayUs(5000); // Verzögerung mindestens 5Ms LCD_Nibble(0x3); // Interface auf 8-Bit setzen DelayUs(5000); // Verzögerung mindestens 5Ms LCD_Nibble(0x3); // Interface auf 8-Bit setzen DelayUs(5000); // Verzögerung mindestens 5Ms LCD_Nibble(0x2); // Interface auf 4-Bit setzen DelayUs(5000); // Verzögerung mindestens 5Ms LCD_cmd4(0x28);
-
Thread
Zahl hochzählen lassen
ABER: wie kann ich dann aus den 48 Bits, 7 Bits herausnehmnen und diese dann einzeln hochzählen lassen, sofern die 7 Bits so angeordnet sind, dass sie wie Dualsystem-mäßig stehen. danke
x x e x x c x x xxxxxxx xxxxxxx wofür die einzelnen Bits stehen: 0...17. Bit interessiert nicht, das sind sonderzeichen auf dem Display (ph-Wert, °C, +,-,....) 18.Bit - 4e 19.Bit - 4g 20.Bit - 4f 21.Bit - 4a 22.Bit - 4b 23.Bit - 4c 24.Bit - 4d