-
Thread
Mini-Farbdisplay (+mehr) für 1 Euro
Funktionen besser als eine mit zusätzlichem > Parameter, wie im Datenblatt? Es ändert sich ja nur ein Bit.. Ich würde sagen es ist egal. Die Dritte Möglichkeit wäre A0 jeweils vor dem Aufruf der write Funktion direkt passen zu setzen. > Können /RESET und RD vom Display fest verdrahtet werden oder
meinen Kollegen ob ich den hier posten darf. Nur so zur Info, der Code läuft zurzeit auf einer 32bit mcu. Ist aber kein Problem auch auf einem 8bit hinzubekommen. Zum ätzen, die Polygone waren eigentlich nicht aktive, doch ich hatte Probleme mit dem setzen der Masse Fläche, und dann hat der mir
-
Thread
Assembler Variablen setzen
Hallo Leute habe da mal ne frage zu ASM (nicht inline ASM) Wenn ich in assembler Variablen deklariere Lenge_01 EQU 1 Lenge_02 EQU 1 Lenge_23 EQU 1 wie kann ich ihnen werte zuweisen? also wenn ich folgendes mache passiert leider nix: LDA 8 STA Lenge_01 LDA 1 STA Lenge_23 LDA 30 STA Lenge_02 Weiss jemand rat? ich programmiere mit einem C167 von infineon. Es würde mich auch weiter bringen wenn jemand ein beispiel für einen anderen µC hat. Oder zumindestens einen Denkanstoß wie ich es realisieren kann.
-
Thread
bidirektionale RS232 Funkbrücke mit RFM12
Benedikt K. wrote: > Bei Integration stehen auch nur die Bits als 1 oder 0 im Datenblatt. Hmm - das riecht nach Bugs im Chip oder undokumentierten Features. Einfach mal anders setzen und schauen, was passiert? ;) Ich frage mich auch die ganze Zeit schon,
Bit Setzen Befehl übersetzt.
-
Thread
Nachfolger für ATMega gesucht
denen auch ein AVR. Der STM32 z.B. hat bei den GPIO: - zuschaltbare PullUp/Down Widerstände - Setz-/Clear Register um einzelne Bits zu ändern, ohne dass ein Read-Modify-Write nötig ist (-> Threadsicher / Interruptsicher) - Matrix um einige Peripherie-Funktion auf unterschiedliche GPIO Pins legen
zuschaltbare PullUp/Down Widerstände Haben andere auch, auch der AVR, wenn gleich nur Pull Up. > - Setz-/Clear Register um einzelne Bits zu ändern, ohne dass ein > Read-Modify-Write nötig ist (-> Threadsicher / Interruptsicher) Ist gut, aber historisch eher ein Workaround für den eher langsamen IO-Zugriff
-
Thread
C++ auf einem MC, wie geht das?
bitte eine Antwort auf die Frage des TO. Nur am Rande: er hatte nicht gefragt, ob und wie man ein Bit in Assembler setzen kann.
VM leben. Ein Embedded Programierer würde dafür eher pro Port ein Byte reservieren und dort ein Bit für jeden belegten Pin setzen.
-
Thread
STM32 GPIO setzen, löschen, abfragen
Bits auf einmal setzen/löschen.
Bits sowohl setzen als auch löschen, wobei setzen gewinnt wenn beides für das gleiche Bit verlangt wird. Damit lassen sich über port->BSRR = 0x000F0000 | data; alle 4 Datenbits auf den Portbits 0..3
-
Thread
Was ist aus dem Thread der MeteoData geworden? Gesperrt
Ich vermute, dass C immer unterschiedlich ausfallen, da K immer anders ist. Wenn sich die 40 Bit wirklich aus C und E zusammen setzen und E durch eine Paritäts-Matrix gewonnen wird müßten sich die 40 Bit mindestens um 3 Bit unterscheiden (ein geändertes Bit in C und folglich 2 geänderte Bits in
Bit geschoben wird und ne 1 rausfällt wird nen XOR mit dem Generatorpolynom gemacht. Wenn ich nun das letzte Bit von 0 auf 1 setze und die CRC von dem Original Telegramm habe (letztes Bit 0), kann ich
-
Thread
EleLa - Elektronik Lagerverwaltung ab V2.0
Im ZIP sind zwei Dateien "elela" und "elela.64" mit mehreren MB größe. Die eine ist die EXE für 32 Bit und die andere für 64 Bit Linux. Ich weiß jetzt nicht was für ein Linux Du hast, entsprechend bei der Date das Bit "Ausführbar" setzen, dann wenn man die EXE ausführt sollte EleLa auch starten. Das
sind zwei Dateien "elela" und "elela.64" mit mehreren MB > größe. > Die eine ist die EXE für 32 Bit und die andere für 64 Bit Linux. > Ich weiß jetzt nicht was für ein Linux Du hast, entsprechend bei der > Date das Bit "Ausführbar" setzen, dann wenn man die EXE ausführt sollte > EleLa auch starten
-
Thread
24Bit RGB zu 16Bit wandeln
die ganze Zeit klar zu machen. Mal eine anderer Ansatz: Stellt Euch vor, das Ganze müsste auf 1 Bit pro Farbe gekürzt werden. Wie würdet Ihr runden? Oder doch einfach nur alle Werte ab 128 auf 1 setzen und darunter auf 0? Falk: Wo kommen die Punkte in 'dockland_16_bit_rounding.png' her?
Hier mal ein Converter der 24bit bmp in 16bit für AVR macht. Grüße Steffen
-
Thread
Probleme mit mehr als 8 Bit rausschreiben
Hallo! Hab ein Problem mit meinem Mikrocontroller. Ich kann ganz normal 8 Bit rausschreiben über die SPI, hab das Ganze über einen Logikanalysator aufgenommen und ausgewertet. Bei dem Versuch, 16 Bit über die SPI rauszuschreiben, schreibt der Mikrocontroller trotzdem nur 8 Bit
Nachtrag: Zitat aus dem Datenblatt: "The AD5291/AD5292 shift register is 16 bits wide (see Figure 2). The 16-bit input word consists of two unused bits (set to 0), followed by four control bits, and 10 RDAC data bits."
-
Thread
ATtiny25 - EEPROM - Write ohne Verschleiß
sid schrieb im Beitrag #6170805: > wenn ich nen bit setze/lösche ist das doch ein schreibzyklus.. Nein. Als Schreibzyklus zählt nur wenn die Bits von 0 auf 1 gesetzt werden. Wenn sie von 1 auf 0 gesetzt werden zählt das nicht. Du kannst also
Atmel als auch Microchip reden über E/W Cyclen, also erst Löschen und danach Schreiben. Falls setzen eines einzelnen bits von 0 auf 1 möglich wäre, würde Erase nicht nötig sein. Deswegen gelten E/W Cyclen auch nur Byteweise, nicht bitweise. Da aber das setzen eines bits auf 0 kein Erase erfordert
-
Thread
Benötige Hilfe beim programmieren eines Microkontrollers!
Bescheid was man machen muss. PDIP Gehäusepin 9 wäre PB.6 [c] DDRB |= (1<<DDB6); // PB6 Ausgang, Bit setzen PORTB |= (1<<PB6); // PB6 einschalten, Bit setzen PORTB &= ~(1<<PB6); // PB6 ausschalten, Bit löschen [/c] Eigentlich ganz simpel oder :-) Edit: Binärschreibweise würde ich mir
vordefiniert sind: Veit D. schrieb im Beitrag #5659105: > DDRB |= (1<<DDB6); // PB6 Ausgang, Bit setzen > PORTB |= (1<<PB6); // PB6 einschalten, Bit setzen > PORTB &= ~(1<<PB6); // PB6 ausschalten, Bit löschen Phil P. schrieb im Beitrag #5658952: > möchte nur klarstellen in welche >
-
Thread
Wie 8-Bit Zähler sicher auslesen?
CummingsSNUG2008Boston_CDC.pdf Andere Variante: Graycode-Counter nehmen. Da ändert sich pro Zählschritt nur ein Bit. Im Zweifelsfall hast du einen Fehler von +-1 Bit.
und den Zählerstand des Counters im Mikrocontroller kontinuierlich ausgeben. > Man könnte die 8 Bit 256 mal lesen Der 74HC393 ist ein dualer 4-Bit Counter, kein 8-Bit Counter.
-
Thread
Zusammenfügen von 2 mal 8 bit zu einem 16 bit Wert funktioniert nicht richtig
yupper=255; //ylower=255; y=((int16_t)yupper<<8)|ylower; // Aus 2 8bit ein 16bit ocr[1]=y; Die "Symptome" sehen so aus: -Setze ich yupper und oder ylower selber wie im Kommentar oben als Beispiel mit jeweils 255 sieht das auf dem Oszi so aus wie
interessant: 2.41.2 Overlay-Technik > ... Seite 124f Wenn das wirklich meint: Byte-Komponenten setzen und lesen einer 16-Bit Variablen aus der Union, dann entsorg das Buch zum Altpapier. Der C-Standard sichert nur zu, die zuletzt geschriebene Komponente einer Union auch wieder auszulesen. Alle anderen
-
Thread
Bit von Port einlesen
wieso send? Ich denke send repräsentiert deinen Eingangsport, von dem du das Bit abgreifst? Wieso I_O auf 0 oder 1 setzen? > SCLK =1; //Sobald SCLK aug high ist liest der empfänger > IC > wait(); > SCLK = 0; > } Ein paar Dinge allgemeinerer Natur
falsche Routine kopiert:) ) for (i=1;i<=8;i++){ if (I_O) send |= (1<<7); //Bit 7 von send setzen else send &= ~(1<<7); //Bit 7 von send löschen send = send >>1; //rechts verschieben wait(); SCLK =1; wait(); SCLK =0; }
-
Thread
Fusebits setzen AVR-Studio/AVR OSPII
programming mode... Checking programmer type ... Found AVR ISP Entering programming mode... Fuse bits read = 0xFFFF ( 1111111111111111 ) Leaving programming mode... Checking programmer type ... Found AVR ISP Entering programming mode... Programming fuse bits... Selected device has no extended fuse bits! Leaving programming mode... Was könnte nicht stimmen??? Ich weiß nicht mehr weiter! Gruß Björn
-
Thread
Die I2C Schnittstelle eines PIC16F876A initialisieren
// STOP Bit setzen return; }
//Register^=BIT; //TransmitData(Adresse); //Daten senden return; } void TransmitData(AufweckAdresse) { int Zieladresse = 10100010; // Start Enable Bit setzen SEN = 1 //STATUS_RP0 = 1; SEN
-
Thread
Problem beim Setzen der Fuses
Hallo, ich habe etwas vorschnell das RSTDISBL-Fuse-Bit umgesetzt (mit dem STK500 über AVR Studio V 4.13) um einen zusätzlichen IO-Pin zu haben. Nun krieg ich die Fuses nicht mehr so umgestellt, dass ich über ISP den uC (ATm168) programmieren kann. Die
ich bei RSTDISBL ein Häckchen machen und bei SPIEN keins. Setze ich das in AVR Studio (natürlich im Modus PP/HVSP mode) um, bekomme ich nach dem Programmieren des Fuses RSTDISBL die Warnung: Fuse bits verification.. FAILED Ich bin ratlos...
-
Thread
Atmel ist unter "Profis" nicht gerade beliebt - Warum?
Die Automobilindustrie setz fast ausschließlich auf HC12/Super12 (z.B. Body-Computer), die Einspritzung MPC5xx oder TriCore 32-Bit, ABS/ESP hat oft zweimal ARM7-Core, Battery-Sensor ARM7-Clone, NEC850 (Body-Computer, Servolenkung
Was mich an den AVRs etwas stört ist die Tatsache, daß man die Fuse-Bits explizit setzen muß. Beim PIC ist das Teil des Hex-Files und dadurch deutlich einfacher handhabbar. Allerdings hat hier jemand PonyPorg Script erwähnt. Vielleicht sollte ich mal herausfinden, ob man
-
Thread
Wechselrichter Hoymiles HM-xxxx 2,4 GhZ Nordic Protokoll?
Hallo Thomas das setzen des CRC16-Polynom in Zeile 66 kann aber nicht ganz stimmen, das sind mehr als 16 bit. Und wenn ich nur 0x8005 und bei online-CRC16M Rechnern eingebe kriege ich nicht das gewünschte Ergebnis. Vllt
Idealfall unter verschiedenen Betriebsbedingungen. Natürlich muss dem Wechselrichter irgendwo ein Bit gesetzt werden, dass die DTU die Leistungsvorgabe setzen muss (der WR damit ohne Kommunikation abschaltet) und dann muss die DTU die Leistungsanforderung eben regelmäßig in der WR schreiben. Die DTU
-
Thread
24 bit signed in einer 32bit variablen?
Setze einfach die höchsten 8 Bit ([31:24]) gleich Bit 23 (also dem MSB von [23:0]). Dank Zweierkomplement klappt das :) Grüße, Martin
also -8 als Zahl darstellen will [code] 0000 XXXX S0000000000000000001000 (X = egal, S = Sign Bit) Bit 23 = 1 bedeutet dann wohl negative Zahl. 0000 XXXX 10000000000000000001000 [/code] Martin B. schrieb im Beitrag #3076116: > Setze einfach die höchsten 8 Bit ([31:24]) gleich Bit 23 (also
-
Thread
12Bit DAC als 8Bit DAC verwenden
"Wenn ich die unteren 4 Bit nicht beschalten bzw. 0 oder 1 setze dann komme ich enteweder nicht auf den Maximalen ausgangswert oder nicht auf den minimalen Wert." Keine Angst, das passt schon... rechne Dir einfach mal aus was
"Wenn ich die unteren 4 Bit nicht beschalten bzw. 0 oder 1 setze dann komme ich enteweder nicht auf den Maximalen ausgangswert oder nicht auf den minimalen Wert." Du kommst schon auf den max. Spannungswert, nur der ist nicht
-
Thread
PPS5330 Labor-Netzteil hack
Habe gerade gesehen das man Usoll auch auf 16Bit setzen kann. Das spart ein wenig Prozessor Ressourcen ;)
SOFT_SPI_MOSI_DDR |=(1<<SOFT_SPI_MOSI_BIT); SOFT_SPI_CLK_DDR |=(1<<SOFT_SPI_CLK_BIT); // MOSI und CLK auf HIGH setzen SOFT_SPI_MOSI_PORT|=(1<<SOFT_SPI_MOSI_BIT); SOFT_SPI_CLK_PORT |=(1<<SOFT_SPI_CLK_BIT); // MISO
-
Thread
AVR 8bit auch für größere Projekte?
Code und 8kBytes RAM setzen. ODer eben, falls massive Berechnungen nötig sind (MP3, Video, ...) Alles drunter ist klassiches 8Bit-Terrain, wo die höher integrierten ARMs einem das Leben nciht unbedingt schwerer, aber oft auch
Methode, was? ;-) Aber in der Tat, unser Motto unterscheidet uns. Deiner zweifelhaften Innovation setze ich Pro 8-Bit Einfachheit entgegen! SimplyAVR. Jörg Wunsch schrieb im Beitrag #4091455: > Schön, wenn man in solch einfachen Denkmustern arbeiten kann. Und die enthält kein bischen Wahrheit
-
Thread
Wittig(welec) DSO W20xxA Hardware
implementiert. Allerdings habe ich festgestellt, dass es ausreicht den Registerwert einfach auf Null zu setzen, statt der aus dem Protected Flash geladenen 0x02020800. Dadurch werden die Filterbits nicht gesetzt und das Ergebnis ist wirklich nicht übel. Mit Bit 28 kann man übrigens so eine Art Testsignal
entsprechend am Display korrekt ausgibt. Das Teil funktionierte, jedoch übersah ich, dass für das Setzen eines Bits einer Plane, das entsprechende Pixel gelesen und dann verodert werden musste! Bei einem 32 Byte Line Cache bedeuted dies 8 Lesezugriffe zusätzlich pro Pixel bei vertikalen Linien. Das
-
Thread
Timer auf 0 setzen!
du musst das entsprechende regisster auf 0 setzen. beim mega8 und timer 0 wäre es TCNT0
hast): Es gibt weder in C noch in Assembler einen speziellen Befehl, um einen Timer irgendwie zu setzen (wohin auch immer). Du musst schauen, in welchem Steuerregister die entsprechenden Bits stehen, mit denen Du dem Timer sagen kannst, ob er laufen soll oder nicht (ich denke mal, das ist es was Du mit
-
Thread
AVR-ChipBasic2 - BASIC-Computer mit ATMega 644
Danke Jörg, so ähnlich habe ich mir das auch schon gedacht. Kann ich denn irgendwie dieses Bit hochzählen bei jedem tastendruck und abhängig vom Wert im Bit die unterschiedlichen SPI Geschwindigkeiten anzeigen lassen? Und wenn ich speicher dann sehe ich welcher Wert gerade das Bit hat und setze
alle Bits belegt. Das zweite Config-Byte liegt in r19/GPIOR1, hier sind m.W. noch Bit 3 und Bit 7 frei. Bit 0-2 ist die EEPROM-Adresse und Bit 4-6 das gewählte Autostart-Programm. Vom dritten Config-Byte (tempreg3
-
Thread
SSD1306/1309 Library zum Darstellen von Text auf OLED Displays
0x78 // Display addresse // last bit (0) is write mode //(1) is read mode ACK 0x40 // Befehl folgt ACK 0xB0 // Setze Page 0 0xB0-B7 für page 0-7 ACK 0xD3 // Setze Display offset ACK 0x05 // 0x00 - 0x7F Für Spaltenoffset 0-127
aber ich glaube mich erinnern zu können, dass es dafür ein Befehl für das Display gibt. Also nur ein Bit setzen und fertig.
-
Thread
Das Ende von 8bit?
drin hat ist doch eigentlich nur Nervig bei der Entwicklung. Da muss man ja erstmal 200 Register setzen damit das Ding überhaupt was macht. Ich hab eh das gefühl dass viele µC-Pherieferien im 32bit-Sektor Speziallösungen von großen Firmen sind, die man halt auch so auf dem Markt anbietet. Wie
schon soweit, dass die Blitz-LED-Anschalt-App fürs Android-Phone 5MB groß ist, was vmtl nur das Setzen eines Bits ist. Aber hey... Es geht ja auch so und der Speicher ist ja groß genug. So kann man den Fortschritt auch voran treiben. Irgendwann sind in den Handys ultrakleine, stromsparende Terabyte-Speicher
-
Thread
Wird ein Interrupt gespeichert?
Dieter F. schrieb im Beitrag #5182185: > ein Bit kann man nur setzen oder löschen - > ob mehrfach oder einfach spielt keine Rolle. Und genau das verstehst du nicht. Du mischst Aktion (= Bit setzen) mit Reaktion (= Bit ist gesetzt). Wenn du eine Tasse voll Wasser hast (= Bit ist gesetzt) kann du in diese Tasse eine weitere Tasse Wasser kippen (= Bit setzen). Die Tasse ist dann immer noch voller Wasser (= Bit ist immer noch gesetzt), das ändert aber nichts daran, dass du
-
Thread
Ganz kurz - Die richtige Art ein Bit zu setzen
So ... Langsam blick ichs nimmer ... Welches ist denn nun die richtige Art ein Bit eines Ports zu setzen (am Beispiel eines atmega8). Sagen wir ich will an PORT D, das 0te Bit auf 1 setzen .. Wie mache ich das .. cbi und sbi ist ja veraltet (lt. Doku), und loop_until_bit_is_set
nicht, kann mir jemand erklären was der Unterschied ist: 1. TIMSK = _BV(TOIE0); //ich dachte ich setze das bit (=1)? 2. TIMSK |= _BV(TICIE1); //bit löschen (=0) ? 3. TIMSK &= _BV(TICIE1); //was passiert jetzt? 4. TIMSK = _BV(TOIE0); ist das gleiche wie TIMSK = (1<<TOIE0); ???
-
Thread
Bit Manipulation
Hallo zusammen, ich bin C-Anfänger und möchte gerne geziehlt ein DDR-Register mit einer Variablen setzen oder löschen. Dabei dürfen bestimmte Bits im DDR-Register nicht verändert werden. zB. DDRA= 0x11100000b Variable A = 0x00001100b Ergebis: DDRA = 0x11101100b wenn Variable A nun 0x00000001
richtig ausgedrückt. doch, aber es sollte doch klar sein: - aktuellen Status auslesen - alle Bits, die verändert werden dürfen, auf Null setzen - mit deiner Variablen verodern
-
Thread
CAN-Bibliothek für den at90CAN128 und das AVRStudio
alter Thread, habe aber dazu eine Frage: Kann ich mit dem AT90CAN128 irgendwie das Reservierte Bit im Controllfeld auf Dominant setzen ? Also: Bit: Request Bit: IDE BIT: Reserviert <<<---- das hier Bit: DL3 usw. Habe da einen AT90CAN128 mit der oberen Lib (Mischung
probier mal das Bit 0 oder 1 im CANIDT4 Register zu setzen
-
Thread
Genesys 2 (Xilinx Kintex 7): Audio-Codec Implementierung und Filteranbindung
Was macht der FIR bei dir noch alles? Sieht reichlich kompliziert aus ... Als Eingang werden 16 Bit Daten verwendet (Q1.15: 1 VZ Bit und 15 für den Nachkommaanteil). Die Koeffizienten sind ebenfalls 16 Bits groß (Q1.15). Das Produkt zweier Q1.15 Zahlen ergibt eine Q2.30 Zahl (2 VZ Bits und 30 Bits
/ Control: 1-bit (each) output: Control Inputs/Status Bits .OVERFLOW(OVERFLOW), // 1-bit output: Overflow in add/acc output .PATTERNBDETECT(PATTERNBDETECT), // 1-bit output: Pattern bar detect
-
Thread
C - Bit eines Bytes beschreiben
); // Bit auf 1 setzen x &= ~( 1 << Bitnummer ); // Bit auf 0 setzen > Könnt Ihr mir sagen, wie es einfacher geht. Was gefällt dir daran nicht?
Bitnummern kann man sich auch definieren. Ungefähr so... [c] #define BITF (1<<15) ... ... #define BIT8 (1<<8) #define BIT7 (1<<7) #define BIT6 (1<<6) ... ... #define BIT0 (1<<0) [/c] ...sieht das dann beim MSP430 aus, weil der ja eine 16Bit-Maschine ist. Beispiel für Bit 3 und 4... setzen
-
Thread
Auslesen des *.hex-Files trotz setzen der Lockbits möglich
geupdatet werden liege ich da richtig? falls ja, dann wäre die richtige Einstellung 1. Lock bit Protection Mode 1 oder 2 2. Application Protection Mode 2 3. Boot Loader Protection Mode 2 und am Schluss nochmal 4. Lock bit Protection Mode 3 Warum? "Lock bit Protection Mode 1&2" läßt eurer
> Unsicherheit dadurch das schreiben des Flashs weiterhin zuzulassen. Das Schreiben kann nur 1-Bits löschen, d.h. bestehenden Code wirst Du bestenfalls mit Unsinn beschreiben.
-
Thread
Brauche Unterstützung beim OV7670 (bzw. SCCB)
Hallo, nach Rest sind sie triState und der interne PullUp ist aus. Setze ich den Pin über DDR auf Ausgang ist die Push-Pull-Stufe aktiv. Schalte ich TWEN aktiv ist die Ausgangsstufe openDrain, meiner Erinnerung nach völlig unabhängig vom Zustand des DDR-Bits (da müßte
ist die Windowsposition auf "automatisch" was das auch immer heißt. Ich werden das mal auf manuell setzen. Register 0x3A (TSLB) Bit [0] muß ich mir auch noch anschauen. Ansonsten eben Register 0x17...0x1a [HSTART/HSTOP/VSTRT/VSTOP]. Dummy-Zeilen und Pixel kann man auch noch einfügen, wo und wozu? Noch
-
Thread
STM32: Bit am Pin setzen mit AF?
Meine Frage: Kann man vielleicht auch mit dem Alternate Function Mode ein Bit einfach nur setzten? Die Zeit in der das Bit einfach nur gesetzt ist leider nicht immer dieselbe. -----...---__--__--__--__...
Dann Konfiguriere direkt auf PWM , also alternativen mode. Für den Pin zu setzen/löschen brauchst du dann nur PWM = 100 % oder gleich 0% setzen.
-
Thread
BLB-Bits zur laufzeit setzen (ATmega64)
Hallo Zusammen! was mache ich denn nun wieder falsch: der Aufruf #include <avr/io.h> #include <avr/ina90.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/pgmspace.h> #include <avr/boot.h> #include <avr/eeprom.h> char bits; bits =....; boot_lock_bits_set(bits); resultiert in wüsten Beschimpfungen des Compilers an meine Code: 'BLB01' undeclared (first use in this function) 'BLB02' undeclared (first use in this function) 'BLB11' undeclared (first use in this function) 'BLB12' undeclared (first use in this function) muss ich denn noch mehr AVR-Header
-
Thread
Buch AVR von Günter Schmitt durcharbeiten
Dieter F. schrieb im Beitrag #4953598: > Mit Vorzeichen kann ein Bit nur -128 bis +127 darstellen. -200 gibt es > nicht (in einem Bit). ein Bit? Meinst Du nicht eher ein Byte?
Hi, falls das des Rätsels Lösung ist: Zitat: "...die Pseudobefehle cbr und sbr löschen bzw. setzen Bits in einem Arbeitsregister. Sie adressieren keine Bitpositionen wie sbi und cbi, sondern enthalten konstante Masken., die mit einer 1 die zu verändernde Bitposition angeben..." "...Bitoperationen
-
Thread
Fuse und Lock Bits
noch etwas durcheinander (Fuses "setzen", etc.). Ich zitiere mal den entsprechenden PonyProg-Dialog (trotz den komischen Englischs sicherlich verständlich): [x] Checked items means programmed (bit = 0) [ ] UnChecked items means unprogrammed (bit = 1)
-
Thread
Definition von 2 Bit in einem 8bit Register
Zunächst ein Makro um aus einem gegebenem Bit die entsprechende Zahl zu machen: #define BIT(x) (1<<x) Nun kann man ein Bit SETZEN: a |= BIT(y); // setzt das Bit Nr y in der Variable a und natürlich auch löschen: a &= ~BIT(y);
setzen dieser Bits ein paar Bit-Operationen notwendig sind, die einem bei einem Bitfeld der Compiler 'under the hood' macht.
-
Thread
WordClock mit WS2812
schicken, das dürfte die CPU ein wenig entlasten? Allerdings kostet es etwas mehr RAM, ein WS2812B Bit entspricht bei mir 4 Bits im SPI.
Das mache ich mit *DMA* + Timer doch genauso? > Allerdings kostet es etwas mehr RAM, ein WS2812B Bit entspricht bei mir > 4 Bits im SPI. 4 Bits oder 4 Byte? Du kannst mir ja mal Deinen geänderten Source zuschicken, schaue ich mir gerne an. :-)
-
Thread
Atmega EEPROM auf nicht veränderbar setzen
, kannst Du die Kalibrierungsdaten in den Flash-Speicher schreiben und das entsprechende Lockbit setzen.
kannst Du die Kalibrierungsdaten in den > Flash-Speicher schreiben und das entsprechende Lockbit setzen. Da habe ich leider keine Platz mehr.
-
Thread
Denkfehler mit PCA9536 (Problem)
I2C_start(slave_address); // Addressiere Device I2C_write(register_index); // Setze lesezugriff Register Index i2c_start(slave_address | 0x01 ); // Starte Lesezugriff mit READ bit gesetzt d=i2c_readNak(); // Schreib Leseergebnis in d I2C_stop(); return
jetzt zwei PCA9536 oder einen PCF8574 oder PCA9554. Wenn Du z.B. zwei unabhaengighe Bitgruppen zu je 4-bit haben willst geht das auch indem Du die Bitgruppen aufteilst und durch OR und ANDING steuerst. z.B. bits_high = 15; // Wert von 0-15 erlaubt bits_low = 15; // Wert von 0-15 erlaubt // Setz
-
Thread
SPI 16 bits zu 11bits
quarz angeschlossen ist? Aber nochmal kurz zum Hardware SPI ne andere Idee wenn ich nun 16 bit zum DAC schicke und nach 16 bits haufhöre schreibt der da die 5 bit am anfang wieder rein oder bei einem solchen fall da verhalten undefiniert?
Übrigens: Nur weil der Wandler 11Bits erwartet, heißt das nicht unbedingt, dass man exakt 11 Bits senden muss. Das ist ein Trugschluss! Stell dir vor du hast ein 11-Bittiges Schieberegister und schiebst 16Bits herein. Na, welche Bits
-
Thread
64/128 Bit Softcore
> mit 256bit auf dem Ram zugreifen Welche RAMs haben denn 256bit???
Peter II schrieb im Beitrag #2293737: > eine normale 32bit CPU kann auch mit 256bit auf dem Ram > zugreifen. ...und was macht die 32-Bit ALU dann mit den 256 Bits im nächsten Taktzyklus??? EBEN!
-
Thread
Nur 1 Bit mit SPI
When the pin is forced by the SPI to be an input, the pull-up can still be controlled by the PORTB5 bit. So könnte es also ohne Abschaltung der SPI gehen: Ich nehme mal an, das SCK im Ruhezustand low ist: - PortB Bit 5 setzen // Pull Up setzen - DDRB Bit 5 rücksetzen // damit wird der PullUp
pin is forced > by the SPI to be an input, the pull-up can still be controlled by the > PORTB5 bit. > > So könnte es also ohne Abschaltung der SPI gehen: > > Ich nehme mal an, das SCK im Ruhezustand low ist: > - PortB Bit 5 setzen // Pull Up setzen > - DDRB Bit 5 rücksetzen // damit wird
-
Thread
LED Tisch mit Berührungs-/Gegenstandserkennung
mehrfach-Einspeisung in der Software. Für einen 10x10 RGB-Touch-Tisch sind das 100 Slaves. Jeder hat 24 Bits zu bekommen, ergibt 2400 Bits. Mal Framerate von 25 ergibt 25 x 2.400 Bits = 60.000 Bits pro Sekunde. Vorsichtshalber betreiben wir den Bus mit 100 kBit, dann sind wir nicht in einem technisch kritischen
relevante Bit-Slot zu Ende?
-
Thread
Ausgänge setzen in C/ Anfänger
Hallo, um einen enstprechenden Portpin als Ausgang zu setzen musst du einfach das entsprechende Bit im DDRX Register setzen. (Das X steht für den jeweilgen PORT(A,B,C, D) ). Wenn das Bit des Portpins null ist ist es ein Eingang. In deinem Bsp. wäre des dann
Oh ok, und wie setze ich in denn auf high?