-
Thread
8 Bit Eingabe um ein Bit erweitern
Wenn die Eingabe 8 Bit hat dann hat sie wohl immer eine gerade Anzahl an Bits weil 8 eben nunmal gerade ist! Oder meinst Du, Du möchtest die Anzahl der Bits auswerten, die "1" sind!? Welchen Sinn hat es, aus 8 Bit 9 Bit
Dazu musst du deine 8-Bit Daten erstmal in einer 16 Bit Variable/Register speichern und per [[Bitmanipulation]] das 9. Bit entsprechend setzen.
-
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
-
Thread
Echo HC-SR04 auswerten
rising Ereignisses aufgerufen wurde. Wenn RisingEdge: 1. Am Anfang zwischengespeicherten 16Bit Wert für Rising ( aus ICR1L und ICR1H) z.B. im SRAM speichern. 2. Ein StstusBit für RisingCaptureDone setzen 3. Umschalten auf FalingEdgeCapture hierbei nicht vergessen das ICF Bit in TIFR1 zu löschen
setzen 3. Umschalten auf RisingEdgeCapture. After a change of the edge, the Input Capture Flag (ICF) must be cleared by software (writing a logical one to the I/O bit location) 4. Prüfen ob TimerCounter
-
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
Bite um Kontrolle meines Schaltplans und Layoutes
Tag zusammen Habe mein Versuchsboard überarbeite. Zur Historie: Version 1.0 ist abgraucht (erster Kontakt mit µC) Version 2.0 Funktionsfähig aber nur Atmega 8 (sieht nicht wirklich gut aus 90° Winkel usw.) Version 3.0 Funktionsfähig (allerdings fehlt noch zur V3.5) -USB Port mit FT232RL ( mein Erstkontakt zu SMD "Angst :-) ) -I2C I/O Erweiterung PCF 8574 P -das Layout, zum ersten mal, mit Top und Bottom. Soweit wärs das... würde mich freuen wenn ein Profi mal drüberschauen könnte. Grüße Rau
-
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
LCD Ansteuerung im 8 Bitmodus
8 bit Modus ist nur was für Leute, die in C programmieren können. Alle anderen, zu denen ich mich auch zähle, nehmen den bewährten 4 bit Modus.
LCD_PORT |= (data>>(4-LCD_DB)); // Bits setzen lcd_enable(); } //////////////////////////////////////////////////////////////////////////////// // Initialisierung: muss ganz am Anfang des Programms aufgerufen werden. void lcd_init
-
Thread
PIC12F509 hidden features und "High Flash"
Umgekehrt geht das anscheinend nicht. Dabei ist zu beachten, dass bei wenn SW im HF ausgeführt wird das BIT "STATUS,6" (eigentlich PA1) ausgewehrtet wird (also setzen, wenn man im HF springen will. Der Programmcounter wird anscheinend auf einen, evtl. den regulären Stack gerettet. Alle anderen Register
Walter, probier doch mal das nicht dokumentierte Bit 11 des Configuration Registers zu setzen: bit 11: BKBUG: On-chip Debugger Mode (This bit documented as reserved in data sheet) 1 = On-chip debugger functions not enabled 0 = On-chip debugger functional
-
Thread
Frage zum Frequenzmultiplex bei Modulation Gesperrt
eigentlich völliger Unsinn. Man könnte die Rundfunksender doch mit einem Abstand von 1Hz nebeneinander setzen, da passen doch viel mehr Sender auf die Mittelwelle, oder?
verstößt. Nur > das es so ist. Nimm jeden einzelnen Buchstaben/Satz/Abschnitt der dort steht und setze ihn her. Dann bereden wir jeden einzelnen Buchstaben.... Kurt
-
Thread
24 Bit signed effizient verarbeiten
Lösung: Ich mach den 16-Bit-Trick "in die andere Richtung", d.h. ich betrachte die 24-Bit-Zahl als 32 bit, mit den untersten 8 Bit auf 0 gesetzt. Auf diese Art kann ich direkt die 4 Byte des int32 setzen, drei vom ADC, das letzte
die wie von Falk Brunner vorgegeschlagen mit einer Fallunterscheidung anhand des obersten gelesenen Bits. Allerdings würde ich dann das Feld mit den Bytes nicht 3 groß machen, sondern 4 und bereits darin das höherwertigste Byte setzen. Dann vermeidet man die 32-Bit-Rechnerei ganz und bekommt zum Schluß
-
Thread
STM32F730R8T6 top P/L, crashkurs fragen
loslaufen); oder bitte kurz beschreiben welche signale benötigt werden 2. Wie JTAGEN und welche fuses setzen, damit er auf 216mhz mit internem osc losläuft? 3. Oder geht dies beim STM32 direkt über den USB (programieren und debug fuses setzen)? 4 Wie am einfachsten programieren und debuggen? 5.
Beitrag #6007239: > Habe gerade den STM32H743ZIT6U von der H serie gefunden. Dieser hat nen > 16Bit ADCs welche ansonsten je ca 5 usd kosten separat. Ja schon, aber die 16Bit da rauszuholen ist nicht einfach. Die CPU streut da tlw rein, für 16Bit musste auch schon beim layout aufpassen. In einem
-
Thread
Temperatursensor DS1621 über I²C ansteuern
Was meinst du mit "durchlaufen"? Wenn ich das Bit in 1SHOT auf 0 setze, dann würde das ja eine ständige Messung bedeuten und DONE würde nie 1 werden, oder?
T protocol. If 1SHOT is “0”, the DS1621 will continuously perform temperature conversions. This bit is nonvolatile. Das heißt, 1SHOT auf 0 zu setzen würde bedeuten, dass die Messung STÄNDIG vonstatten geht, falls ich das richtig verstande habe.
-
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
Automower G3 mit USB Diagnoseport fernsteuern?
12:40 02[09] 81 df 07 08 08 04 00 00 00 -> 03[06] 00 df 07 08 08 04 datum aud 8.8.15 formatbyte: bit0 1-12h/0-24h, bit1+2 0-JMT/1-MTJ/2-TMJ, 2015. 8. 8. fo 02[09] 82 07 04 0f 00 14 01 04 00 -> 03[09] 00 07 04 0f 00 14 01 04 00 sprache DE Gruß Christian
erstellen damit man den nicht immer aufschrauben muss. Das Regen Problem kann man ja mit evtl Timer setzen oder Home setzen dann starten lösen, solange die Klappe unten ist. Ich müsste es dann mal probieren. Oder gibt es einen "PARKEN" Befehl?
-
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
AVR - SHT11 liefert zu große Werte
(1<<8); //Schreibe 1 in Bit 9 von MSB } _delay_ms(EINPEGELN); //ACK zwischen den beiden 8- Bit- Feldern SHT_DATA_DDR = SHT_DATA_DDR | (1<<SHT_DATA_PIN); //Datenpin als Ausgang setzen (ACK) _delay_ms(EINPEGELN
(1<<0); //Schreibe 1 in Bit 1 von MSB } _delay_ms(EINPEGELN); SHT_DATA_DDR = SHT_DATA_DDR | (1<<SHT_DATA_PIN); //Datenpin als Ausgang setzen (ACK) _delay_ms(EINPEGELN); SHT_DATA_PORT = SHT_DATA_PORT | (1<
-
Thread
Eine BAT im Raspi starten bzw startfähig machen.
und trotzdem weiß der Kernel, wie sie auszuführen sind. Laufen x86-Binaries auf einem ARM? Mit X-Bit, .EXE-Endung und allem? Also Excel.exe, Explorer.exe & Outlook.exe auf den RPI kopieren, X-Bit setzen und ich kann meine gewohnte Umgebung auf einem 40€-Computer mit freiem OS nutzen? Das wäre ja
Moin, Jens M. schrieb im Beitrag #6673002: > Laufen x86-Binaries auf einem ARM? Mit X-Bit, .EXE-Endung und allem? > Also Excel.exe, Explorer.exe & Outlook.exe auf den RPI kopieren, X-Bit > setzen und ich kann meine gewohnte Umgebung auf einem 40€-Computer mit > freiem OS nutzen? > Das
-
Thread
Attiny85 nach flashen nicht mehr erkannt, usbasp, OS X, avrdude
DDRB = (1 << PB1); // Endlosschleife for (;;) { PORTB |= (1 << PB1); // bit im Portregister auf 1 setzen => LED leuchtet _delay_ms(200); // eine halbe Sekunde warten PORTB &= ~(1 << PB1); // bit im Portregister auf 0 setzen => LED aus
richtig verstanden habe. Und mit dem -tuF Befehl kann man per "sck 1000" die Geschwindigkeit runter setzen und oder mit z.B. -B 4 dann neue Fuses setzen nach dem Löschen. Morgen kommt der neue/andere Programmer, der hat hoffentlich ne neue Firmware. Dann probier ich zum einen das Flashen von neuen Attiny's
-
Thread
keine Ausgabe am LCD mit ATmega32
in Ordnung (indem Du 3 statt 2 reinschreibst, wird auf 8 Bit statt 4 Bit gestellt).
Code versuchst, dann darf das keine Schwierigkeiten machen. Das ist eine Standardversion von: Das Bit LCD_EN1 am Port LCD_EN1_PORT auf 0 setzen. So was musst du auf Anhieb erkennen, wenn du kopfüber von einem Baum hängst, mit Honig eingeschmiert und Ameisen auf dir krabbeln. Ein Blick muss genügen.
-
Thread
Suche gutes LCD/LED Display-System mit leicht verwendbarem Framework für meine Bachelor-Arbeit.
Displaycontroller Autoinkrement können muss man nicht jede Adresse vor der Pixelausgabe wieder neu setzen, das war gemeint.
mit spi angesprochen > werden kann. Warum? Wenn man genügend Portpins frei hat so ist der 16-Bit Parallelbus durchaus vertretbar. Dann kann man alle 16 RGB-Bits mit nur einem Clock raushauen. Das geht deutlich schneller als SPI.
-
Thread
AVR Interrupt Processing - was ist besser ?
primitiv. Da ist die Methode "tu's in der ISR, wenn zeitlich und von der Komplexität her passt oder setze Flag" die einzig vernünftige. Dazu braucht's nicht mal RAM, meistens gibt's ein GPIOR oder ein anderes ungenutztes Register im unteren Registerbereich, was man dafür nehmen und 8 Flag-Bits unterbringen
kommt es auf 20 Takte nicht an. Ansonsten gebe ich Dir recht, wenn in DoComputation() nur 1 oder 2 bits zu setzen sind. Es kommt halt immer auf den Einzelfall an. ---------------------------- @ Peter Dannegger (peda), 13.09.2016 20:50 >Daher ist Dein Ansatz in keinem einzigen meiner Programme zu finden
-
Thread
Neue AVR-Tiny Generation, neue B-ATMegas, neue Entwicklungstools
>8-Bit bleibt für den Bastler das Mittel der Wahl in allen Projekten, die >keine 32 Bit Power benötigen. Nö, man kann auch die 8Bit Aufgaben mit 32Bit Power bewältigen.
Anomalie findet sich im unteren OSCCAL-Einstellbereich: Beim Weiterzählen ist die Taktänderung beim Setzen von Bit0 immer wesentlich kleiner als beim Rücksetzen. Für die Genauigkeit ist natürlich eine Verringerung der Abhängigkeit von Versorgungsspannung- und mehr noch von der Temperatur zwingend. Beides
-
Thread
Blinklicht in Assembler
die Nähe Deiner gewünschten Frequenz kommt. Takt / Vorteiler / 65535 = Interruptfrequenz. Welche Bits in welchen Registern das genau sind, steht im Datenblatt in den Kapiteln zum Interrupt und zu dem Timer1. Dann kannst Du in der Interruptroutine irgend ein Bit setzen, und dieses im Hauptprogramm abfragen
dürfte einfach nicht zu zählen beginnen oder kein interrupt auslösen! Muss ich da noch irgend ein Bit setzen??
-
Thread
AtTiny13 & 2xADC
wenn man sie nicht benötigt. Das Problem vorhin bestand daraus daß beim ersten Start des ADC das Setzen des ADSC Bits den AD Converter initialisiert, so im DB des Tiny13 nachzulesen. Wenn man dann dieses Ergebnis dann hernimmt und sofort in eine Endlosschleife rennt, braucht man sich über die Nichtfunktion
> Das ADSC-Bit setzte ich nicht, Und wie soll der ADC arbeiten, wenn Du ihn nicht (durch Setzen des ADSC-Bits) startest??? > ich lese es aus Das hat nur Sinn, wenn Du es zuvor gesetzt hast. > - was mir
-
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
Problem mit gosub in Bascom
, ist das dann einfach durch Einfügen von weiteren Bytes zu erreichen. Da Deine Zeichen das 8te Bit nicht verwenden, kannst Du ein "Data 128" zum Schluss Deines Textes setzen und daran erkennen, daß der Text zu Ende ist. Dann halt neu beginnen oder was immer Du willst.
Incr Shifts Waitms 200 If Shifts > 4 Then Shifts = 0 Loop [/c] 3. Wie kann ich die Bits der Zeilentreiber für ein Spaltenbyte ausgeben? Ich gebe z.B. den PORTB als Freigabeport für die Zeilen an. Dort soll er mir also alle Bits auf high setzen, die für dieses Spaltenbyte benötigt werden
-
Thread
STM32F100VE: wo sind die Timer, wo sind sie nur?
aehnlich dem F446 Errata "Delay after an RCC peripheral clock enabling". Laesst sich das TIM12 Register Bit im Debugger setzen?
Uwe Bonnes schrieb im Beitrag #4080109: > Laesst sich das TIM12 Register Bit im Debugger setzen? Nein, nur die von mir erwaehnten Timer 1 - 7 lassen sich mit dem Debugger setzen. All die anderen bleiben stur auf 0.
-
Thread
JTAG != JTAG? Wieso gibt's für jeden µC einen anderes JTAG Programmiergerät?
? Ja, natürlich, und zwar mittlerweile alle 8-bit-AVRs.
Funktioniert das USB AVR-Lab eigentlich auch unter einem 64 Bit Windows? Z.b. Windows 7? Und wie sieht es mit Linux 64 Bit aus?
-
Thread
Programmablauf, Interrupts, Timer, Schrittmotor, PWM
Ahh, das struct.bit aus obigem Code nicht so übernehmen! Das soll nur eine 1-Bit-Variable darstellen, die in meinem Fall den Weg für den nächsten Motorschritt freigibt.
Na dann frohes Schaffen... Bit- & Bytebruch... ...HanneS...
-
Thread
Zufallszahl mit vorgegebener bit-Wahrscheinlichkeit
for (int i = 0; i < 32; ++i) { uint32_t rand_value = rand(); // Setze das Bit basierend auf der Wahrscheinlichkeit p if (rand_value <= threshold) { result |= mask; } mask <<= 1; } return result; } int main() {
die jeweilige Zufallszahl kleiner als > dieser Schwellenwert ist, setzt Du das korrespondierende > Bit des Zielwertes auf 1, andernfalls auf 0. Schlecht ist hier nur die Effizienz: 32 Input-Bits für ein Ergebnis-Bit. Wenn man binär "glatte" Zahlen für p hat, z.B. 1/4 oder 3/8, dann kann man die
-
Thread
STM32 und ks0108-Display - keine Anzeige
NOP schrieb: > Wie lautet der Opcode für den 32-Bit nop ? 16bit: 0xBF00. 32bit: 0xF3AF8000, offiziell NOP.W
Bits drehen, dafür hab ich was: [c]// Bits drehen u32 revbit32(u32 uidata) { asm("rbit r0,r0"); return uidata; };[/c] der Assembler-Befehl rbit macht 32 Bit.
-
Thread
Wie einen 1-Bit Speicher realisieren
Bevor man da ein bistabiles Relais einbaut, kann man das Bit auch einfach in ein FRAM schreiben - da würde man dann eben "einige" Bits verschenken.
nicht?) rumfliegen hat, dürfte ein 1-Bit-Kernspeicher diesen Preis unterbieten.
-
Thread
Timer interrupt wird nur einmal aufgerufen.
#5816854: > Woanders vielleicht nicht. Und wann soll es nicht harmlos sein, ein bereits gesetztes Bit zu setzen?
Update-Flags und ein bedingter Sprung ist in der Regel sehr viel laufzeitintensiver als ein simples Bit-Setzen.
-
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
BASIC-Computer mit Mega32
@Joerg: Das wäre SUPER. Bit und Byteweise auszugeben und einzulesen. Also dass ma z.B. auch: Out 64,1 Eingeben könnte damit ich auch z.B. den 2. und 6. gleichzeitig auf high oder low setzen kann.
Es wäre dann halt nur der Offset von 256, also z.B. OUT M+256,0 um die in der Maske M bestimmten Bits auf Null zu setzen. Es sind ja nicht nur Zahlen, sondern fast beliebige Ausdrücke für alle Argumente möglich. Gruß Jörg
-
Thread
ATmega32u4 OCR1BH nicht setzbar
drangesetzt weiterzuarbeiten und hab ein paar ungereimtheiten festgestellt..... Wenn ich TCCR1A auf 0 setze werden zwar die Compare-Werte richtig gesetzt, aber der Timer läuft gar nicht. Die frage ist: Wieso? Laut Datenblatt sind die bits 2-7 des TCCR1A für Output modi, was ich aber nicht brauche und Bit´s 0-1 sind Fast-PWM, was ich auch nicht brauche. Ich setze in TCCR1B das CTC-Bit (Bit3) und Vorteiler auf 64, also insgesammt B00001011 ausgeschrieben. Unter diesen werten wird die Compare-ISR aber nichtmehr ausgelößt... Wofür ein Haus das verrückte macht
-
Thread
Peripheral size 16bit
immer grad auch das was im Manual drin steht zu verstehen. Wenn das Peripheral size vom ADC immer 16bit ist und das PSIZE daher 16 bit lang (bits -> 01) ist, was muss ich dann im Register DMA_CPARx laut Punkt 1 unten tun? Ich meine, klar, dass ich eine Adresse angeben muss, aber in welchem Bereich kann
DMA_CCRx register 6. Activate the channel by setting the ENABLE bit in the DMA_CCRx register.
-
Thread
Problem mit Pollin Board, ATMega16 und USB - Seriell
einfach mal das Test-Programm aufzuspielen. Ich kann aber nicht einmal über Edit ==> Modify Security Bits die Fuses setzen, da der Punkt "Modify Security Bits" nicht vorhanden ist. Soll ich vllt. statt dem USB ==> Seriell eine interne PCI ==> Seriell Karte probieren? Besser wäre es für mich natürlich mit
gast schrieb: > Ich kann aber nicht einmal über Edit ==> Modify Security Bits die Fuses setzen, da der Punkt "Modify Security Bits" nicht vorhanden ist. Das liegt daran, dass Du noch keinen Chip unter Device ausgewählt hast.
-
Thread
Suche Programmgerüst: USB-Kommunikation und Daten Ein/Ausgabe Windows
beendet wird. Wenn man sich das in Assembler gespart hat, dann schmiert die Kiste halt ab. Edit: 32 Bit Windows interessiert mich nicht mehr, ich setze ein 64 Bit Windows voraus. Wir leben nicht mehr im Mittelalter und fast niemand unterstützt noch 32 Bit Windows.
Ben B. schrieb im Beitrag #7414308: > Edit: 32 Bit Windows interessiert mich nicht mehr, ich setze ein 64 Bit > Windows voraus. Wir leben nicht mehr im Mittelalter und fast niemand > unterstützt noch 32 Bit Windows. Ich denke, das wird schon
-
Thread
Tiefentladungsschutz mit Attiny und P-Kanal Fet
einem FP-Wert zu vergleichen, ist ungeschickt. Besser wäre es den Initialen threshhold Wert als 10-Bit ADC Wert abzulegen. Um den zu errechnen, kann man gerne FP verwenden, denn das läuft zur Compile-Zeit auf einem (vermutlich) 64-Bit-Mehrkerner.
Carl D. schrieb im Beitrag #6524660: > Und einen 10-Bit ADC-Wert in FP Volt umzurechnen, um sie dann wieder mit > einem FP-Wert zu vergleichen, ist ungeschickt. Besser wäre es den > Initialen threshhold Wert als 10-Bit ADC Wert abzulegen. Um den zu >
-
Thread
Com Port Zugriff unter Windows 7 64 bit mit C++
tmp = 0; char buffer[1024]; WriteFile( h, buffer, sizeof(buffer), &nBytesRead, NULL ); DTR setzen/löschen: EscapeCommFunction( h, SETDTR ); EscapeCommFunction( h, CLRDTR ); RTS setzen/löschen: EscapeCommFunction( h, SETRTS ); EscapeCommFunction( h, CLRRTS ); DSR lesen: DWORD dw; GetCommModemStatus
printf("error1"); dcb.BaudRate = CBR_9600; //9600 Baud dcb.ByteSize = 8; //8 data bits dcb.Parity = NOPARITY; //no parity dcb.StopBits = ONESTOPBIT; //1 stop if (!SetCommState(hPort,&dcb)) printf("error2"); bool retVal = WriteFile(hPort,data,1,&byteswritten
-
Thread
AVR: Bit direkt in IO-Space kopieren
Ohne low/high vs high/low Jitter und bezogen auf alle anderen Bits im Zielregister atomar: ;in=regA,bitA, out=portB,bitB bst regA, bitA bld r16, bitB in r17, portB eor r16, r17 and r16, 1<<bitB out pinB, r16 Geht nicht bei der ATmega8
Lösung ist die mit cli/sei. Ohne cli/sei kann es immer Jitter geben, selbst wenn du direkt die bits setzen könntest, da die ISR jederzeit zuschlagen kann. P.S. Wenn es aber wirklich atomar und unabhängig/ungestört von der ISR gehen sollte, hätte ich es ganz einfach mit SPI gemacht. serialpin
-
Thread
Vorabfrage:erfahrene Assemblerfreaks hier an Bord?
start Timer2: ; ; 5.1 Clear the TMR2IF interrupt flag bit of the PIR4 register. ; ; 5.2 Select the Timer2 prescale value by configuring the T2CKPS<1:0> bits of the T2CON register. ; ; 5.3 Enable Timer2 by setting the TMR2ON bit of the T2CON register
bei meinem eben eingebaut ist, durch eigene Makros ersetzen. Zum Beispiel anstelle BTFSS Port,Bit und BTFSC Port,Bit eben SKIP Bit und SKIP NOT Bit und auch sowas, um eindeutig und zentral einzelne Bits zu deklarieren: Karlheinz: BIT PortB,3 und auch das Arbeiten mit Segmenten.
-
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
STM32F103: EEPROM Abstürze abfangen
is enabled by default when -mcpu=cortex-m3 is specified. @Christian wenn du den GCC benutzt setze mal -mcpu=cortex-m3 Das bewirkt machmal Wunder bei der HW SPI und dem busy Bit;-)
Hans-Georg L. schrieb im Beitrag #5176282: > wenn du den GCC benutzt setze mal -mcpu=cortex-m3 > > Das bewirkt machmal Wunder bei der HW SPI und dem busy Bit;-
-
Thread
Raspberry Pi Pico SDR
Ziemlich optimistisch, 4-fach Oversampling bringt ein Bit zusätzliche Auflösung. Die ADC in den AVR fand ich bezüglich Stabilität grottenschlecht: mit 4-fach Oversampling hat der angeblich 12Bit ADC in einem Tiny1627 nur 10Bit stabil geliefert. https:/
Beim RPi Pico sind -zumindest bei Einzelmessungen- von den 12 Bit des ADC nur die obersten 8 Bit wirklich verwendbar. Die unteren 4 Bit sind eher ein Rauschgenerator. Möglicherweise ist das ja beim Pico 2 verbessert worden.
-
Thread
Atmega 2560 startet Program nicht
ganzen Klumpen [c] //++++++++++++++++++ TEST ++++++++++++++++++// PORTB |= (1<<PB6); //Bit setzen PORTB |= (1<<PB7); //Bit setzen PORTA |= (1<<PB0); //Bit setzen PORTA |= (1<<PB1); //Bit setzen PORTA |= (1<<PB2); //Bit setzen PORTA |= (1<<PB3); //Bit setzen PORTA |= (1<<PB4); //Bit setzen PORTA |= (1<<PB5); //Bit setzen PORTA |= (1<<PB6); //Bit setzen PORTA |= (1<<PB7); //Bit setzen _delay_ms(5000); // warten PORTB &= ~(1<<PB7); // Bit loeschen
-
Thread
fuse bits: crystal o.
umschalten. meiner meinung nach bleiben die high fuse bits gleich und in den low fuse bits würde ich E0 Setzen, also 1110 0000 liege ich in der annahme richtig? anbei aus dem datenblatt die standard values von den low fuses. Fuse Low ByteBitNo. Default
Beinahe. Bit 4 (SUT0) auf 0.
-
Thread
Wie schreibt man Binärzahlen?
oder das ganze auch achtstellig definieren. /Einfacher/ aber wäre es, sich auf $Körperteil zu setzen und die 16 Bitkombinationen eines 4-Bit-Nibbles auswendig zu lernen.
> > /Einfacher/ aber wäre es, sich auf $Körperteil zu setzen und die 16 > > Bitkombinationen eines 4-Bit-Nibbles auswendig zu lernen. > Auswendig lernen ist aber eigentlich Käse. Besser versuchen, zu > verstehen, wie Binär-, Dezimal- und Hexadezimalsystem
-
Thread
Software Profibus DP-Slave in C
" Unit_Diag_Bit(6) = "reserved" Unit_Diag_Bit(7) = "reserved" Unit_Diag_Bit(8) = "Inputs of other DP LBS" Unit_Diag_Bit(9) = "Inputs of other DP 2nd LSB" Unit_Diag_Bit(10) = "Inputs of other DP 3rd LSB" Unit_Diag_Bit(11) = "Inputs of other DP 4th LSB" Unit_Diag_Bit(12) = "Inputs of other DP 4th MSB" Unit_Diag_Bit(13) = "Inputs of other DP 3rd MSB" Unit_Diag_Bit(14) = "Inputs of other DP 2nd MSB" Unit_Diag_Bit