-
Thread
RS485 von ms - immer noch Einschaltprobleme
#5608662: > Ein doppeltes NOP sollte doch reichen,oder? Rechne doch mal aus wie lange ein Byte (8 Bit + Start- und Stoppbit) braucht. Bei 9600 Baud sind das: 1/(9600/10) = ~1,05ms Laeuft dein uC mit 16MHz sind ein NOP aber nur 62,5ns. Heisst: Du brauchst 1,05ms/0,0000625s = 16800 NOPs um eine Bytelaenge
Modbus-Master simulieren kann. Die zu transportierenden Inhalte sind primitiv - entweder ein 16-Bit-Wert oder einzelne Bits. Alles darüber hinausgehende muss man sich auf einer Metaebene darüber zurechtschnitzen, aber das ist nicht wirklich ein Problem; in der realen Welt werden über die einfachen
-
Thread
ICE40UP NVCM programmieren
nachgereicht. Cool. Nicht ganz - man konnte den NVCM nicht programmieren, aber eine ID darüber abfragen. Hab den Programmierer von dem PR angeschrieben und er meinte, dass jede Diamond Programmer installation ein "embedded_systems" Verzeichnis mit C-Code enthält. 🤯🤯🤯 Das ist genau das, was
Output File: /tmp/lat2/impl1_algo.sea Data Output File: /tmp/lat2/impl1_algo.sea Generate Hex (.c) File: ON Compress: OFF Device1 iCE40UP5K:Program,Verify,Secure The following file(s) generated: /tmp/lat2/impl1_algo.c /tmp/lat2/impl1_data.c Build Slave SPI Embedded File Operation: Successful
-
Thread
STM32 Locking in C
Ich löse das meist so, dass ich eine globale Variable benutze. In dieser setze ich in der ISR ein Bit (Flag) wenn neue Daten vorliegen, das ich in der main() abfrage, die entsprechende Funktion ausführe und danach das Flag zurücksetze. Die ISR selbst prüft dieses Flag und schreibt die Daten, falls das
Bit AVR mit RAM knausern. Auf 32-Bit ARM sind 32-Bit Zugriffe Atomar. Das _Atomic ersetzt aber auch auf 32-Bittern das Assembler-Speicher-Optimierungs-Barrier.
-
Thread
Arduino: Ist boolean intern als Bit oder byte (char) organisiert?
einer uint8_t Variable halten bzw. bearbeiten. Ich sehe hier niergends boolean ins Spiel kommen. Zur Abfrage einzelner Bits in einer solchen Variable hat C/C++ leistungsfähige Operatoren. Siehe [[Bitmanipulation]]
Bits in den höheren Registern und einzelne Bits >> im Statusregister. > > Mit Verlaub, im Kontext von C ist das schlicht falsch. Im Kontext von C > bedeutet "adressierbar", daß der & (vulgo: "address-of
-
Thread
WizNet W5500 Probs als Webserver
jeweilige TX-Pointerwert (Der WR-Pointer) zufällig. Die Main-Schleife sieht wie folgt aus... [c] while (1) { WDT->WDT_CR = 0xA5000001; //REset Watchdog TFT_csabs(7,1); printf("%02X SR %02X SN %02X", server_client_available(), client_status(),client_get_sock()); [/c] Der
...Ergänzung: Beim W5100 habe ich die Zeichen einzeln ausgelesen und das beim W5500 auch so übernommen. Dies kostet Zeit..
-
Thread
Lagerverwaltung Part-DB V0.5.x
D:\\Daten\\htdocs\\Part-DB\\inc\\lib.start_session.php on line 291, referer: http://localhost/ [/c] PHP 7.1.9 MariaDB 10.2.8 Zeile 291: [c] $database = new Database(); [/c]
": { "psr-4": {"PartDB\\": "lib/"} } [/c]
-
Thread
Wie funktioniert SETVER Befehl unter MSDOS
lassen. Es ist aber kein Weltuntergang, wenn es nicht geht. [1] https://de.wikipedia.org/wiki/D%C3%BCsseldorf-Duisburger_Kleinbahn#Zukunft
= DOS-Version BH= Revision DX=Bitflag Bits 0,1,2 Revisionsnummer im Bereich 0 bis 7 Bit 11 1=ROM-Version von DOS Bit 12 1=DOS ist im HMA-Bereich geladens:
-
Thread
STM32 Shift operationen
doch direkt verwenden und musst nichts mehr durch die Gegend schieben (bei 10 müsstest du das). [c]if (GPIO_ReadInputData(PORT) & GPIO_Pin_10) { bit 10 gesetzt } else { bit 10 nicht gesetzt }[/c]
template <typename T> constexpr std::size_t log2 (const T& val, T bit = (std::numeric_limits<T>::digits-1)) { return val & (T { 1 } << bit) ? bit : log2 (val, bit-1); } [/c] einfach mal an den Anfang eines C++ Sourcefiles in einem vorhandenen Projekt eingefügt.
-
Thread
Frage zum Case Switch, bzw suche Konstrukt das nach bits schaltet
: break; } [/c] ich möchte also, dass jedes Bit der Flags für einen Case steht. So geht das aber nich, meckert der Compiler. Also hab ich das erstmal so gelöst: [c] #define Blah 1 #define Blub 2 uint8
{ printf("Funktion 3 wurde aufgerufen\n"); } int main() { uint16_t flags = 0x3; do_ifBitIsSet(flags, 1, print1); do_ifBitIsSet(flags, 2, print2); do_ifBitIsSet(flags, 3, print3); } [/c]
-
Thread
Game of Life läuft nur eine Runde!
über die Ecken, * daher würde der Zahlindex unterlaufen (0 --> 65535) da dass Spielfeld nicht 16bit groß ist. Um die in der Nachbarschaftsabfrage * für die Zellen im Feld und nicht am Rand sonst nötige If-Abfrage zu sparen, werden die Ecken und Ränder einzeln abgehandelt. */ if( *SpielfeldPt
verkaufen. Und nur darum funktioniert die C-FOR-Schleife auch als Endlosschleife.
-
Thread
ESP32-CAM Entwicklungskit
hochladen. Darüber hinaus verfügt die Platine über einen stromsparenden, mit 160 MHz getakteten, 32-bit-Prozessor und 520 KB SRAM. Neben GPIOs kann zusätzliche Hardware über [UART](/articles/UART), [SPI](/articles/SPI) oder [I2C](/articles/I2C) angebunden werden, als Funkschnittstelle stehen Bluetooth
direkt zugänglich über MQTT. Die Kamera wird einmal eingerichtet und soll so bleiben. Ich möchte nur einzelne Bilder oder den Stream abfragen. - Die Io0 bis Io5 hätte ich gerne wie beim Tasmota frei konfigurierbar und per MQTT erreichbar (Domoticz). Am besten mit den ganzen Treibern wie bei Tasmota im
-
Thread
CRC Fehlerkorrektur -> Lookuptable
Bei 113950 Baud habe ich aktuelle eine Fehlerrate von 50% ohne korrektur. Die Fehler liegen in einzelnen geflippten Bits. Fazit: original Softwareserial ist nicht so schlecht wie es im Netz immer behauptet wird. Aber sie ist natürlich viel schwächer als die Hardwareserial, klar! Für mich
..3 Mikrocontroller für einen > "simplen" BLDC Controller Wenn interessiert es, ob da 2 oder 6 uC werkeln? Ich habe es erst neulich irgendwo im Forum geschrieben: Wir nehmen MEGAs(328P) für Abfrage der verschiedenen Sensoren sowie Steuern der Aktoren und STM32 als Master macht die notwendigen
-
Thread
Kleines Matheproblem (Positionsbestimmung)
pC*C
von dem eben die Rede war? Also nehmen wir das in Angriff; das Ausmultiplzieren führt auf [math] c^2 = x^2 - 2x_C x + {x_C}^2 + y^2 - 2y_C y + {y_C}^2 [/math] oder wenn ich alles auf die linke Seite bringe und etwas umsortiere: [math] x^2 + y^2 - c^2 - 2x_C x - 2y_C y + {x_C}^2 + {y_C}^2 =
-
Thread
Warum kann das nur der Apfel?
sogar über USB-RS232 Umsetzer. Erst ab 64Bit-Windows war Schluß, da es keine 16Bit-Anwendungen mehr ausführen kann.
Win95 funktioniert schon mal nicht) hin, aber so richtig kompatibel ist das eben nicht. Ist halt 16Bit Programm.
-
Thread
Bootloader: Wenn er hängt, was dann ?
haben, daß weder die Firmware noch der Bootloader selber den Bootloader überschreiben kann. Andere µC bieten mehr, andere weniger. Aber wenn man mit Bootloader arbeiten will oder muß, dann tut man gut daran, einen µC mit gutem Support für Bootloader zu verwenden. Ist ja nicht so, daß man keine Auswahl
Beitrag #5577573: > Schlaukeks. Lieber Schlaukeks als Dummbrot. Und pass auf, daß du nicht aus den Bits kippst.
-
Thread
Technics Keyboard Festplatte klonen geht das ?
cf-card+128MB&_osacat=0&_from=R40&_trksid=m570.l1313&_nkw=cf-card+ide+adpapter&_sacat=0 Das removable-Bit der CF-Card wird das Keyboard kaum abfragen und sich somit auch nicht daran stören. PS: da war jemand schneller... Gruß aus Berlin Michael
im Beitrag #5660809: > 128MB CF Karte (CHS 984/16/16) Nun ja, das hatten wir doch schon 'mal, C/H/S-Anzahl eben zu klein. Sollte doch aber kein Problem sein, eine 512MB/1GB aufzutreiben. Das haben ja eben viele der HD-Erweiterungen der 8bit-Computer dann auch alle benutzt: 'ne CF-Karte. Da
-
Thread
Datenübertragung über >100m
kleineren Vulkan, wahrscheinlich in Äthiopien. Die Uni zahlt die Und dafür braucht man 115200 bit/s?
bei hohen Potentialverschiebungen ggfs aufgetrennt werden muss. - http://www.ti.com/lit/an/slla272c/slla272c.pdf Und Maxim stößt ins selbe Horn: "RS-485 specifies differential transmission, which requires two signal wires in addition to a ground wire" Siehe dort bei "Tips and Tricks": - https
-
Thread
Uart String empfangen Interrupt
ESP_RX_BUFFER_SIZE-1)) != 0 ) #error ESP_RX_BUFFER_SIZE must be a power of 2 #endif int SendESPChar (int c); int GetESPKey (void); [/c] Code File: [c] struct esp_tx_buf_st { unsigned int in; // Next In Index unsigned int out; // Next
1; USART_ITConfig(USART3, USART_IT_TXE, DISABLE); } USART_ClearITPendingBit(USART3, USART_IT_TXE); } } int SendESPChar (int c) { struct esp_tx_buf_st *p = &esp_tbuf; // If the buffer is full, return an error value if (SIO_ESP_TBUFLEN
-
Thread
DS18B20 Verkabelungs od Software Problem
temperatures...DONE Temperature for device: 0 Temp C: 23.00 Temp F: 73.40 Temperature for device: 1 Temp C: -127.00 Temp F: -196.60 Temperature for device: 2 Temp C: 24.31 Temp F: 75.76 Temperature for device: 3 Temp C: 23.69 Temp F: 74.64 Requesting
// method 2 - faster float tempC = sensors.getTempC(deviceAddress); Serial.print("Temp C: "); Serial.print(tempC); Serial.print(" Temp F: "); Serial.println(DallasTemperature::toFahrenheit(tempC)); // Converts tempC to Fahrenheit
-
Thread
Wer nutzt das Nucleo-64 und kann mir
Bit zu schaffen. Siehe https://www.totalphase.com/support/articles/200349176-7-bit-8-bit-and-10-bit-I2C-Slave-Addressing
#i2c nicht das Bit-Banging. Aber egal, Hauptsache es funktioniert.
-
Thread
Hilfe beim Einsatz von OpenOCD benötigt
omap5948.cfg] [/code] Das "omap5948.cfg" script enthält bislang lediglich "newtap" Befehle für die einzelnen Komponenten des Ziels, sowie den Targetnamen: [code] jtag newtap omap5948 dsp -irlen 34 -expected-id 0x031f3d81 jtag newtap omap5948 arm -irlen 4 -expected-id 0x0692602F # Hier bin ich mir
nicht zu lang wird im Text. Sieht ja anfänglich nicht sooo schlecht aus, oder? Warum er die 34 Bit IR-Länge vom DSP anmostert ist mir etwas unklar, scheint aber nur ein Hinweis zu sein. JTAG und Adaptive Taktung hat er wohl soweit erkannt. Dann findet er auch den DSP (C55x) und die CPU (ARM9).
-
Thread
Min/Max über 24h
aussieht Und wenn die Temp unter Null geht? Und wenn noch kein Wert gemessen, dann gibt min 1000°C aus? Besser: -32768 als NaN definieren und als Anfangswert festsetzen. Dann abfragen, ob NaN. Auch alle noch nicht berechneten Min-Max im Ringbuffer als NaN setzen.
TempMin24 ) TempMin24 = > TempHistoryMin[i]; > } > } Vor dem Vergleich muss natürlich [c] TempMax48 = TEMP_MIN; TempMin48 = TEMP_MAX; [/c] erfolgen, sonst hat man wieder einen Spitzenwertdetektor ;) EDIT: Ich habs auf 48h aufgebohrt
-
Thread
Wert einer Speicheradresse auslesen
Hallo, was ist den das? [c]Int *[/c]
kommen und wohin sie gehen, ob SPS, GPIOs, RS485-Module, SD-Karte, Netzwerk usw. Um auf Werte oder einzelne Bits zuugreifen, werden nur Nummern für die Datei und die Adresse in der Datei gebraucht.
-
Thread
Einfach zu implementierende CPU in VHDL
Programmcode hast, kannst du dir genauso eine von > den zig RiscV-Implementierungen anlachen, wie die f32c, die auch > Videokram und RAM-Ansteuerung mitbringt. Danke für deine Antwort. Ich habe 504kBit RAM bzw. 63kByte. Ich denke das sollte für die meisten kleineren Anwendungen genügen. Ansonsten
oder bessere Angebote für die Hochschulen. Holger K. schrieb im Beitrag #5555405: > Ich habe 504kBit RAM bzw. 63kByte. Ich denke das sollte für die > meisten kleineren Anwendungen genügen. Bedenke, dass du die nicht vollständig nutzen kannst. Ein 36 Bit breites BRAM kann man zwar mit 32 Bit nutzen
-
Thread
74HC573 als Eingangserweiterung
Beitrag #5553238: > Ich würde auch Schieberegister verwenden, diese allerdings per Software > mit Bit-Banging abfragen. Dabei kann man mühelos auf ziemlich hohe > Übertragungsraten kommen - auf jeden Fall wesentlich mehr als per > USART+Interrupt. Das möchte ich mal sehen, wie Du mit Bit-Banging
Zumindest in Assembler ist es bequem zu schaffen. Selbst F_CPU/4 ist immer noch deutlich schneller als Bit-Banging. F_CPU/4 sind 64 Zyklen alle 2 Bytes, das reicht bequem für nen Interrupthandler in C.
-
Thread
delay Funktion mit IRS ersetzen
Hallo zusammen, ich habe mich gefragt ob ich nicht die _delay_ms und _delay_us Funktionen in meinem C-Code nicht ersetzen könnte mit einer IRS. Wie funktioniert das genau in meinen Anwendungsbeispiel ? [c] #include <avr/io.h> #include <util/delay.h> #define taster PB1 int jj=0; int main
> und versuche gerade mich in die C und > Assembler Programmierung der ATmegas einzuarbeiten. Das ist an sich eine gute Idee... Bedenke aber, dass Arduino C++ ist, und kein C. Volker A. schrieb im Beitrag #5553244: > Arduino
-
Thread
Software zum Steuern des Türschlossantrieb "eqiva eQ-3 Bluetooth Smart Lock"
zuverlässig läuft, und gebe mir zusätzlich noch die RAW Daten über MWQTT aus wenn ich den Status abfrage, z.B.: 72 01 0A 00 10 17 00 00 Irgendwo hatte ich gelesen dass da auch die Info über den Batteriestatus drin steckt, kanns aber nicht mehr finden welches Bit das war, weiss das jemand?
update_act [AC] dvc placed on /_ac/update_act [AC] /_ac/update on hands [AC] /_ac/update_act on hands [/c] MQTT und WLAN Verbindungen sind aufgebaut [c] # published SmartLock/task/working # WiFi disabled Hier wir die initiale Abfrage des Schlossantriebes gestartet *** get state *** # Nonce exchange
-
Thread
Auswahl Einplatinencomputer
du einen Zeitstempel mit 32 Bit, wären das 112kBytes (wenn ich richtig gerechnet habe). D.h. du wirst schon die Auflösung vorgeben müssen, wenn man dir ein solches Board empfehlen soll. Ich vermute, jedes einzelne Inkrement genau
tatsächlich speichern muss, ist jede Änderung eines der beiden Encoder-Kanäle, also im Kern: zwei Bit pro Encoder-Schritt. Oder besser: zwei Bit pro Sample einer hinreichend hohen Samplefrequenz, denn dann hat man auch das Timing mit drin (durch temporal äquidistante Samples) und damit letztlich sogar
-
Thread
Welche Programmiersprache soll ich lernen?
Hallo C bzw. C++ oder auch "etwas schöner gemacht" wie im Arduino Universum ist im 8Bit µC Bereich schon die richtige Programmiersprache. Die praktische Anwendung und das erlernen sind gar nicht so kompliziert
schnell gar nichts mehr und das lernen wird unnötiger Weise erschwert. Gerade der gut abgegrenzte 8Bit µC Bereich bietet eigentlich gute Chancen eine Programmiersprache wie C Praxisnah und ohne(!) starke Abstraktion und die sonst notwendige Verallgemeinerung (die Sprache soll sonst immer ja auf jeden
-
Thread
Bit als Variable definieren in C (STM32)
Na gut, noch ein Versuch zum ursprünglichen Thema zu kommen : einzelne Bits kann man in C innerhalb von Strukturen anordnen : [c] struct { unsigned int buhl:1; } lieblingsvariable; [/c]
schrieb im Beitrag #5525196: > Na gut, noch ein Versuch zum ursprünglichen Thema zu kommen : > einzelne Bits kann man in C innerhalb von Strukturen anordnen : > > [c] > struct { > unsigned int buhl:1; > } lieblingsvariable; > [/c] Wobei die struct ganze Bytes belegt, man also nur bei Verwendung
-
Thread
I2C auf dem STM32 F411RE
Also bei sowas bekomm ich nen Schreikrampf: [c] RCC->APB1ENR |= 1 <<21; while (!(I2C1->SR1 & 0x0002));[/c] Die Bits haben Namen...
clear ack bit } while (!(I2C1->SR1 & I2C_SR1_RXNE));// Wait until RxNE bit set - see status register return (I2C1->DR); } [/c] Das Programm wartet dann bis zum Sanktnimmerleinstag auf das Setzen
-
Thread
Öffnen alter OR-CAD Pläne
einbinden (abb, abbneu, allg, device und omron). Zum Glück, denn bei meinem alten Orcad macht man das einzeln über den Konfigurations-Modus. Damals fehlten viele Komfortfunktionen - trotzdem erstaunlich, was man mit <100kB großen Programmen machen konnte.
so einen Dongle sauber programmieren würde, dann würde ich die Ausgabe von der Vorgeschichte der Abfragen abhängig machen. Ich meine, frage ich Zelle 7 ab, erhalte ich z. B. das Ergebnis 3. (Die vier Statusleitungen können ja nur 4 Bit liefern.) Mit Vorgeschicht meine ich, wenn ich erst 9 abfrage und
-
Thread
Flankenauswertung bei vielen Tasten
Ich mach das gerne so, dass ich für jede Taste eine uint8_t nehme und dann die Abfrage per Interrupt alle x ms aufrufe. Bei jedem Aufruf werden die Bits um 1 nach links geschoben und dann das letzte Bit entsprechend dem Zustand der Taste gedrückt. Eine Flanke ist dann, wenn
ausreichend dargelegt. Was man also machen kann, ist in der SysTick-Routine, die zumeist zum Tasten-Abfragen herangezogen wird, zunächst alle Tasten-Zustände in ein Wort zusammenzufassen (wie auch immer), um dann alle Bits in diesem Wort der Reihe nach auszuwerten. Das ist zunächst etwas wilde Bit-Schieberei
-
Thread
mit Bascom über rs232 Frequenz aus einen Frequenzzählermodul auslesen.
einzusteigen. Ich habe zwar eine ältere Version vor vielen Jahren gekauft aber nie was damit gemacht weil mir C einfach lieber ist. Dann kommt noch dazu dass ich in der Firma mit verschiedenen uC Familien/Produkten arbeiten muss. Da ist C günstiger weil ich oft modulare Teile auf andere uC portiere. OK. Mittagspause
habe > zwar eine ältere Version vor vielen Jahren gekauft aber nie was damit > gemacht weil mir C einfach lieber ist. Hallo Gerhard wenn du C beherrschst, dann bleibe bei C da es ohnehin die bessere Sprache zu sein scheint. Ich habe zwar mal versucht in C was zu machen. Dabei bin ich aber
-
Thread
STM32 CubeMX HAL IRQHandler Channel 1-4
bzgl. Interrupts im Zusammenhang mit der HAL Lib (CubeMX). Mein Timer2 hat 4 Channels. Jeder einzelne Channel soll durch "Capture Compare" ein Interrupt auslösen und einen entsprechenden Code ausführen. Ich aktiviere den globalen Interrupt Handler, welcher so aussieht: [c] void TIM2_IRQHandler
HAL_TIM_IRQHandler(&htim2); /* USER CODE BEGIN TIM2_IRQn 1 */ /* USER CODE END TIM2_IRQn 1 */ } [/c] Mit welcher Funktion kann ich jetzt im globalen Interrupt Handler die einzelnen ChannelX Compares aufrufen? Sprich wenn Channel 2 einen Interrupt auslöst soll auch nur der entsprechende Code im globalen
-
Thread
PAL Kopieren
Wincupl formatierte ausgabe Serial.print("/t'b'"); for(int i = 0; i<10; i++){ //jedes bit einzeln schreiben Serial.print(bitRead(ausgangszustand, i)); } Serial.print("/t=>/t'b'"); for(int i = 0; i<8; i++){ //jedes bit einzeln schreiben Serial.print
einem für WINCUPL Fertigen Code über die Serial ausgibt. -Ich habe ein kleines Konsolenprogramm in C++ geschrieben welches in zwei Teilen Funktioniert: -1. PAL Auslesen, nach der abfrage welcher Comport und welchen Dateinamen die ausgelesene .pld Datei haben soll sendet das Programm eine „1“ an den
-
Thread
ATMega2560 FastPWM DutyCycle Umschaltung
= (1<<PB7); PORTB ^= (1<<PB7); PWMsetup(); sei(); while (1) { }; } [/c] Der Code funktioniert auch, siehe das Bild vom Scope. Zu den einzelnen Kommentaren: Im ersten Code gab es einfach keine Timer1_OVF ISR, nur das Enable Bit wurde gesetzt. Ich habe mir das
neuen Tastverhältnise ins OCR1B zu schreiben. Gibt eine Möglichkeit zu berechnen, wie lange eine einzelne Operation im C-Code braucht? Alex P.S.: Rechtschreibfehler dürfen behalten werden.
-
Thread
bool[8] in uint8_t umwandeln
notwendig für ein Array) Einheit > ist ein Byte. Das scheint universell zu sein oder? Mein 64 bit Desktop kann scheinbar auch einzelne bytes adressieren, ebenso wie mein MC. Btw, wenn ein einzelner bool arr[0]=true (z.B. alle bits gesetzt) und uint8_t *pointer die gleiche Größe haben, ist es
N. N. schrieb im Beitrag #5496565: > Das scheint universell zu sein oder? Mein 64 bit Desktop kann scheinbar > auch einzelne bytes adressieren, ebenso wie mein MC. C(++) definiert das Byte als die kleinste adressierbare Einheit. Ein char ist immer genau ein Byte groß. Die Anzahl
-
Thread
ADXL345 und ESP8266: Echtzeitdatenergassung mit konstanter Abtastrate und Interrupts
{ PORTD &= ~(1<<PD2); } // Send a single character or byte. void softSerial_sendChar(char c) { cli(); // Send start bit SOFTSERIAL_TXD_LOW; _delay_us(US_PER_BIT); // Send 8 data bits for (uint8_t i=0; i<8; i++) { if (c & 1) {
} else { SOFTSERIAL_TXD_LOW; } _delay_us(US_PER_BIT); c=c>>1; } SOFTSERIAL_TXD_HIGH; sei(); _delay_us(2*US_PER_BIT); } // Send a char array from RAM. void softSerial_sendStr(char* text) { char c; while (
-
Thread
"State Machines": Anzahl States minimieren oder maximieren?
Vielleicht mal nen Blick auf die Implementierung werfen. 1.Fall [c] { SetRelaisOn(); Wait3m(); int x= GetBrightness(); if (x >= Limit) DoSomething(); else DoSomethingElse(); } [/c] Irgendwie lässt sich das so ganz ohne Statemachine
komplexen Statemachines Die moderne Variante davon ist ein Summentype der alle States abbildet. [c] using sm = variant<State0, State1, State2, ...>; [/c]
-
Thread
Prüfsumme berechnung
identifizieren, der Tuner quittiert den Befehl mit dem Zählerwert: Beispiel: Prozessor sendet: c0 0 2 4 1 2 1 0 0 0 1 1 5b c0 Tuner antwortet: c0 0 2 84 1 0 11 c0 Da ich diese Kontrolle nicht brauche/nutze, ist es relativ egal, was für ein Zählerstand vorn steht. Tatsächlich sind die Werte
eine Flechter Sum, und die beiden Resultate werden mit XOR verknüpft. Du brauchst zwei unsigned 8-Bit Zähler (A und B). In A summierst du jedes Eingangsbyte auf (modulo 256) in B den jeweiligen Wert von A. Am Ende noch A XOR B, das ist die Checksum. [c] #include <stdio.h> #include <stdlib.h>
-
Thread
I2C Kommunikation mit 32 Geräten
Hallo Leute, ich möchte einen I2C Bus aufbauen. Folgende Infos: - 32 einzelne Arduino Mega werden mit einem I²C Schnittstellengerät von NI (https://www.ni.com/de-de/shop/select/i2c-spi-interface-device) ausgelesen - die Länge der
@Dave (Gast) >- 32 einzelne Arduino Mega werden mit einem I²C Schnittstellengerät von >NI (https://www.ni.com/de-de/shop/select/i2c-spi-inter...) >ausgelesen >- die Länge der Datenleitungen von jedem Prüfstand beträgt ca
-
Thread
ATmega8 verhält sich fehlerhaft
ausfällt? Überwacht der AVR die 5V Versorgungsspannung? Ich gehe davon aus, daß die Fuse-Bits auf 4.5V gesetzt sind? Ein WDR Reset bei Programmstart ist empfehlenswert. Damit der uC definiert booten kann.
Mikrocontroller ausgetauscht. Habe beim alten Mikrocontroller danach mit dem AVR8-Burn-O-Mat die Fuse-Bits ausgelesen: hfuse=C9 lfuse=3F Ich weiß nicht, wie ich damals auf diese Konfiguration gekommen bin... Der uC wird schließlich mit einem 3,6864MHz-Quarz betrieben, das definitiv nicht bei
-
Thread
Tastenmatrix Realisierung mit oder ohne IC
ich problemlos 40 Tasten in ner halben Sekunde angeschlagen und wieder losgelassen. Wenn man die einzeln zeitlich auflösen möchte, reichen 25ms Scanintervall nicht mehr.
sodass auch mehrere > Tasten gleichzeitig gedrückt werden können) aufbauen und mit einem > Teensy abfragen Für welche Anwendung oder mit welcher Ansprechzeit? Was sind das für Tasten(kontakte)?
-
Thread
R&S TSMU Radio Network Analyzer
könnte man das Problem mit den fehlenden Headern umgehen... Das RF Power beispiel fängt so an: [c] #include "stdafx.h" #include <windows.h> #include <iostream> #include "ViComRFPowerScanInterface.h" [/c] Sieht mir nicht so sehr nach .NET aus
funktioniert nur das WDF 1394 Beispiel aus dem Windows DDK und habe die dort definierten Control codes und C Strukturen benutzt. Das ist leider nicht ganz identisch zum TSMU Treiber. Bei den Control Codes wurde ein zusätzliches Bit hineingefummelt und Funktionen vertauscht. Die dazugehörigen Strukturen stimmen
-
Thread
Suche Empfehlung für Einsteiger SDR-Stick
Beispiel herausgegriffen: > 1 https://www.amazon.de/Tragbarer-Mini-Digitaler-TV-Stock-Unterst%C3%BCtzung-SDR-Stimmer-Empf%C3%A4nger/dp/B013Q94CT6/ref=sr_1_4?ie=UTF8&qid=1530380888&sr=8-4&keywords=rtl+sdr > 2 https://www.amazon.de/NooElec-NESDR-SMArt-B%C3%BCndel-Aluminiumgeh%C3%A4use/dp/B01GDN1T4S
anstelle AM oder FM den IQ Modus und du erhälst keine Audiodatei sondern eine Datei die sozusagen die einzelnen Bits enthält. Steht glaube auch so im Link drin. xxxx schrieb im Beitrag #7351311: > Ich meinte was anderes. Und was?