-
Thread
Der gcc soll bitte mehr Fehler finden
ähnliches erreicht man wohl mit Bitfeldern in der struct, aber das ist umständlich, wenn man mehrere Bits gleichzeitig setzen muss.
erreicht man > wohl mit Bitfeldern in der struct, aber das ist umständlich, wenn man > mehrere Bits gleichzeitig setzen muss. Hi Bauform B, darf ich nochmal nachfragen: ich verstehe deine Frage nicht. Dein Code nutzt doch structure mapping? Zumnindest zeigst Du später C++ Fehlermeldungen
-
Thread
übelste Höhenwiedergabe Onkyo DX7222 CD-Player, abschreckendes Beispiel
gut, die Cd ist aus der Anfangszeit de rCD-Pla<er. Da steht in manchen Zeilen: " hier spricht 14 Bit an" " hier spricht 15 Bit an" " hier spricht 16 Bit an" Was passiert dann in einem 18-bit Player oder in einem 20-bit-Player? Diese habe ich bereits in freier Windbahn gesichtet. Da muß doch das
Christian S. schrieb im Beitrag #7359636: > Was passiert dann in einem 18-bit Player oder in einem 20-bit-Player? Natürlich bekommen auch diese nur 16 Bit von der CD. Aber irgendwelche digitalen Operationen (Oversampling + digitale Vorfilterung) profitieren von der erhöhten
-
Thread
Signaldecodierung eines Drehmoment-Sensors
Methode des Soll-Ist-Vergleichs an das Thema herangehen würdest? Also Eingang mit Ausgang in Bezug setzen? Man gibt es bestimmtes Drehmoment, z.B. Null auf den Eingang des Systems und misst den Ausgang? Ohne einen solchen Zusammenhang (und den hast du entweder nicht parat oder uns nicht mitgeteilt)
würde mehrere Drehmomente auflgen und betrachten, wie sich die Daten verändern. Wenn es nur bestimmte Bits sind, werden das die LSB sein. Bleibt eines immer auf Null, ist es eventuell ein Startbit. Verteilt sich die Änderung einer langsamen Drehmomenterhöhung auf alle Bits und ist jedes mal betroffen, könnte
-
Thread
Tiny402 Clock Prescaler deaktivieren mit CCP in ASM
Prescaler der clock des Tiny402 deaktivieren. Ich weiß dass ich im Register CLKCTRL_MCLKCTRLB das letzte Bit dafür auf 0 setzen muss (DB Seite 83) und vorher im CCP (Configuration Change Protection) den Wert 0xD8 reinschreiben muss (DB Seite 57). Das scheint aber nicht zu funktionieren ... Microchip Studio
/lock bit. This bit must be written to '1' in the same operation as the data are written. Main Clock Lock: This provides protection for the CLKCTRL.MCLKCTRLA and CLKCTRL.MCLKCTRLB registers and calibration
-
Thread
Empfehlung für bessere Lautsprecherboxen am Schreibtisch gesucht
ordentliche Kopfhörer? Das ist auch die billigste Lösung mit bestmöglicher Qualität. Dazu einen 24bit USB DAC für 15-20€ wenn die onboard Soundkarte nichts taugt. Aktive Nahfeldmonitore haben teils mehrere Eingänge, ansonsten halt Mischpult oder Vorverstärker.
oben schon geschrieben, man muss auch Lust drauf haben. Man ist flexibler, und kann Schwerpunkte setzen. Blöd wirds dann aber, wenn die Lautsprecher (+ Verstärkung) so gut sind, dass man gleich hört, dass eine CD-Aufnahme ziemlich mies ist (was einen vorher, unter "normal" - Bedingungen nicht gestört
-
Thread
STM32F407igt6 defekt?
Adapter > kann ich aber mit dem Chip Kontakt aufnehmen. Dann kannst Du ja mal versuchen, dasHSEON Bit im RCC_CR zu setzen - falls das klappt und Du mit dem Oszi dann nichts messen kannst, sollte der Chip wirklich hinüber sein.
aber kein Kontakt möglich. Nur über ST_Link. Kannst Du mir das "wie" genauer erklären? "dasHSEON Bit im RCC_CR zu setzen" Geht das über ST-Link? Wenn ich den CHip irgendwo günstig bekommen könnte, wäre ja gut, aber wie es aussieht ist die günstigste Variante den zu bekommen, genau mein defektes
-
Thread
Pin in abhängigkeit einer variablen ein/aus-schalten
der > Variable benutzen kann? Man kann den Code hinter einem Makro verbergen: [c] #define writeBit(port,bit,value) { if ((value)>0) (port) |= (1<<bit); else (port) &= ~(1<<bit); } writeBit(DDRD,3,ledOn) [/c] Aber wirklich eleganter ist das auch nicht. Ich habe früher zu viele solcher Makros
produziert in der Regel genau den gleichen Maschinencode, ist also nicht ineffizient: [c] void setze_status_led(bool ein) { if(ein) { DDRD |= (1 << PIND3); } else { DDRD &= ~(1 << PIND3); } } setze_status_led(ledOn); [/c] Wobei man auch aufpassen
-
Thread
Debian minimalst Installation
die-architektur machen. Dann Sachen wie den /etc/hostname, /etc/network/interfaces, /etc/fstab, usw. setzen. Dann ein chroot rein (bei anderen Architekturen, einfach qemu-user-static installieren, damit das geht). Passort setzen nicht vergessen! (und/oder einen weiteren User anlegen & sudo installieren).
Längsten, so daß ich meine Pfennige am ehesten auf den langfristigen Fortbestand dieses Projekts setzen würde.
-
Thread
Literatur zum Selbstbau von Sendern und Empfängern
https://github.com/threeme3/usdx am besten. Ist ein 5W QRP KW-Tranceiver auf der Basis eines Atmel 8Bit AVR ATmega328.
ich noch nach holen. Dann habe ich mich mit SDR Empfängern beschäftigt von ein paar billigen ( 8bit) bis dann hin zum einem netten Model mit ( 14bit ). Dann kamen verschiedene Antennen Konzepte ran da ich leider etwas wenig Platz habe für einen Aufbau von großen Antennen wurden es dann Loop , Rahmen
-
Thread
STM32 USART1 IT Bytes verlust
MMM schrieb im Beitrag #7351522: > Wenn dies > der Fall ist, dann setze ich darauf einen Breakpoint. Vergessen zu erwähnen: Testwiederholung: Breakpoint entfernen, kurz laufen lassen und neu setzen. Damit auch niemand auf die Idee kommt die verlorenen Bytes sind vom
Bit. Bei Start + 9Bit Daten + Parity + Stop sind das 12 Bitzeiten. Ist der Sender nur etwas zu schnell, geht das nächste Startbit verloren. Ein weiteres Stoppbit gibt dann deutlich mehr Luft für Timingabweichungen
-
Thread
Pic 10F220 toggelt nur mit 120kHz
Fehler? [c] // CONFIG #pragma config IOSCFS = 8MHZ // Internal Oscillator Frequency Select bit (8 MHz) #pragma config MCPU = OFF // Master Clear Pull-up Enable bit (Pull-up disabled) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled) #pragma config CP = OFF // Code protection bit (Code protection off) #pragma config MCLRE = OFF // GP3/MCLR Pin Function Select bit (GP3/MCLR pin function is digital I/O, MCLR internally tied to VDD) #include <xc.h> void main(void) {
-
Thread
Audioeinsatz von Digitalpotis
+N clickless) PGA2310/2311/2320 (TI, +/-15V +32..-95dB 0.0003 THD+N, 20 EUR) TC9153=PT2253 (dual 7 bit dual 6 bit Audio up/down Inputs, TC9154=PT2254=shift register inputs) BH3532 (Rohm) WM8816 (Wolfson) TC9235=PT2256 (Toshiba/Princeton 0.3Vrms Stereo -78dB 0.01% Loudness VU-Meter) M62429 (Mitsubishi
2,5V und +2,5V versorgen für Audio. Auch sonst sind deren Daten nicht gerade high end. Für das Setzen von Spannungen nimmt man typisch multiplizierende DACs bis 16 Bit (String aus 65536 Widerständen). Digitalpotis sind viel zu grob gestuft. Ich wüßte eigentlich überhaupt kein Einsatzgebiet für Digitalpotis
-
Thread
NVMCTRL - ATTINY 416
PS: Falls mehrere Seiten geschrieben werden, muss natürlich nach dem Setzen von ERWP entweder stur ca. 10 ms gewartet werden, oder man fragt FBUSY ab.
> Liegt das nicht eher daran, dass SYSCFG0.EESAVE nicht gesetzt ist? ich kann das Flag nicht setzen weil ab und an während des Betriebs die Cal-Daten geändert werden müssen. Oder lässt sich das Flag "On the Fly" Ein- und Ausschalten? Ciao
-
Thread
Rest Bestimmen in Float
Hallo, ich habe zwei Tabellen drin mit jeweils 12 Bit Adresse. Da sind noch reichlich Ressourcen übrig. Grüße, Jens
Umgekehrt muss man mit dem FPGA in beiden Fällen keine 64 Bit realisieren. Oftmals reichen 40...48Bit und damit eine an jeder Stelle optimierte Auflösung, was sehr viele Resourcen sparen kann. Man muss sich eben die Mühe machen und "unterwegs" beim Rechnen
-
Thread
DMX-Empfang mit STM32F767
huart5.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; huart5.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_RXOVERRUNDISABLE_INIT;//UART_ADVFEATURE_RXOVERRUNDISABLE_INIT if (HAL_UART_Init(&huart5) != HAL_OK)
HAL_TIM_Base_Stop_IT(&htim2); uint32_t time_since_break = __HAL_TIM_GET_COUNTER(&htim2); uint32_t bit_time = (SystemCoreClock / 250000) / 8; // calculate bit time for 250 kbps baud rate uint32_t data_offset = (time_since_break - bit_time) / bit_time; // Check that the data offset
-
Thread
ESP32 sethostname klappt nicht
angebliche Lösungen ausprobiert. Gibt auch Bug Reports. Der Hostname eines ESP32 WROOM lässt sich nicht setzen fürs Wifi. Weder die Reihenfolge der Befehle verändern, noch das Löschen des Flashs, noch Resetten der Fritzbox oder wifi.mode (STA) etc halfen etwas. In der Liste steht immer ein ESP-xxxxxx und das
Lösung: Hostname lässt sich NUR setzen, wenn WIFI_AP ausgewählt ist. Reicht einmal, danach ist er im Flash dauerhaft drin. Die Meldungen von ESP Now sind widersprüchlich... Die Sendefunktion liefert OK aber das Callback dann FAIL, weil
-
Thread
tuidude - Textuserinterface für AVRDUDE unter Linux
wirklich gut und nützlich aus Weder gut, noch nützlich. Warum? Fuses z. B. bestehen aus mehreren Bits. Es ist sehr einfach jedes einzelne Bit mit seiner Funktion und dem Wert anzuzeigen.
Das wird aber enden. Und das wird diesmal voraussichtlich schneller gehen als damals bei dem 16Bit-Kram.
-
Thread
Unbelegter Speicher mit Resetvektor belegen
Schutzschaltung bekommen und darf dann ganz von vorne anfangen... Schauen was Sache ist, Freigabe neu setzen, Leistungshalbleiter ansteuern.
bestehst > den Test. Wahrscheinlichkeit.... Also wenn das Fehlerbild nett genug ist und die richtigen Bits kippen lässt, die MCU tatsächlich auf den Befehlsadresse und nicht knapp daneben springt, bestehe ich, ansonsten nicht? Na da lasse ich den unbenutzten Speicher doch wie er ist, setze auf den WDT und
-
Thread
allgemeine PicoMite Anfängerfragen
7-Bit Addressing The standard addresses used in these commands are 7-bit addresses (without the read/write bit). MMBasic will add the read/write bit and manipulate it accordingly during transfers. Some
schreibt, ungerade Adresse liest. Wie macht das PicoMite? Übergebe ich bei I2C read/write eine 8-Bit Adresse und PicoMite ändert Bit 0 entsprechend Lesen/Schreiben, oder ich übergebe eine 7-Bit-Adresse, PicoMite hängt Bit 0 dran (und verschiebt damit alle Bits 1 nach links)?
-
Thread
Display Chip ST7789V Library
dokumentiert sind. Das ist da so üblich, ... Also entweder für Register den Leitung entsprechend setzen, das Byte über SPI rausschreiben, und für Parameter entsprechen die Leitung invertieren. bei 9bit, das entsprechende bit entsprechend setzen, ...
2. 0x36 schreiben (8 Bit) 3. RS (Pin 9) = 1 4. 0x00 schreiben (8 Bit) 5. RS (Pin 9) = 0 6. 0x3a schreiben (8 Bit) 7. RS (Pin 9) = 1 8. 0x05 schreiben (8 Bit) ........u.s.w ??
-
Thread
2m Amateurfunk
programmieren - daher auch meine Frage: welche Frequenzen würdet ihr zwischen Duisburg - Hirtshals setzen, damit ich unterwegs nur noch die Kanäle scannen bzw umschalten muss. Eine andere Möglichkeit habe ich auf der Autobahn nämlich nicht.
#7346730: > daher auch meine Frage: welche Frequenzen würdet ihr zwischen Duisburg - > Hirtshals setzen, damit ich unterwegs nur noch die Kanäle scannen bzw > umschalten muss Die Relaisfrequenzen. Die Chance, einfach im Vorbeifahren auf der Autobahn überhaupt jemanden auf einer Direktfrequenz zu
-
Thread
Bitte um Hilfe mit Verständnis, ISR von Timer usw.
oben demonstrierten Probleme beim Lesezugriff. Mmh. Auf dem ATMega1284 *sind* Zugriffe auf die 16-bit TCNTn-Register atomar: "16.3 Each 16-bit timer has a single 8-bit register for temporary storing of the high byte of the 16-bit access. [...] When the low byte of a 16-bit register is read by the CPU
for > temporary storing of the high byte of the 16-bit access. [...] When the > low byte of a 16-bit register is read by the CPU, the high byte of the > 16-bit register is copied into the temporary register in the same clock > cycle as the low byte
-
Artikel
AVR Net-IO Bausatz von Pollin
Konfiguration - AVR-Prog. Benutzer von AVR-Prog können die nachfolgenden Einstellungen für die Lock- und Fuse-Bits verwenden. Hierbei handelt es sich um die ausgelesenen Einstellungen eines funktionsfähigen Controllers. Allerdings sollte, laut Handbuch des AVR-NET-IO-Boards, das Fuse-Bit EESAVE eigentlich gesetzt
Bastelkiste ersetzt. Alle haben jedoch auf Anhieb funktioniert Bausatz gekauft Ende Januar 2009. Die Lock-Bits (u.a. für PonyProg2000) werden falsch beschrieben. Die in Klammern aufgeführten Werte stimmen bei einem Bit nicht. Die Texte "Programmiert/Unprogrammiert" hingegen schon. Bei den Bauteilen gab es 4
-
Thread
Wie nennt man das Überprüfen von Code?
Und A. S. schrieb im Beitrag #7345593: > Es gibt viele gute wichtige kleine Funktionen. Ein Bit zu setzen oder ob > eine Zahl in einem Bereich ist. Wer mit einem McCabe < 10 (von mir aus auch < 20) lediglich ein Bit setzen oder eine Zahl auf größer/kleiner testen kann, sollte vermutlich keine
n schrieb im Beitrag #7346947: > Wer mit einem McCabe < 10 (von mir aus auch < 20) lediglich ein Bit > setzen oder eine Zahl auf größer/kleiner testen kann, sollte vermutlich > keine professionelle Software entwickeln. Da stimme ich Dir zu. Es gibt trotzdem hilfreiche Funktionen mit McCabe <=2
-
Thread
ATMEGA32A: korrupte Daten im EEProm nach Spannungsverlust
Ben B. schrieb im Beitrag #7344115: > Fuse-Bit Einstellung meines Atmega, siehe beigefügtes Bild. Mach mal an CKOPT ein Häckchen, dann schwingt der Quarz stabiler.
ruhig noch eine CRC oder so dazupacken. Defaultmäßig sind die Flashzellen auf 0xffff, also alle Bits gesetzt. fchk
-
Thread
Alten Gaming-PC aufrüsten
Während es Supreme Commander zwar auch für die Xbo360 erschien, gab es das erfolgreiche und auf 64 Bit Plattformen 3 GiB ausnutzende Addon Supreme Commander: Forged Alliance für die Konsole nie und der Mod sowieso nicht. https://www.faforever.com/ Und dann sind da noch die Graphic Mods und Weltenerweiterungsverbesserungen
Schrauber a.D. schrieb im Beitrag #7343767: > AMD RX 6700-XT Die neuen Karten setzen alle ein UEFI Bios voraus. Wenn du das nicht hast, brauchst du noch eine alte Karte zum Booten, sonst bleibt der Bildschirm schwarz. Glaubst du nicht? Dann finde es selbst heraus, das kostet einige
-
Thread
AT32UC3A TWI Repeated Start
Funktionsaufruf durchzuführen und wenn ja, welche Register muss ich dafür in welcher Reihenfolge setzen. Vielen Dank im Voraus
Start-Kondition 2. der Master sendet ein Adressierungsbyte, was die Adresse des anzusprechenden Slaves und ein Bit zum Unterscheiden, ob es im folgenden ein Lesen oder Schreiben sein soll, enthält. 3. der Master sendet/empfängt Bytes. Der jeweilige Empfänger quittiert jedes Byte mit einem ACK oder er rührt sich
-
Thread
Vektor mit wiederkehrendem Bitmuster befüllen
innerhalb eines Takts einen std_logic_vector(119 downto 0) mit einem wiederkehrenden Bitmuster von je 24 Bit Breite befüllen. Also alle 24 Bits das Gleiche.Beispielsweise x"1f1f1f". Geht das irgendwie, ohne den gesamten Vektor hinschreiben zu müssen? Wenn ich das über ein Schieberegister mache, müsste ich
habe leider keine Idee wie ich das bewerkstelligen könnte. Du musst alle FFs parallel taktsynchron Setzen bzw. Zurücksetzen. > einen std_logic_vector(119 downto 0) mit einem wiederkehrenden Bitmuster > von je 24 Bit Breite befüllen. Beispielsweise x"1f1f1f". > Geht das irgendwie, ohne den gesamten
-
Thread
Arduino Blue Pill & CAN mit SN65HVD230
#7399501: > soweit hab ich es jetzt. Es funktioniert. Ich habe aber die Zuweisung > über den Befehl bitWrite bzw bitRead gemacht. Ich weiß nicht ob das ein > Arduino spezifischer Befehl ist. Ja, die (Makro-)Definition von bitWrite und bitRead finden sich in C:\Program Files (x86)\Arduino\hardware
bitWrite (CAN_TX_msg.data[1], 1, WeicheSBHSudGleis1abbiegenState); bitWrite (CAN_TX_msg.data[1], 2, WeicheSBHSudGleis1geradeausState); bitWrite (CAN_TX_msg.data[1], 3, WeicheSBHSudGleis1abbiegenState
-
Thread
Inkrementalgeber an CMOS Dekadenzähler CD4017
cast auf uint32_t erfolgen. [c] uint32_t temp = 0; temp = Wire.read(); // und zum 32 Bit Wert formen temp |= (uint32_t)Wire.read() << 8; temp |= (uint32_t)Wire.read() << 16; temp |= (uint32_t)Wire.read() << 24; [/c] Und das while in der loop kann auch weg. Setze einmal in der
erfasst, dann kannst Du in der ISR auch die Ausgangsimpulse mit feiner Auflösung erzeugen. Ein 16-bit Timer ist dafür ungeeignet. Auf einem STM32 dauert die ISR für die Verarbeitung von uint32_t Werten < 1 µs.
-
Thread
HEX Datei bearbeiten und dann flashen
Bereich speichern. Der lässt sich auch unabhängig vom eigentlichen Programm beschreiben. Durch setzen von Lock-Bits kann man den auch vor Manipulation schützen. Man kann aber auch eine Möglichkeit im Programm einbauen wo die per Serial-Port mit Terminal eingegeben und im EEProm abgespeichert werden
-
Artikel
Standardbauelemente
. ADC. Bezeichnung Preis [ ] Beschreibung max. Abtastrate [Smps] Lieferant Daten- blatt ADC830 6 8-Bit-ADC, Differentiell, Parallel, (DIL-20) 8770 C,R PDF LTC2400CS8 8,30 24-Bit-ADC, Single Ended, Seriell (SPI), (SO-8) 6 R PDF CS5381 37,50 24 Bit Stereo-Audio-ADC (SOIC-24) 192k HTML ADS830 6,10 8 Bit ADC Parallel (SSOP-20) 60M R PDF MCP3204 2,65 12-Bit-SAR-ADC, Single Ended, 4 Kanäle mit MUX, Seriell (SPI), (DIL-14/SO-14) 100k C,R PDF ADS1100 5,45 ratiometrischer ADC 16-bit, PGA, I2C, SOT23-6 128 Mouser PDF ADS1115 2,40 Quad 16-Bit-ADC, Seriell (i2C
-
Thread
Wie sauber samplerate vervierfachen
Für sehr geringe Amplituden mutiert es mehr in Richtung PDM. Beispiel 8Bit 5Bit und 2Bit. > Schnapp Dir ein Buch, Habe ich in ausreichender Menge. Auch solche, an denen ich zu Uni-Zeiten mitgearbeitet habe. Z.B. auch Nachrichtentechnik und Signalverarbeitung. Von daher
5 Fridas bekommt man einen teilsequenziellen / vollparallelen 1:16 upsampler. Mit dem Tauschen / Setzen von nur 2 speziellen Bits, bekommt man einen moduliertem Ausgang, der die untersten Bits dithern kann Damit eignet es sich auch für sehr geringe Bitbreiten und / oder langsame Anstiege. -------
-
Thread
Timer1 vom ATTiny461 ein 8Bit-Timer? (Bascom)
Ja, hatten wir so ähnlich: lässt sich umstellen 8 <-> 10 bit (aber keine Ahnung, wie unter Bascom): Accuracy: The Timer/Counter1 is a 10-bit Timer/Counter module that can alternatively be used as an 8-bit Timer/Counter. The Timer/Counter1 registers are basically 8-bit registers, but on top of that there is a 2-bit High Byte Register (TC1H) that can be used ... https://www.mikrocontroller.net/topic/549395#new
-
Thread
RGB Bitmap im MCU in C
Grafiken im Monochrom zb. Können ja auch einfach als Array geladen werden. Gibt es Tools die ein 24bit BMP oder 16bit BMP in so ein Array umwandeln und eine bekannte Funktion einer bekannten lib die das Recht simpel umsetzt? Danke euch vorab für diverse Ideen :) Vom Auslesen würde ich einfach eine Drawpixel funktion nehmen und den Array Inhalt von 1bit pro Pixel zu 16bit pro Pixel ändern. Nur wie erzeugt man eine solche Datei? LG :)
-
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
Kommunikation zwischen mController und PC
diesem Fall 14. Das MODIFY_REG Marko hat 3 Parameter: 1) Register 2) Bitmaske, legst fest welche Bits du einstellen willst 3) Der konkreten Wert für diese Bits. Wenn du mehrere Bits setzen willst, kannst du das wie oben mit der 14 machen, oder indem du mehrere Bits mit + oder | kombiniert. Angenommen
14. > > Das MODIFY_REG Marko hat 3 Parameter: > 1) Register > 2) Bitmaske, legst fest welche Bits du einstellen willst > 3) Der konkreten Wert für diese Bits. Wenn du mehrere Bits setzen > willst, kannst du das wie oben mit der 14 machen, oder indem du mehrere > Bits mit + oder | kombiniert
-
Thread
ISR Aussetzer durch Volatile-Variablen-Polling ?
einer Variable in einer interrupt routine und in main. s.o. > -Spielt es eine Rolle ob es ein 8-Bit oder >8-Bit Variable ist? Ja, der Zugriff muss atomar erfolgen. Dies ist bei AVR8 nur für 8-Bit primitiven DT gegeben. > -Müssen wir an dieser Stelle zwischen den AVR-GCC Versionen > unterscheiden
gelesen oder geschrieben werden kann (atomar gelesen/geschrieben werden kann). Beispiele: Beim AVR 8 Bit, beim ARM Cortex-M3 32 Bit, beim SPARC V8 32 Bit. Auch der Z80 mit 8 Bit :) Zweite Bedingung, die CPU/Compiler macht kein reordering an den relevanten Stellen, was ich bei diesen "einfachen" Maschinen
-
Thread
Implementierung eines Encoder Interface mit FPGA
Leitung tot geht. Ach, was schreibst du denn da zusammen?! Ja klar, ist das Prellen eines einzelnen Bits kein Fehler. Ungültig wäre hingegen ein (in Bezug zur Abtastung) gleichzeitiger Wechsel von mehr als einem Bit (Gray-Code!), also hier von 00=>11, 01=>10 usw. Das passiert im störungsfreien System nur
dfIas schrieb im Beitrag #7356208: > Ja klar, ist das Prellen eines einzelnen Bits kein Fehler. Ungültig wäre > hingegen ein (in Bezug zur Abtastung) gleichzeitiger Wechsel von mehr > als einem Bit (Gray-Code!), Das ist das Problem der Interpretation des Wortes "Fehler". Das gesamte
-
Artikel
AVR-Tutorial: LCD
wir dem LCD noch mitteilen, ob wir Daten oder Befehle senden wollen. Das machen wir, indem wir das Bit, an dem RS angeschlossen ist (PD4), auf 0 (Befehl senden) oder auf 1 (Daten senden) setzen. Um ein Bit in einem normalen Register zu setzen, gibt es den Befehl sbr (Set Bits in Register). Dieser Befehl
immer wieder 100 von der Schleife ab, bis bei der Subtraktion ein Unterlauf, angezeigt durch das Setzen des Carry-Bits bei der Subtraktion, entsteht. Die Anzahl wird im Register temp1 mitgezählt. Da dieses Register mit dem ASCII-Code von '0' initialisiert wurde, und dieser ASCII-Code bei jedem Schleifendurchlauf
-
Thread
Atmega8 vers. C - Interuptbehandlung
Eingänge an Port PD.. abfragen. Hier ist immer nur einer 'aktiv' 1 Eingang abfragen an Port PB.. 1 Bit an Port PB setzen 2 Ausgänge für die Displays im Multiplexbetrieb evtl. ein weiteres Bit aus Port B oder D um ein Disable zu setzen. Ich habe hier den Atmega 8 als Kandidat rausgesucht. Pic's mit
Eingänge an Port PD.. abfragen. Hier ist immer nur einer 'aktiv' > 1 Eingang abfragen an Port PB.. > 1 Bit an Port PB setzen > 2 Ausgänge für die Displays im Multiplexbetrieb > evtl. ein weiteres Bit aus Port B oder D um ein Disable zu setzen. Wie Falk B. schon wiederholt sagte: du hast vier Eingangssignale
-
Thread
Wie wichtig ist eine Mini-USB-Buchse zum Laden für die Kundenakzeptanz
messtechnische Störprobleme zwischen PC und Testinstrumente gab. Mit BT legte sich das aber alles (24-bit ADC)
https://de.ifixit.com/Anleitung/Google+Pixel+7+Hauptplatine+tauschen/154683 Manche Hersteller setzen den Anschluss auf eine separate Platine, die mit Folienkabel verbunden wird. Google hat ihn auf dem Mainboard, aber verschraubt. Vn N. schrieb im Beitrag #7341145: > Was natürlich nicht ausschließt
-
Thread
Frage zu UART AVR Code
R24,0x00C0 Load direct from data space +0000004E: FF85 SBRS R24,5 Skip if bit in register set +0000004F: CFFC RJMP PC-0x0003 Relative jump [/c] [c] //UCSRnA, //Configuration + Status //UDRn // read/ write 8 Bit #include <avr/io.h> #include
Falk B. schrieb im Beitrag #7337399: > Dann probier es noch mal und setz die Breakpoints auf die > Portzuweisungen. dann kommt die Fehlermeldung, dass das Setzen nicht funktioniert. Der Breakpoint wird dann einfach nicht gesetzt und auf das delay gesetzt :D Klaus
-
Thread
ATtiny1604 - Fuses unter Linux
Natürlich habe / hatte ich den Selbstbauflasher erst einmal in Verdacht, ob er Fuses richtig setzen kann, aber scheinbar kann er das, weil ein: [code] avrdude -c jtag2updi -p attiny1604 -P /dev/ttyUSB0 -U fuse1:w:0x17:m [/code] und einem anschließenden Lesen [code] avrdude -c jtag2updi
code] bringt. 0x17 wäre im Register MCLKCTRLB (was nach meiner Lesart FUSE1 ist) ein gesetztes Bit für "prescaler enable" und ein Divisor des Taktes durch 24 (ein Blinken müsste also 4 mal langsamer erfolgen, da der Auslieferungszustand den Teiler 6 eingestellt hat). Jetzt heißt es im Datenblatt
-
Thread
Bits in Register setzten (Schreibweise)
Beitrag versuchst. Jim M. schrieb im Beitrag #7338041: > Einige µC kennen nämlich Befehle zum Setzen/Löschen einzelner Bits. Das > beschreibt Dir ein Grundlagenbuch eher nicht. Der Compiler setzt diese Befehle ein! Ob mit, oder ohne Buch.
Klasse! Die Fans entlarven sich wieder selbst. Was für eine Dreckssprache, bei der das Setzen von Bits in Registern mit dem Würfelbecher funtioniert...