-
Thread
Hilfe um 8 Bitfelder in uint8_t umzuwandeln (ESP32)
1; uint8_t bit3:1; uint8_t bit4:1; uint8_t bit5:1; uint8_t bit6:1; uint8_t bit7:1; } Input; uint8_t Byte; } Input_ut; int main() { Input_ut Test; Test.Byte=0; //Bit 0 setzen und ausgeben Test.Input.bit0 =1; printf("%d\n", Test.Byte); //Ausgabe: 1 //Bit 7 setzen und ausgeben Test.Input.bit6 =1; printf("%d\n", Test.Byte); //Ausgabe: 65 (64+1) return 0; } [/c]
-
Thread
Arduino - zeitkritische Signale
arduino-timer-interrupts-arduino-register-programmieren/#Arduino_Uno_Mikrocontroller_ATMEGA328P 8 Bit-Timer0: wird genutzt für die Funktionen millis(), micros(), delay() und für PWM an Pin D5 und D6 16 Bit-Timer1: wird z. B. für die Bibliothek Servo, VirtualWire, TimerOne und für PWM an Pin D9 und D10 genutzt 8 Bit Timer2: wird genutzt für Funktion tone() und für PWM an Pin D3 und D11 Das heißt, dass jegliche Fingerei an den Timern zu Kollisionen mit Arduino-Funktionen führen kann. Aber sein Problem wird
-
Thread
MiniDisc, kennt das noch jemand oder nutzt es sogar?
recorder, von TEAC, mit dem ich recht zufrieden bin. Allerdings schafft auch der keine wirklichen 24bit, eher so 18-20bit - ist also gegenüber 16bit-Dat nun nicht gerade um Klassen besser.
Warum verwendet man im Audio Bereich eigentlich immer lineare 16 Bit ADC und nicht logarithmische mit weniger Bits?
-
Thread
Linux am ESP32-S3 – Einrichtung und Bring-Up
/Products/IoT/ESP32-S3/ESP32-S3-DevKit-Lipo/open-source-hardware bereitstehende Evaluationsboard setzen, das sich in der Welt der Linux-ESP32-Nutzer als Quasistandard etabliert hat und rund zwölf US-Dollar kostet. Die Speicherausstattung beträgt dabei 8 MB RAM und 8 MB Flash - alte Knochen (wie meine
Auch hier ist nach den Änderungen ein Reboot erforderlich. Nächste Amtshandlung ist dann das Setzen des Executable-Bits für das heruntergeladene Skript: [c] ucnet@ucnet-VirtualBox:~$ wget https://gist.githubusercontent.com/jcmvbkbc/316e6da728021c8ff670a24e674a35e6/raw/8ffd2e759814612a7c210ddb0b1580855e529b5f
-
Thread
STM32F767: "HAL_UART_Receive_IT" bringt busy
habe ein Bild angehängt. Nach dem Empfang eines Bytes wird RxState in der Funktion UART_RxISR_8BIT wieder zurück auf STATE_READY gesetzt. Des Weiteren werden die Interruptflags dort zurückgesetzt. [CODE] ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); // Zeile 4400
RxXferCount == 0) { /* Disable the UART Parity Error Interrupt and RXNE interrupt*/ CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ CLEAR_BIT(huart->Instance->CR3, USART_CR3
-
Artikel
AVR-Tutorial: ADC
Abschluss einer Messung automatisch die nächste Messung. Die erste Messung wird ganz normal über das Setzen des ADSC-Bits gestartet. ADIF – ADC Interrupt Flag: Wenn eine Messung abgeschlossen ist, wird das ADIF-Bit gesetzt. Ist zusätzlich noch das ADIE-Bit gesetzt, so wird ein Interrupt ausgelöst und der
+---+---+---+---+ +---+---+---+---+---+---+---+---+ 9 8 7 6 5 4 3 2 1 0 Ist keine 10-Bit-Genauigkeit gefragt, kann diese Zuordnung aber auch geändert werden: Durch Setzen des ADLAR-Bits im ADMUX-Register wird die Ausgabe geändert zu: ADCH ADCL +---+---+---+---+---+---+---+---+ +---+---+
-
Artikel
AVR-GCC-Tutorial/Die Timer und Zähler des AVR
TCCR0B sind nach dem Reset 0 und sollen auch 0 bleiben. Wenn man sicher nur bestimmte Bits ändern will, ist das ODER (bzw. UND mit dem Kehrwert) sicherer. Näheres dazu im Artikel Bitmanipulation. 16-Bit Timer/Counter. Viele AVR-Modelle besitzen außer den 8-Bit Timern auch 16-Bit Timer. Die
aktiviert. Timer/Counter 1 arbeitet als normaler Timer bzw. Zähler. 0 1 8-Bit PWM Betriebsart aktivieren. 1 0 9-Bit PWM Betriebsart aktivieren. 1 1 10-Bit PWM Betriebsart aktivieren. TCCR1B Timer/Counter Control Register B Timer 1 Bit 7 6 5 4 3 2 1 0 Name ICNC1 ICES1 - WGM13
-
Thread
OPV Unterschiede Empfindlichkeit? Gesperrt
Mega2560 leerer Sketch Ports ausgelesen [c] PINB 1000'0000 DDRB 0000'0000 PORTB 0000'0000 Bit 7 ist Led13 Bit 5 ist SCK [/c] Und jetzt wurde ich stutzig und lach mir gerade einen Ast. Die Led13 leuchtet auch mir bei die ganze Zeit stabil vor sich hin. Ich habe die gelbe Led die ganze Zeit
, wo die Nutzung aller Ein- und Ausgänge definiert ist, wird man natürlich keinen OP vor die LED setzen. Harald W. schrieb im Beitrag #7502178: > Normalerweise müssen alle Verstärker- und Buffer-ICs an ihren > Eingängen definiert angesteuert werden. Wenn eine Schaltung auch > mit offenen Eingängen
-
Thread
Sicherung für DSL-Leitung
Als schnelle Überstromsicherung in Datenleitungen setze ich meistens welche aus der Bourns TBU Serie ein. Für DSL wäre laute Bourns TBU-CA050-500-WH geeignet. Aber wie gesagt sind die Fritzboxen dagegen schon geschützt. Nur hohen common mode Überspannungen
ich würde ein Modem so weit möglich wie es geht richtung Anschluss setzen, immernoch mit dem Dehn Schutz, vielleicht sogar ein Typ 3 Netzseitig für das modem und mit LWL Konverter weiter auf die Fritzbox.. 16K Modems kriegste bei ebay für 5 Euro, wenn es dann durchschiesst
-
Thread
Was denkt ihr von meinem PWM DAC?
Dämpfung von 130 dB. Das müsste theoretisch also funktionieren. Würde man die Timer-Auflösung auf 20 Bits setzen, dann liesse sich allerhöchstens eine PWM-Frequenz von 152 Hz erzielen; für 20 Bits bräuchte man eine Dämpfung von mindestens 120 dB, die das Filter aber erst bei ca. 220 Hz erreicht, d.h. 20 Bits sind nicht mehr realisierbar. Meine Frage wäre nun, wie realisitisch Aufösungen von 16, 17, 18 oder gar 19 Bits mit diesem PWM DAC wären.
-
Thread
Firmware entschlüsseln, Updateprogramm als Hilfe?
einiges andere an Hardware durch rein- und rausschieben von Daten angesteuert wird (auch wieder per per Bit-Banging), es würde helfen wenn man wüßte was da sonst noch im Gerät verbaut ist. Eines davon wird relativ sicher das Display sein, interessant ist der Rest.
die Sprachdateien zu > Extrahieren? Die ersten ca. 1,8 MB der Datei enthalten unkomprimierte 8-Bit-Audiodaten mit einer Samplerate von etwa 8000 Hz (vielleicht sind es auch 8192 Hz). Mit SoX habe ich die Daten in ein MP3 konvertiert: [pre] sox -t raw -e unsigned -c1 -b8 -r8000 Ruyage_UV-58
-
Thread
sgtl5000 Init LineIn zu Headphone via ADC/DAC
& ADC habe ich auf unmute gesetzt Ich habe mal probiert den DAP per DAP_EN auf passthrough zu setzen da ich nicht sicher bin ob "When disabled, no audio passes through" sonst gilt? Aber eigentlich wird in https://community.nxp.com/t5/Other-NXP-Products/Routing-ADC-gt-DAC-in-sgtl5000/m-p/699654 gesagt
32k kHz, 256*Fs default values writeRegister(CHIP_I2S_CTRL_ADD, 0x0130); // SCLK=32*Fs, 16bit, I2S format } void SGTL5000::initAnalogAudioPath() { DAP_CONTROL.DAP_EN = 0x00; // DAP_CONTROL.MIX_EN = 0x00; // dap mixer disable writeRegister(DAP_CONTROL_ADD, DAP_CONTROL.data
-
Thread
Spartan 3/6 welche Constraints braucht man
hier irgendwelche Constraints manuell setzen?
> Also werden die 16bit breiten > ADC Datenleitungen intern nicht weit voneinander entfernt geroutet, > sondern möglichst gleich lang um gleiche Latenz zu bekommen? um eine Minimierung der Laufzeit zwischen den eizelnen
-
Thread
STM32 UART TMC2209 Bit-banging
Habe Uart deaktiviert GPIO gesetzt etc.) Laut Oszi kommt alles an. Nur der TMC macht nichts... setze ich die bits in der falschen reihenfolge?? Ich sende die Bytes von Data64[0] nach 8 und jeweils von links nach rechts also im grunde wie in dem Kommentar. nach jedem Byte ein stopbit und ein Start
Brom B. schrieb im Beitrag #7484493: > Laut Oszi kommt alles an. Nur der TMC macht nichts... setze ich die bits > in der falschen reihenfolge?? Guggst du Fragge :)
-
Thread
uin8_t array to uin32_t
Hallo, es ist eigl. relative einfach wenn man sich einmal mit Bit-shiften beschäftigt hat. Nimm dir ne größere variable(uint16_t , uint32_t , etc). Danach den 8 Bit Wert und schriebst den an die richtige Position und ODER_Verknüpft die beiden. ODER --> Variable
unrollt die ganze Loop und macht am PC ein MMX-XOR daraus, lieber -Os testen), und überlegen wie ein 8-Bit-µC wohl ein 32-Bit XOR ausführt.
-
Thread
PIC16F1509/Sansmart LCD2004/I2C , benötige etwas Hilfe
und einzeln per E-Toggle übernehmen. Du brauchst da nur das High-Nibble vom "Set 4 Bit Mode"-Commando setzen, einmal E Togglen. d.H.: erste Initialisierung per "LCD_Write_4Bit", nicht per "LCD_CMD". TLDR: [c] RS=0; LCD_Write_4Bit(0x20); [/c]
schrieb im Beitrag #7483225: > Genau da liegt das Problem. Beim Initialisieren ist das Display im 8 > Bit-Modus. da kannst du nicht zwei Nibble hintereinander raussenden und > einzeln per E-Toggle übernehmen. Klingt logisch :-) > Du brauchst da nur das High-Nibble vom "Set 4 Bit Mode"-Commando setzen
-
Thread
Keypad 3x4 with Row + Column LEDs
habe ich mich bereits wieder gedanklich verrannt: '''Gibt es einen IC welcher aus einem 3 oder 4 Bit BCD am Eingang eine Bitausgabe an 8 Ausgängen generiert?''' So soll 0x05h am Eingang die Ausgänge so setzen (High to Low): xx xx xx xx 00 04 00 01 BCD zu 7-Segment Decoder scheiden da ebenso aus
Korrektur: Gibt es einen IC welcher aus einem 3 oder 4 Bit BCD am Eingang eine Bitausgabe an 8 Ausgängen generiert? So soll 0x05h am Eingang die Ausgänge so setzen (High to Low): x x x x 0 1 0 1
-
Thread
Eine Frage zu Xilinx ISE 14.7 in VM
allen für die Hilfe, jetzt geht es. Ich kann endlich Projecte laden. Ich starte die ISE in der 32 Bit Version und alles ist gut :-) mfg Schuby
Max S. schrieb im Beitrag #7485134: > Ich starte die ISE in der 32 Bit Version und alles ist gut :-) Ehrlich gesagt, habe ich die ISE nie in der 64-Bit-Version ausprobiert oder laufen gelassen.
-
Thread
AVR: "sleep disable" unnötig?
nicht weniger. Wenn ihr das nicht braucht, dann nutzt es halt nicht. Es steht euch frei das SEN-Bit direkt in der Init zu setzen, obwohl ihr gar kein SLEEP verwendet. Falls ihr auf hängende Programme steht, die doch irgendwo verborgen ein SLEEP ausführen.
Beitrag #7481742: > Wenn ihr das nicht braucht, dann nutzt es halt nicht. Es steht euch frei > das SEN-Bit direkt in der Init zu setzen, obwohl ihr gar kein SLEEP > verwendet. Abgesehen vom letzten Teil mache ich das genauso. Wenn das Programm SLEEP verwenden soll, wird das SLEEP ENABLE Bit im Rahmen
-
Thread
for-Schleife - Bit verschieben
> (int. / ext.) Peripherie. Bspw. ist bei einem STM32 das Datenregister > eines der USARTs zwar 32Bit breit, aber davon sind nur 8Bit relevant. Wenn von Hunderten von 32-Bit-I/O-Registern einige wenige einen oder mehrere 8-Bit-Teilbereich haben, dann nimmst du für diese den Typ std::byte, für alle
Der Thread läuft bei 255 über. bitte ein Bit. 🍺
-
Thread
Widerstandsmessung limitierter Strom
macht daraus 3 V - das passt perfekt zu den 3,3V. Bei 0,1 Ohm sind es immernoch 20 mV. Wenn dein uC 10 Bit kann, löst er rund 3,2 mV auf, das langt. Wenn er nur 8 Bit kann, setze noch eine zuschaltbare 10x Stufe hinten an.
-
Thread
Macht es Sinn MCU Programmierung zu lernen?
Das macht überhaupt keinen Sinn. Mikrocontroller haben 64KRam/Rom, sind 16 Bit breit und laufen mit max 30MHz. Das ist alles so 80er. Das ist so, also ob du dich in Golf-1 Motoren oder Dual Plattenspieler einarbeiten möchtest. Und wer will das wirklich schon? Wobei auch die Sprachen
Beitrag #7476768: > Das macht überhaupt keinen Sinn. > Mikrocontroller haben 64KRam/Rom, sind 16 Bit breit und laufen mit max > 30MHz. Das ist alles so 80er. > [...] > Mach was modernes mit KI. Ich nehme an, derzeit 6 Menschen haben wohl die Ironie nicht bemerkt. :D
-
Thread
Wetterstation - Low Power Design
oft/schnell messen. Kann man sich sparen. Pin der MCU als Ausgang, daran einen Spannungsteiler setzen, füttern in einen ADC Pin rein. Wird einfach bei Bedarf bestromt.
Grund einen alten 8 Bitter zu bevorzugen. Die Software kann man modular aufbauen ohne auf das letzte Bit gucken zu müssen, die Module für die Sensoren und Funk und USB können in anderen Projekten weiterverwendet werden. Dazu kommt das das Design schon nahezu fertig ist, damit ist die Kritik an der gewählten
-
Thread
Finde meinen Fehler einfach nicht
siehe Anhang). Also mein Programm in der IDE ist so gut wie identisch, unterschied ist halt nur das setzen der einzelnen Bits an PORTD. Ich versuche halt die Werte mit dem Umrechnen von Dezimal in Binär arbeiten zu lassen. Also irgendwo habe ich dort einen Fehler, den ich nicht sehe, bin für jede Hilfe
14 Schieberegister #define saveValue PIND0 // SHCP PIN11 am 74HC595. Zum schieben und eingeben 1 Bits im Shiftregister #define saveData PIND1 // STCP PIN12 am 74HC595. Zum Ausgeben 1 Bytes. const uint8_t delay = 200; int main(void) { uint8_t ausgabe[4] = {24, 36, 66, 129};//{00011000, 00100100
-
Thread
ATTiny85 ACD
and the user is advised to discard this result.") ADCSRA |= _BV(ADSC); // Convert while (bit_is_set(ADCSRA, ADSC)); low = ADCL; adcVal = (ADCH << 8) | low; return ((long)1024 * 1100) / adcVal; } void setup() { DDRB |= _BV(BAT_EMPTY_PIN); //debug led }
die Spannung am Pin ACD2 geben. Ist es eigentlich notwendig den Pin als Input ohne Pullup zu setzen oder reicht es das Digital Input Disable Register zu setzen?
-
Thread
Ist das schon Trollen? Gesperrt
veröffentlicht, eine Art persönliche Browsererweiterung, in der Du dann Usernamen auf eine schwarze Liste setzen kannst.
eine Art > persönliche Browsererweiterung, in der Du dann Usernamen auf eine > schwarze Liste setzen kannst. Wer will schon die Beiträge vom Altenknacker versäumen. Zeitnahes antworten ist Pflicht1! MfG alterknacker
-
Thread
for(;;){} Schleife
Norbert schrieb im Beitrag #7484836: > Habe gerade mal den folgenden Code mit g++ (64bit Linux) und auch > avr-g++ Weil der GCC das so macht. Es besteht keine Pflicht den Code mit UB zu entfernen.
schon ist die Schleife nicht mehr leer. Was uns zum nächsten Problem bringt :) Wenn man dafür kein Bit setzen kann, braucht man einen Maschinenbefehl wie WFI. Was sagt der Standard denn dazu?
-
Thread
Modbus über USB-Seriell-Schnittstelle
Modbus-Standard https://modbus.org/docs/Modbus_over_serial_line_V1_02.pdf steht auch: The format ( 11 bits ) for each byte in RTU mode is : Coding System: 8–bit binary Bits per Byte: - 1 start bit - 8 data bits, least significant bit sent first - 1 bit for parity completion - 1 stop bit *Even parity
Frank K. schrieb im Beitrag #7473868: > The format ( 11 bits ) for each byte in RTU mode is : > Coding System: 8–bit binary > Bits per Byte: > - 1 start bit > - 8 data bits, least significant bit sent first > - 1 bit for parity completion > - 1 stop bit
-
Thread
ESP8266: Preferences Probleme - Daten werden NICHT geschrieben
filesystem.html Danke dir für den Input. Ich habe jetzt einfach in der platformio.ini file mal das bit versucht zu setzen/rücksetzen - beides lieferte mir das gleiche ergebnis. Hat eventuell jemand eine Idee wie ich das weiter debuggen kann?
-
Thread
Diskussion über Mikrocontroller-Plattformen: Deine Meinung zählt!
zu teilen! Ich freue mich darauf, von euch zu hören und eine anregende Diskussion in Gang zu setzen. Eure Teilnahme wird diese Umfrage wirklich bereichern.
Wartet mal ab. Bevorzugt 4bit Prozessoren mit Binaercode. Mehr braucht es nicht fuer ein bisschen Steuerung. Das spart Ressourcen.
-
Thread
STM32 5V tolerant, welcher Pegel?
man den STM32 so abschießen dass er sich aufhängt? Macht es Sinn einen Pegelwandler auf 5V zu setzen um evtl. Kommunikationsschwierigkeiten auf den Grund zu gehen? Angenommen da sitzt ein Pegelwandler vor dem STM32 der die 5V wieder auf 3V3 runterteilt, kann es sein dass hier ein Pegel nicht erreicht
Wegen den drei Wochen: Bist du dir sicher, dass du nicht irgendwo einen signed 32 bit Zähler (firmware-seitig) verbaut hast, der sekündlich hochzählt? Da hättest du nach gut drei Wochen einen Überlauf in die Miesen. Nur eine kleine Intuition von meiner Seite. Kann auch Müll sein.
-
Thread
PiPico Oszilloskop
Taster für den Reset hinkommen. Eigentlich wollte ich ja den 74hc245 mittig zwischen den Pico setzen, ging auch, aber da hätte ich den cutout für das WLAN nicht mehr dazu bekommen.
. Matthias 🟠. schrieb im Beitrag #7489704: > UND viel wichtiger, wofür sind die Voltage Range Bit Zuordnungen?! Die ist dafür da, wenn man sich sein Analogfrontend modular aufbaut, kann über diese Bits z.b. mit einem Drehschalter, das Frontend gewählt werden. Matthias 🟠. schrieb im Beitrag
-
Thread
Liste von ICs usw. fürs Breadboard
alten Timer-Typ nicht mehr gibt. Aber nun erzähl uns mal, wie Du auch bei moderneren AVRs alle Bits einigermaßen sprechend setzt, oder - schlimmer noch - einzelne Bits eines Registers modifizierst. Aber was Du schreibst ist auch nicht wirklich entscheidend, abgesehen von den kryptischen Namen für
Existenz es halt oft unnötig macht, mit RMW-Zugriffen und Bitmanipulationen zu hantieren, um einzelne Bits in SFIORs zu setzen bzw. zu löschen. Leider gibt es diese Art Register längst nicht überall. Für IO-Ports z.B. aber schon. Mal ein Beispiel, wie eine recht komplexe Initialisierung unter Benutzung
-
Thread
OWON HDS2102S vers HDS2202S
Markus W. schrieb im Beitrag #7467589: > mir war schon klar, dass die 14bit nicht stimmen können, > deshalb die Fragezeichen von mir dahinter. Owon macht Geräte, die 14 bit können. Allerdings kostet das über 1000 €. Ich habe Owon XDS3204AE gekauft. Zwar funktioniert es mit 14 bit nur bis 100 MSa/s, weiter nur 12 oder gar 8 bit. Aber das reicht eigentlich: 14 bit sind vor allem für Schallfrequenzen interessant. Das Gerät hat aber 4 Kanäle und bequem größeren Bildschirm, als HDS2102S
-
Thread
Dekadenzeller mit „echtem“ 0
Auf Grund der Möglichkeit von Fehlzâhlungen die man korrigieren können möchte würde ich auf einen 4 bit up/down Zähler und nachgeschalteten 1 aus 10 Decoder setzen.
bei 0 alle vier Bit aus.
-
Thread
Verlauf Stromverbrauch messen
--> Mach den Shunt größer. Du kannst auch evtl. zwei unterschiedliche Shunts hintereinander setzen, und den für den µA-Bereich mit einer Diode überbrücken. Gibt aber etwas Rechnerei in der Auswertung, weil dein Saleae nur einen gemeinsamen GND für die Analogeingänge hat.
schrieb im Beitrag #7465552: > Du kannst auch evtl. zwei unterschiedliche Shunts hintereinander setzen, > und den für den µA-Bereich mit einer Diode überbrücken. Das klingt interessant. Das geht sicher auch mit noch mehr überbrückten Shunts mit verschiedenen Werten in Reihe. Das probiere ich aus
-
Thread
Neue Version V32! von Target 3001!
die Anspruchshaltung mit Kicad ein kostenloses Eagle zu bekommen, dann ist man enttäuscht. Ich setze Kicad seit V5 professionell ein. Ich habe zuvor mit Protel99SE gerabeitet, das der direkte Vorgänger von Altium Designer ist und der ollen Eagle 6.6. Ich habe Target evaluiert (und mich mit Entsetzen
nichts. [code] mint@debian ~ $ inxi -Fxz System: Host: debian Kernel: 3.16.0-4-amd64 x86_64 (64 bit gcc: 4.8.4) Desktop: MATE 1.18.0 (Gtk 3.14.5+4) Distro: LinuxMint 2 betsy Machine: System: FUJITSU SIEMENS product: ESPRIMO P5720 Mobo: FUJITSU SIEMENS model: D2581-A1 v
-
Thread
Schnelle und zeitkritische Impuls-Übertragung per OOK
Stolperfalle ein: Die Empfänger der OOK Module, zumindest mit denen ich vertraut bin (Linx), verwenden Bit Slice Kondensator gekoppelte Demodulatoren und benötigen normalerweise eine "Lern" oder Synchronisations Sequenz, damit sich der Bit Slice Datendetektor auf den Mittelwert der Datenimpulse einstellen
unterscheiden zu können. Da nun die meisten Anwendungen nur ein fixes Datenpaket zwischen, sagen wir, 20-64+ bits aussendet, funktioniert das sehr zuverlässig und die Daten kommen in der Regel unversehrt am Datenausgang heraus. In realen Anwendungen fügt man auch noch Fehler Korrektur Bits hinzu und arbeitet mit
-
Thread
Wie benutze ich die Timer vom AM64x von TI
ATMega geht das zum Beispiel, da kann man etwa [c] REG_NAME |= 00000100b; [/c] schreiben, um das Bit 2 in dem 8-Bit-Register REG_NAME zu setzen. Mit C-Funktionen wäre das aufwendiger und u. U. nicht so gut optimierbar.
: "TIMER_TIOCP_CFG[0] SOFTRESET bit can initiate a software reset of the timer. This bit is autocleared to 0 when the reset is complete. Before accessing or using the timer, the local host must ensure that internal reset is released
-
Thread
PIC12F675 - Port-IO in C
ANSEL = 0; Die Pins sind defaultmäßig auf Analog eingestellt, man muss sie ausdrücklich auf Digital setzen, um GPIO-Pins über das GPIO-Register lesen zu können. fchk
natuerlich auch das MCC verwenden und Code automatisch generieren lassen - ich selbst lese gerne und setze Bits selbst. Das MCC ist ja in der MPLAB X - IDE integriert.Aeltere uCs werden zur Zeit noch nicht unterstuetzt - wohl aber der Pic12F1840 ========================================================
-
Thread
FFT Verständnisfrage
samples //real part is the data[index] and //the complex part is the data[index+1] BitReversal(data, cnt); DanielsonLanzcosRoutine(data, cnt, 1); } void IFFT (FftInputType *data, unsigned long cnt) { unsigned long i = 0; unsigned long n = cnt; BitReversal(data, cnt
auch egal sein, oder? Nein, die Phase ist essentiell. Zerleg mal einen Sägezahn in Frequenzen, setz die Phasen auf Null und gib sie wieder aus. Da kommt eine komplett andere Funktion raus.
-
Thread
QSPICE von Mike Engelhardt
unter Wine. Ich hatte bei der letzten Installation von LTSpice das Problem das LT-Spice zwar 64Bit war, der Installer aber 32Bit und meine Wine Version 32Bit nicht mehr unterstuetzt hat. Ich musste dazu erst Wine einmal neu bauen. Vielleicht hast du ja ein aehnliches Problem. Ich wuerde aber
ja nach Einstellung eines aufruft. Defaultmäßig sind 64 Bit eingestellt ("Fast (less accurate) Math" in den Preferences).
-
Thread
LED toggeln mit ATxmega256A3BU
oben sehen kann). Ich habe mich oben entschieden nur den PIN, den ich nutzen möchte, als Ausgang zu setzen, weil ja Eingänge hochohmiger sind als Ausgänge, richtig? Im nächsten kann ich am Output ein high oder low setzen, womit ich (in meinem Fall), die LED ein- und ausschalten kann. Hier wird dies allerdings
lese alles über den PORT Hardwareaufbau und dessen Register und wie das funktioniert, was welches Bit in welchem Register macht. Am Anfang erschlägt es einen, später wird es zur Gewohnheit. Deswegen ist es egal mit welchem 8 Bit Controller du anfängst. Programmierung beginnt wenn du diese Register
-
Thread
Renesas M16C Ersatz
Mikrocontroller (Renesas M16C62P) zu finden. Die M16C-Familie von Renesas ist NRND. Die Controllerfamilie setzen wir seit >20Jahren ein. Eine der Anforderungen ist das Zählen externer Events, d.h. ich benötige die Möglichkeit interne Zähler durch externe Impulse zu takten (ca. 0-100khz), Pulsbreite ist mindestens
Impulszähler (s.o.), mindestens 7 Kanäle - mindestens 2xUART - I2C - viele IO (70+) - AD (~4 Kanäle, 10bit oder mehr) - DA (1-2 Kanäle) - lieferbar, und nicht allzu teuer nice to have: - RTC - Ethernet MAC - TFT-Controller mit integriertem Framebuffer (kein externer Ram) - USB Device und/oder OTG
-
Thread
logarithmische LED-Skala, wie berechnen
Du vergleichst einfach die esten 6 Bits und fragst auf >64, 32, 16, 8, 4, 2, 1
10 Bit .. das wird bestimmt von einem einfachen AD-Wandler kommen. Ignorier einfach die letzten 3 Bits, denn da ist oft nur noch ein Rauschen drin. Und schon hast du 7 Bits, die du eins zu eins mit den
-
Thread
E-Magnet mit Sinus steuern
frequency; // Berechne die Periodendauer in Millisekunden digitalWrite(outputPin, HIGH); // Setze den Ausgang auf HIGH delay(periodDuration / 2); // Halte das Signal für die Hälfte der Periodendauer auf HIGH digitalWrite(outputPin, LOW); // Setze den Ausgang auf LOW delay(periodDuration
nach rechts geschoben, sprich durch 256 dividiert, dann das auf 128 addiert und abschließend um 2 Bit nach rechts geschoben, sprich mit 4 multipliziert. Das wird gemacht, weil die Periodendauer 1024 Takte lang ist, sprich die PWM hat hier 10 Bit Auflösung. Im Original waren es nur 8 Bit mit 256 Takten
-
Thread
Zugriff auf struct über Pointer unter Visual Studio macht Probleme.
Da wird wohl unsigned short BM_Kennung; intern von 16 auf 32 Bit erweitert, damit die weiteren 32 Bit Zugriffe aligned sind. Mit diversen Optionen kann man den Compilern das erlauben oder verbieten. Portabel ist das nicht, einfach eine Struct über einen Speicherbereich
long AnzahlFarbTabellenEintraege; unsigned long AnzahlFarben; }BitMapInfoHeader_type;[/c] Nach dieser Änderung fuktioniert das auch bei mir. Das ist wichtig weill nächste typedef struct definiert BitMapInfoHeader_type.
-
Thread
STM32F107 Ethernet Interface
in ethernetif.c in ethernet_link_check_state() wird der LinkState ausgewertet. Breakpoint setzen und gucken welche Linkspeed vom Phy gemeldet wird.
J. S. schrieb im Beitrag #7459931: > Breakpoint setzen und gucken welche Linkspeed vom Phy > gemeldet wird. Habe ich gerade gemacht. Es wird Fullduplex und 100M Link speed ausgehandelt.
-
Thread
Hardwareverifikation - Berufseinstieg?
und Zugangskontrolle? - Bildgebende Verfahren in der Medizintechnik ohne Röntgen/CT Geräte mit 20 Bit SAR ADCs? - Moderne Medikamente ohne Gentechnik oder Verständnis biologischer Regelsysteme? - Miltärtechnik ohne Drohnen, Satelliten, GPS und selbst lenkende Granaten? - Rechenzentren ohne Grafikkarten
gefunden, nach über 1 Jahr suchen. Bewirb dich ruhig auf Stellen, welche Berufserfahrung voraus setzen. Hardwareentwickler sind rar, gute erst recht. Das muss man wollen. Wenn man jemanden, frisch von der Uni findet, der das will, währe man ja blöd, dem als Unternehmen keine Chance zu geben.
-
Thread
Objektinitialisierung mit Parametern im Konstruktor in C++
ich finde, weshalb ich bei meinem kleinen UART-Beispiel darauf verzichte. [c]#define SETBIT(Reg, Bit) Reg |= (1 << Bit) #define BITISSET(Reg, Bit) (Reg & (1 << Bit)) class Uart { public: static void enable(const uint16_t boudRateRegisterValue); static void printChar(const uint8_
ein. Ich benötige eine Klasse, die Messwerte verwaltet und darstellt. Die meisten Messwerte sind 16-Bit breit, wenige 32-Bit breit. Jetzt müsste ich wegen der wenigen 32-Bit breiten Messwerte die gesamte Klasse auf 32-Bit-Variablen auslegen. Hier würde sich beispielsweise eine Klassentemplate anbieten