-
Thread
Wieso funktionieren Decompiler immer deutlich schlechter als Compiler?
der C Code den IDA z.B. rausschmeißt so anders aus als echter Source Code, warum ist dieser Pseudo C Code so anders?
nur ein C-Quellcode sein könnte. Tip: Es gibt noch andere Programmiersprachen außer C. W.S.
-
Thread
mehrere µC an einem Takt?
alle anderen parallel zu dem ersten. Wolfram Fischer schrieb im Beitrag #5989732: > der Erste µC entscheidet was wer machen soll und die 8 Sklaven (I2C) > machen was sie sollen, wie in jeder Fa. :-) Wenn Takt gemeinsam ist, dann statt I2C lieber USART in 9-bit-Mode. Das geht deutlich schneller
Bernd K. schrieb im Beitrag #5990126: > Den µC der gleichzeitig(!) 18 ADC-Kanäle > sampelt Mit welcher Geschwindigkeit? Wenn man von einem bestimmten Peripherietyp sehr viel braucht könnte man mit einzelnen, großen Controllern in der Tat nicht
-
Thread
Frage zum ADC Modus
Würde das so klappen? [c] //ADMUX beschreiben, also Channel 0 und Referenz Auswahl //AVCC with external capacitor at AREF pin //ADLAR auf 1 -> Ergebnis is rechtbündig, da ich nur 8 bit brauche ADMUX &= ~(1<<REFS1) & ~
warte bis ADCS = 0 -> Converison fertig gelesener_wert = ADCH; //Nur ADCH Register kopieren, nur 8bit auflösung nötig } [/c]
-
Thread
uart raspberry pi, warum neuer pointer zum senden?
technisch fast das Gleiche. Ehrlich gesagt weiß ich ich > nicht, wo genau der Unterschied ist > [c] > char* du = "Johannes"; > char ich[] = "Stefan"; > [/c] Du merkst den Unterschied, wenn du den Variablen Werte zuweisen willst oder per sizeof die Größe abfragst ;-) "du" ist der Name eines
die einzelnen Elemente zählen, oder?
-
Thread
Lazarus Pascal / Delphi /FreePascal aktiver als viele denken? EADS, Sony etc
Und wenn der USB-seriell-Wandler eh undefiniert Zeitverzögerungen reinbringt. Da reichen Timer-Abfragen alle 25 bis 100msec. Echtzeit-Pinwackeln ist eh schon seit Win98 tot, und mit USB-seriell-Wandlern erst recht. Das ist aber völlig egal, ob man das mit C, Pascal oder Basic programmiert.
#6875735: > Man koennte es auch andersrum sehen, Pascal kennt nur bitweise > Operationen. Bei Ein-Bit-Variablen (Boolean) ist die bitweise und > logische Operation identisch. Wenn man in C in logischen Ausdrücken nur Ergebnisse von Vergleichen oder anderer "bool"-Ausdrücke (also 1-Bit-Ausdrücke
-
Thread
Taster entprellen per Software
immer noch gedrückt 4. war gedrückt und ist nicht mehr gedrückt (fallende Flanke) Diese einzelnen Zustände lassen sich jetzt bequem abfragen/durchlaufen. Die Entprellung geschieht dabei durch die ganze Laufzeit des Programms. Die Taster werden hierbei als Active-Low angeschlossen, um die internen
diesem Abschnitt gelangt? https://www.mikrocontroller.net/articles/Entprellung#Komfortroutine_.28C_f.C3.BCr_AVR.29 Läuft bei mir auf AVR, besagtem AT91SAM7 (hatte ich vor Jahren mal nachgebaut) und auch auf nem STM32(F103), dort aber gleich mit der Vorgabe, bis zu 64 Tasten zu entprellen. Läuft
-
Thread
Mehrfache if.Verkleinern
Brummbär schrieb im Beitrag #5977590: Das geht zwar in einigen Skriptsprachen, aber nicht in C/C++. Das geht zwar in einigen Skriptsprachen, aber nicht in C/C++. Mein Code läuft einwandfrei nur halt mit den vielen IF abfragen, ich denke Arduino ist C++
Stefanus F. schrieb im Beitrag #5978580: > Der linke Teil ja, der rechte Teil ist die Abfrage. Öhm...auch nicht. Der rechte Teil ist einfach nur eine Verknüpfung. Abgefragt wird da nix. Du hast hier sicher die Pin-Abfrage im Kopf nach dem Schema [c]if(PINB && (1 << PB0))[/c] if fragt
-
Thread
Frequenz Schrittmotor über Computer
nicht das das zwingend so sein muss. Sowohl WinPCNC als auch Mach3 funktionieren unter Windows (32bit) auch ohne externen Controller, mit direktem BitBang auf dem Parallelport. Damit kann man Taktraten bis ca. 20kHz erreichen. Höhere Frequenzen und geringeren Jitter erreicht man dann nur mit externen
nicht das das zwingend so sein muss. Sowohl WinPCNC als auch Mach3 > funktionieren unter Windows (32bit) auch ohne externen Controller, mit > direktem BitBang auf dem Parallelport. Unter DOS programmiere ich Dir das auch. Aber nimm mal einen WIN10 PC (o.ä.) und erledige das mit Python. Das Problem
-
Thread
Praktische Anwendung einer Datenbank
Teilweise ( zB CorelDraw) auch einzelne Zeichen mit Koordinaten.
Eddy C. schrieb im Beitrag #5976655: > Vieles läßt sich doch auch direkt mit Excel lösen? Excel ist hier aus irgendeinem Grund Tabu. Wann immer ich Excel vorschlage, bekomme ich mindestens viele Minusse
-
Thread
Hilfe, Interrupt flags lassen sich mit 'typedef union' nicht einzeln löschen
Neue CAN Nachricht im FIFO 0 Buffer-Array abgelegt uint32_t RF1N:1; //Bit 11: Neue CAN Nachricht im FIFO 1 Buffer-Array abgelegt … } bit; uint32_t reg; } CAN_IR_Type canIrType; [/c] Auf diese weiße kann man einfach einzelne Bits mit [c]if(canIrType.RF0N
bits, die bereits auf 1 sind werden wieder auf 1 gesetzt. } } [/c] . . . Kann mir irgendjemand erklären, wieso dem so ist? Wieso wird nicht einfach das einzelne Bit mit [c]canIrType.RF0N =
-
Thread
"Absaugen" von Daten aus Web-Datenbank verhindern?
passwort"-Analog zu nutzen, vor allem weil es exakt derselbe oder gar weniger Aufwand ist als eine einzelne unique deindexte 256bit folge. (Select * from x where id... if (row[32c]!=GET[code]) =>) oder eben( Select * from x where 256c ...if(!row) =>) macht keinen nennenswerten unteschied.. >> Man
passwort"-Analog zu nutzen, vor allem weil es exakt > derselbe oder gar weniger Aufwand ist als eine einzelne unique deindexte > 256bit folge. > (Select * from x where id... if (row[32c]!=GET[code]) =>) > oder eben( Select * from x where 256c ...if(!row) =>) > macht keinen nennenswerten unteschied..
-
Thread
LSC Smart Connect - neues Smart Home System bei Action
the coldwhite leds will light. With the WR3L modul all is working fine. When entering your line [c]http://<ip>/cm?cmnd=SetOption68 1[/c] i get two slides with monochrome/brightness style, but the functions are the same here. Maybe you can describe a little bit more detailed what you have done to
ich hab jetzt auch die neue LSC Ceiling Lamp (mit CW/CC und RGB) und habe versucht, per I2C-sniffing herauszubekommen, wie viel mA strom normalerweise bei dem SM135 eingestellt wird. Leider kann ich die Bits in keinster Weise denen in dem Datasheet als auch in dem SM135 Treiber zuordnen. Während
-
Thread
for Schleife in C
Aus der FPGA-Ecke kommend würde ich sagen: damit verschenkt man ein komplettes Flipflop. Denn mit 8 Bit kann man zuverlässig 256 Zustände darstellen. Den vorgeschlagenen 257. Zustand braucht man dafür nicht... ;-) Auf einem 8-Bit µC würde ich das so angehen (inklusive der Kommentare!): [c] for
Ich würde von einem Compiler anno 2019 erwarten, dass er das hier für einen 8-Bit-Controller so _optimiert_, dass intern auch mit 8 Bit gerechnet werden: [c]for (uint16_t i = 0; i < 256; i++) {...}[/c] Also, dass diese Schleife (die besser lesbar ist) letztlich den selben Code
-
Thread
Pullup aktivieren in AVR-Assembler
aber ginge das mit Abfrage des bisherigen Status auch kürzer? Oder auch: kann man einzelne Bits da draussen ausserhalb von R16-R31 auch direkt setzen? lds r16,PORTB_PIN2CTRL sbr r16,8 ;Bit 3 für Pullup enable setzen sts
Noch ein Tipp zur Schreibweise, einiges kann eindeutiger schreiben: [c]; alt sbr r16,8 ;Bit 3 für Pullup enable setzen ; besser sbr r16,(1<<3) ;Bit 3 für Pullup enable setzen [/c] Auch verwende ich sehr viele Macros, die die Arbeit im Code erledigen. Auch kann
-
Thread
IR NEC Signal mit einlesen
IRMP_SUPPORT_xxx_PROTOCOL]] Du kannst die Stelle aber auch so lassen wie es ist. Dann "versteht" Dein µC sogar noch ein paar weitere Fernbedienungen, die außerdem noch in Deinem Haushalt rumschwirren. 6. irmpconfig.h: IRMP_PORT_LETTER + IRMP_BIT_NUMBER definieren Klicke erst auf [[IRMP#IRMP_SUPPORT_xxx_PROTOCOL
0xDC23 && irmp_data.command == 0x0017 ) // Taste Pfeil oben { [/c] Das sieht zu kompliziert aus. Teste einmal in der Hauptschleife auf NEC Protokoll und die Adresse, dann mache aus irmp_data.command ein switch-case Konstrukt. Dann musst du nicht jedesmal alles abfragen
-
Thread
RS485 - viele Teilnehmer - hohe Geschwindigkeit
RS485 Netz mit 30 Teilnehmern. Gut und schön, aber bei 2000m Leitungslänge sollte das selbst bei 9600kBit/s eher NICHT laufen. ODER.... die Steuerungen so aufbauen, dass es immer ZWEI ein RS485 Netzte gibt (UART1 und UART2 des µC nutzen und 2 RS485 Wandlerbausteine nebst galvanischer Trennung einplanen
Netz mit 30 Teilnehmern. Gut und schön, aber bei 2000m > Leitungslänge sollte das selbst bei 9600kBit/s eher NICHT laufen. Unsinn, das läuft schon, wenn man keinen Murks baut. > die Steuerungen so aufbauen, dass es immer ZWEI ein RS485 Netzte gibt > (UART1 und UART2 des µC nutzen und 2 RS485
-
Thread
AVR8ASM-Projekte
Handencoder von *Panasonic EVEQ > DBRL416B* > beim nach links drehen, also gegen den Uhrzeigersinn ( C.C.W ) in einer > oder einigen Raststellungen ziemlich heftig prellt. Dagegen hilft die passende Auswertung. https://www.mikrocontroller.net/articles/Drehgeber#Dekoder_f.C3.BCr_Drehgeber_mit_wackeligen_Rastpunkten
Tasten #define SW1 as PORTB.0 #define SW2 as PORTB.1 #define KEY_PORT as PORTB const SW1_BIT = 0 const SW1_MASK = BV(SW1_BIT) const SW2_BIT = 1 const SW2_MASK = BV(SW2_BIT) endpart '--------------------------------------- ' Init '---------------------------------------
-
Thread
Effezenter Drehgeber decoder in c
schon besseren code: Am einfachsten realisiert man das mit einer state machine als Tabelle. In C sieht das so aus. int table[4][4]={{0,1,0,0},{-0,0,0,0},{0,0,0,-1},{0,0,0,0}}; int position=0; // zaehlen wir mal die absolute Position volatile int quadrature_input; // bit 0 und bit 1 sind
. [/c] W.S.
-
Thread
PIN-Code Algorithmus von Blaupunkt Radio
etwas modifiziert: [code c] /* magic file header for lzopack-compressed files */ static const unsigned char magic[4] = { 0x55, 0x4C, 0x49, 0x20 }; // "ULI " /* read Little Endian 32-bit integer */ static lzo_uint32_
53 4F 46 54 57 41 52 45 5C 42 4C 41 55 50 55 4E SOFTWARE\BLAUPUN ... 00000A80 4F 46 54 57 41 52 45 5C 42 4C 41 55 50 55 4E 4B OFTWARE\BLAUPUNK 00000A90 54 5C 50 52 4F 43 45 53 53 5C 44 45 56 5C 4F 44 T\PROCESS\DEV\OD
-
Thread
cannot read spec file 'device-specs/specs-atmega4808'
ich eben gcc 8. Ist mir von der Sache her erstmal egal. Eine Frage bleibt noch wegen der mingw 32Bit vs. 64Bit Version. Hat das nur Einfluss auf die C/C++ µC Programm Kompilierung selbst bezüglich deren Geschwindigkeit oder was noch? Ich meine der µC selbst ist ja nur "8Bit". Da sehe ich mit der 64Bit
Qualitätsmerkmal. Veit D. schrieb im Beitrag #5921801: > Eine Frage bleibt noch wegen der mingw 32Bit vs. 64Bit Version. > Hat das nur Einfluss auf die C/C++ µC Programm Kompilierung selbst > bezüglich deren Geschwindigkeit oder was noch? Der Code läuft nicht aus 32-Bit Systemen, der 32-Bit Code
-
Thread
c: Wie multiple return-Statements vermeiden?
while (!READ_BIT(registerStruct->ISR, I2C_ISR_TC)); } // Send stop condition SET_BIT(registerStruct->CR2, I2C_CR2_STOP); return receive_count; error: // Restart the I2C peripheral CLEAR_BIT(registerStruct->CR1, I2C_CR1_PE); SET_BIT(registerStruct->CR1, I2C_CR1_PE); //ITM_SendString("I2C bus error!\n"); return receive_count; } [/c] Ich glaube das ist das einzige Szenario
-
Thread
GPIB-Treiber
Mikrocontroller: AVR, Renesas, PIC.. - Bustreiberchips: keine, 75160, 75161, 75162, etc. - Firmware: C, C++, ino-file, einfache Abfragen, Statemachines.. der Strombedarf einer GPIB-Lösung hängt ggf. stark von den verwendeten Bus-Treibern an den 16 Busleitungen ab. Eine Stromaufnahme von 70-110mA ohne
High speed bus per definition das Abschalten der > Geräte verbietet, dann genügt auch ein normaler uC ohne Treiber IC. da bin ich mir nicht so sicher. Siehe die Spec. > Wenn genug Pins da sind, kann man SN75ALS165 http://www.ti.com/lit/ds/symlink/sn74als165.pdf wandelt 8bit parallel in seriell
-
Thread
Kennt jemand diesen Chip "CTC-GMZ1" von Motorola
Das wird ein µC aus der HC08 Familie sein, kundenspezifisch gestempelt, und Maske oder PROM.
. Kann durchaus 1996 von Conrad für Geigerzähler verwendet wirden sein. Stell sie halt bei eBay einzeln rein, für Leute die Ersatz suchen.
-
Thread
Warum funktioniert mein AVR Assembler Code nicht?
keinen Compiler bei Assembler. Und es ist nicht egal, wenn man z.B. die letzte Stelle wirklich abfragen möchte. Notiert man binär, ist es wirklich sinnvoll, auch die 8 Bit zu beachten.
pin can be read through the PINxn Register bit." Das sollte jetzt klar sein. PINC ist die richtige Adresse, um den Wert der Port C Pins einzulesen. Ist der Pin als Eingang deklariert, liest man damit einen extern angelegten Logiklevel ein.
-
Thread
schneller I/O zugriff auf x86-PC
Beitrag #5881647: > gibt es am PC irgendwo I/O-Pins Klar, indem du einen PasPi oder auch einen 8 Bit µC dranhängst und über RS232 oder USB steuerst. Der Kleine macht die präzisen IOs samt Timing der Dicke (PC verarbeitet die Daten und gibt die Kommandos. Schliesslich fährt auch ein 300m Containerriese
Martin L. schrieb im Beitrag #5881675: > Ich möchte unter anderem die Geschwindigkeit von C++-Befehlen messen > (z.B. Auslesen der Systemzeit, Das heißt, du misst die Zeit für System Calls (Uhrzeit abfragen, wobei das dank VDSO nicht immer einer ist), über... System Calls (Zugriff auf
-
Thread
Hilfe für Code - VHDL
50 Cent Stück, wenn das LSB Bit 0 gesetzt ist, und 1 Euro, wenn das Bit(1) des "Geldzählers" gesetzt ist. Alles in Allem: nette kleine Aufgabe, bei der man schon lange /vor/ dem Schreiben der ersten VHDL-Codezeile viel falsch machen
das ist recht einfach. Allerdings muss man hier z.B. die eigentlich unnötige Überzahlung von z.B. 50C-50C-1E oder 50C-2E oder sogar 50C-50C-2E auch berücksichtigen (siehe Screenshot). Trotzdem kommt man übersichtlich mit 7 Zuständen aus, wobei die Ausgabe mit 4 Zuständen "A..." eigentlich unnötig ausufernd
-
Thread
I2C Slave mit dem Attiny 841
geschaut und gesehen das es nur Slave erlaubt. Bin gerade dabei die Register anzuschauen und die einzelnen Funktionen durchzugehen und hoffentlich auch zu verstehen c-hater schrieb im Beitrag #5877099: >> Bei anderen Beispielen mit Code wird I2C Master oder TWIslave mit c und >> verwendet. Das hast
halt anders als die anderen Attiny. Mir geht es eigentlich um das das ADC und die übertragung mit I2C. Habe schon einiges dazu programmiert. Leider klappt die übertgaung nicht so wie sie soll. Im Master habe ich eine Abfrage drin die die Adresse des Slave überprüft ob sie vorhanden ist. Dies Abfrage
-
Thread
PT100 und Raspberry Pi
> NTC nehmen mit einem 10k Seriewiderstand. Das blöde ist: die sind so ungenau, die muss man einzeln kalibrieren wenn es genauer als 5 GradC werden soll.
NTC nehmen mit einem 10k Seriewiderstand. > > Das blöde ist: die sind so ungenau, die muss man einzeln kalibrieren > wenn es genauer als 5 GradC werden soll. Fuer mehr Geld bekommst Du bessere Genauigkeit...
-
Thread
Eigenes i.MX6 Board - JTAG läuft. Wie nun weiter mit U-Boot?
connected devices is not JTAG compliant (IEEE Std 1149.1, 7.1.1.d, IR-cells). (NumDevices = 3, NumBitsSet = 2) ************************** JTAG chain detection found 3 devices: #0 Id: 0x5BA00477, IRLen: 04, CoreSight JTAG-DP #1 Id: 0x00000001, IRLen: 05, Unknown device #2 Id: 0x088C101D, IRLen
output to pins via the IOMUX. //ENET_REF_CLK1 function. clrsetbits_le32(&iomuxc_regs->gpr[1], BIT(13), 0); //ENET1_TX_CLK output driver is enabled when configured for ALT1 clrsetbits_le32(&iomuxc_regs->gpr[1], BIT(17), 1); return enable_fec_anatop_clock(0, ENET_50MHZ); } [/c] Leider
-
Thread
I2C Display zeigt komische Zeichen
Er hat [c]Serial.println(voltage);[/c] zu [c]Serial.print(voltage);[/c] geändert. Den Tipp mit den Binärdaten hat er nicht verstanden. Ein LCD kann in den 4Bit Modus - in der Regel! - nur einmalig initialisiert
Lösung hast, dann freue ich mich diese zu > erlernen. Der übliche Weg ist, zuerst drei einzelne Command-Nibble mit dem Umschaltbefehl auf den 8bit-Modus zu senden. Danach ist das Display im 8bit-Modus, egal in welchem Zustand es vorher war. Dann sendet man den Befehl zum Umschalten auf 4bit,
-
Thread
XMEGA Hardware-Bug (Kritisch) Gesperrt
dargestellt. Schön wäre es, wenn der OPcode als ein 16-bit Wert dargestellt würde und nicht als zwei mit space getrennte 8-bit Werte. Also: 0: C001 rjmp .+2 ; 0x4 <dort> Ohne das muss man beim Lesen die Bytes"im Kopf tauschen"
State machine mit Unmengen von Abfragen und Unterprogrammaufrufen. Ein paar Routinen in Assembler und alles andere in C wäre weitaus besser und übersichtlicher gewesen...
-
Thread
Physikalischer CAN Bus mit Transceivern aber ohne CAN Controller
. Aber zu Not ist auch ein zusätzlicher µC als I2C/CAN Konverter möglich.
8-bit (Hilfs-)Mikrocontroller wechselten.
-
Thread
Hilfe (Arduino) bei Schrittmotor Steuerung - Arduino zu langsam ?
Entweder man verwendet eine Hardware I2C Schnitte, oder man unterbricht die I2C Übertragung ein paar mal. Denn bei einem 400kHz I2C kann man z.B. Nach jedem 10 Bit unterbrechen und ist dann immer noch 10x schneller als 3,5kHz... Daniel H. schrieb im Beitrag #5855984: > Funktionieren Interrupts auch innerhalb der i2c-Übertragung ? Ideal wäre > dass die Übertragung zB. alle 100us unterbrochen wird Kommt auf die Implementierung des I2C an. Bei halbwegs sinnvoller Umsetzung geht das. Aber warum willst du da so oft
-
Thread
VHDL Denken-wie?
wird, sondern eine Schleife baut replizierte Hardware, aus 1 bit FlipFlip wird so durch 8-fache Wiederholung ein 8 bit Register mit 8 FlipFlops, oder eben (2-dimensional 256) ein 64kbit Speicherarray, bei dem man GARANTIERT nicht alle 65536 einzelne Zellen im code
wie ich, von Kindheit an mit > 8-Bit-Computern rumprogrammiert hatten - im Gegensatz zu den Jahrgängen > der 70er und frühen 80er, die als Kinder keine Heimcomputer hatten. Braucht man einen C++ Kurs und einen OS9- und Unix-Kurs, wenn
-
Thread
Linux Kernel 5.1.1. auf dem BPi-R2
zwischen zwei Speichermedien. In dem von mir getesteten Fall sind ja verschiedene Teile des SoC's eingebunden und die Beobachtung, dass mindestens 100MB/Sek. an Durchsatz möglich sind ist schon mal eine Hausnummer für so einen SBC wie den BPi-R2. Einzelne Messungen aus dem Speicher sind
81e397dc 0497dc 0026e8 00 WA 0 0 4 [ 6] .got.plt PROGBITS 81e3bec4 04bec4 00000c 04 WA 0 0 4 [ 7] .u_boot_list PROGBITS 81e3bed0 04bed0 00123c 00 WA 0 0 4 [ 8] .rel.dyn REL 81e3d10c 04d10c 009518 08 A 12 0 4 [ 9] .bss_start
-
Thread
Aufwärmzeit DS18B20 Sensoren
Serial.println(); // Convert the data to actual temperature // because the result is a 16 bit signed integer, it should // be stored to an "int16_t" type, which is always 16 bits // even when compiled on a 32 bit processor. int16_t raw = (data[1] << 8) | data[0]; if (type_s) {
// at lower res, the low bits are undefined, so let's zero them if (cfg == 0x00) raw = raw & ~7; // 9 bit resolution, 93.75 ms else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms else if (cfg == 0x40) raw
-
Thread
Zwei Interrupts gleichzeitig Laufen
Danke erstmal für die vielen Antworten Also der µC ist ein Atmega328P der besitzt 3 Timer. 0 und 2 sind 8Bit und 1 ist ein 16Bit. Schon mal ein Fehler im Code entdeckt Schwellwert1 muss uint8_t heißen wobei das denke ich kein unterschied macht oder
Kochbuch suchst: Das Dr. Ötker Schulkochbuch) Fang klein an und arbeite ein Grundlagenbuch für C durch. Wenn du 3 LED's unabhängig voneinander in unterschiedlichen Rythmen blinken lassen kannst (ohne Quellcode zu kopieren) bist du schon einen großen Schritt weiter. Danach fragst du zuerst einzelne
-
Thread
Arduino SPI Daten senden
Kann man denn nach einem einzelnen Bit quasi fragen? Also wenn man beispielsweise "byte temp = SPI.transfer(0x00);" schreibt?
Acht Takte führen zu 8 Bit. Also nein! Einzelne Bits geht nicht.
-
Thread
Byte auf verteilten Ausgängen ordnen
Für die 4 Bits der jeweiligen zwei Ports könnte man jeweils eine Translation table anlegen und dann 4 Bits zugleich schreiben, statt alle Bits einzeln.
t außen drauf, wenn du nicht immer jedes Bit einzeln setzen/löschen willst.
-
Thread
Rotary-Encoder mit Arduino als Konzentrator
der Pin Eingang oder Ausgang, und dann kann man den Pin als Variable angeben, die muss für das Abfragen des Registers erst umgerechnet werden (Pinnummer zu Register-Speicherstelle). "Arduinosprache" ist einfach ineffizient, wenn Du es schnell willst, musst Du auf C, Pascal, Assembler zurückgreifen
das Gegenteil einer Erweiterung. > "C/C++" gibt es nicht. Ich betrachte C++ als objektorientierten Zusatz zur Sprache C. Für mich enthält C++ die Sprache C fast vollständig, deswegen halte ich "C/C++" für einen gültigen Begriff.
-
Thread
C String einlesen, wieso geht das?!
Abfrage(); return 0; }[/c]
() { Abfrage(); return 0; } [/c] [pre] $ gcc s.c && ./a.out s.c: In function ‘Abfrage’: s.c:8:11: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘char (*)[1]’ [-Wformat
-
Thread
Sicherungsfestplatten überprüfen
ist nicht richtig. Die Daten verrotten dir durch Bitrot. D.h. sie verlieren mit der Zeit bei einzelnen Bits ihre Magnetisierung. In der Gesamtbetrachtung ist die Demagnetisierung durchaus gering, aber einzelne Bits trifft es halt schon und dann sollte das Dateisystem in der Lage sein, dies zu erkennen
Menge "--force","--i-know-what-im_doing" - Optionen... Mit "examine" kannst du den Zustand der einzelnen Raid-Member abfragen, damit ohne Stochern im Nebel herausfinden wo das Problem liegt, die Scherben zusammenkehren, "assemblen", läuft wieder, scrub-lauf drüber, fertig.
-
Thread
Module miteinander verbinden - welchen Bus nehmen?
Master, weswegen eine Vorab-Speicherung in dem Modulen flach fällt. Der Master soll also überall einzeln Bilder "hochladen" können. Ich denke ein paar MBit/s wären also ganz gut. Jetzt dachte man schon daran, weil ja 2 SPIs pro uC vorhanden sind, ob man nicht einfach einen SPI für IN und einen weiteren
schrieb im Beitrag #5786114: > SPI ist schon ok, das ist niederohmig. Du meinst wahrscheinlich I2C, das > ist etwas anfälliger bei langen Leitungen. Es ist genau umgekehrt. I2C filtert die Eingänge mit einem Tiefpaß gegen schnelle Störflanken und ist daher unempfindlich gegen Leitungsreflexionen
-
Thread
KEYPRESS.COM
nächsten seite "keypress" eingeben. Dan rechte Maustaste auf den Link, Eigenschaften, und bei Ziel " /mnt/c/wsl/keypress.sh" hinzufügen, danach sollte da "C:\Windows\System32\bash.exe /mnt/c/wsl/keypress.sh" stehen. Nun den Link in den Path verschieben, (z.B. nach C:\Windows). Jetzt kannst du das Script verwenden, einfach eine CMD öffnen, und "keypress.lnk a b c" eingeben.
-
Thread
USB Audio Sync Endpoint Implementierung
jeden einzelnen Sample (96 bei 2 Kanälen). Es ergibt sich folglich ein Count von 49152 über 512 Frames. Ich muss also nur um 4 Bit schieben. Ich habe nun auch die Berechnungsweise nochmal neu nachvollzogen und
Kandidaten auserkoren. Als erstes würde ich gerne UAC2 nutzen. Das hätte den Vorteil, dass ich 32 Bit Audio übertragen könnte und somit bei der Verarbeitung der Daten nicht jeden 24 Bit Sample einzeln byteweise handhaben muss (24 Bit Daten kommen per USB an, der FIFO hat aber 32 Bit Speicherstellen)
-
Thread
ein Bit im Byte auf 0 prüfen
Hallo, für nen PIC16 soll wenn Bit 1 in mybyte auf 0 ist Aktion ausgelöst werden. Richtig so? oder besser anders? [c]if (~mybyte & 0x02) alarm()[/c]
ob er unabsichtlich ein Problem erzeugt hat. Beispiel Klammersetzung: [code] // ??? bittest of BIT #3 or Bit #0 shifted into 3rd bit b = a & 1 << 3; if (a && b || c) { // ??? (a AND b) OR c != a AND (b OR c) } [/code]
-
Thread
[C] Böse Falle: Datentyp korrekt angegeben, falscher verwendet
implizites > printf("%u\n", (unsigned)x); > drin steckt. unsigned habe ich jetzt weggelasen. [c] int32_t x = (int16_t)30000*(int16_t)2; printf("%d\n", x); [/c] Und wieder kommt das richtige Ergebnis raus. Falk B. schrieb im Beitrag #5764043: > Nö. 16 Bit * 16 Bit sind 32 Bit. [c]
diese Warnung weg hätte, ohne die Variablen von 8 auf 16 Bit aufzublasen. Das hat überhaupt nichts damit zu tun, ob C das besser kann. Und wenn Du mal in das Kompilat schaust, wirst Du merken, dass C hier einfach die if-Abfrage wegoptimiert, weil unreachable
-
Thread
Roboterbau - Kombination von Raspberry und Mikrocontrollern
Meine Idee hierbei wäre es, an mehrere AtMegas/Attinys verschiedene Sensoren zu hängen (also z.B. ein uC für Wettersensoren, ein weiterer für Gyroskope/GPS/Radar/Lagesensoren). Softwaretechnisch würde dann die Hauptsteuerplatine - in diesem Fall ein Raspberry Pi 3 - immer die einzelnen uCs abfragen und
Mikrocontroller überhaupt Master spielen lassen? Wenn du die alle nur als Slave benutzt und alle I2C Sensoren selbst mit dem Raspberry abfragst machst du es dir deutlich einfacher. Das I2C am Ende trotzdem nicht funktioniert liegt dann nur in der fehlerhaften Implementierung des clock stretching im
-
Thread
Arduino Mega für Programm nicht richtig aus
ca. so aus. Den Watchdog brauchst du nicht, das ist nur ein Würg-Around für schlechte Software. [c] void loop() { UART_COM(); Entprellung(); Verarbeitung(); } [/c] Diese einzelnen Funktionen könnte man sogar in einzelne .cpp Files stecken, wie es bei Profis gemacht wird.
/kippt? Theoretisch möglich, praktisch aber eher SEEEEEHR Unwahrscheinlich. Denn einzelne Bits kippen eher bei ionisierender Strahlung als bei EMV. >> Wenn das nicht der Fall ist, wird es wohl in eine Signalleitung >> reinspucken und falsche Signale vorgaukeln > > Wenn mir ausschließlich