-
Thread
Led-Multiplexing Problem mit Strom
auch die Hinweise ernst, Deine Funktion mit dem Durchschalten der einzelnen Segmente direkt mit dem µC zu realisieren. Da wir Deinen Kenntnisstand bezüglich der Programmierung nicht kennen und auch nicht wissen, was sonst noch vom µC alles gemacht wird und welche Ressourcen des µC noch frei sind, ist
findest du eine der möglichen Vorgehensweisen. https://www.makerconnect.de/index.php?threads/ver%C3%B6ffentlichung-pc-und-%C2%B5c-programmieren-in-vb-und-assembler-lehrbuch.4252/ Gruß oldmax
-
Thread
Target mit SWD verbinden - "Vdd from Application" , GND?
HAL_Delay(100); ITM_SendString("LED\n"); } [/c] eingebaut und dann die Funktion ITM_SendString(*str) implementiert. [c] void ITM_SendString(char *str) { while(*str){ ITM_SendChar(*str); str++; } }
Machst du C oder C++? Bei C++ könnte es zwei verschiedene ITM_SendString geben (für const und nicht-const).
-
Thread
LED leuchten nicht mit Vorwiderstand Gesperrt
schrieb im Beitrag #7036756: > An welche Temperatur hast Du gedacht? Ob die Raumtemperatur 20°C oder 25°C beträgt, ist latte. Schlimmer sind 70-80°C (Fensterbank, Armaturenbrett)!
deiner LED funktioniert! Für die verwendete LED SLK3mm GN gilt lt. DB (Diagramm S.5) 25mA bis 25°C 20mA bis 40°C 10mA bis 70°C 8mA bis 85°C
-
Thread
Boolscher Interpreter zur Laufzeit
= (A == B) AND (Y == X) OR ((D == F) AND (U == P)) if (value_1.active) { do_sth(); } [/c] Jetzt könnte ich den String von oben aufwändig auf dem µC parsen, oder eben bereits aufbereitet an den µC übertragen um das Ganze etwas performanter zu gestalten. Ich denke da an folgendes:
ausgewertet. Deshalb wollte ich eine fancy Lösung mit minimalem Rechenaufwand a la Lookup Table, wo der uC keine String Operationen durchführen muss . Das ist flott genug bei meinen Tests. Morgen werde ich meine komplette FW anpassen. Schönen Abend
-
Thread
Strg+/ nicht das gleiche wie Strg+Umschalt+7
Welche Taste ist "Umschalt"? Ich benutze Computer seit dem C64 und habe diesen Begriff noch nie gehört. Ist damit Shift gemeint? Riecht hier wirklich wieder mal nach Computeranalphabetismus wenn nicht klar ist, dass es unterschiedliche Tastaturlayouts gibt und
Leser schrieb im Beitrag #7015625: > Welche Taste ist "Umschalt"? Ich benutze Computer seit dem C64 und habe > diesen Begriff noch nie gehört. Ist damit Shift gemeint? Ja, das ist (und war schon immer) der deutsche Begriff dafür - auch schon lange, bevor es den C64 gab.
-
Thread
Defekt Wechselrichter Aeconversion INV350-60
wenn man komplett verschiedene Module von der Resterampe mitgenommen hat, dann würden diese als String nur geringfügig mehr Leistung bringen wie ein kompletter String aus dem schwächsten Modultyp. Sowas kann mit Modulwechselrichtern durchaus mehr Leistung bringen, je nachdem, wie verschieden die Module
schrieb im Beitrag #7195281: > Ich lese "045N10N" Mosfet von Infineon IPP045N10N3G > und "B06B1C" von ON Semi MBRS1100T3G
-
Thread
3D Scanner von 3D Digital Corp - zu irgendwas zu gebrauchen?
idProduct : 0x0001 bcdDevice : 0x0101 iManufacturer : 0x01 (String Descriptor 1) iProduct : 0x02 (String Descriptor 2) iSerialNumber : 0x03 (String Descriptor 3) bNumConfigurations : 0x01 (1 Configuration) Data (HexDump)
ERROR_GEN_FAILURE (because the device has problem code CM_PROB_FAILED_INSTALL) -------------------- String Descriptors ------------------- String descriptors are not available (because the device has problem code CM_PROB_FAILED_INSTALL)
-
Thread
Hilfe bei String-Array benötigt
[c] const char * const status_module_txtarr[] = { "String 1", "String 2", "String 3", "String 4" }; [/c] Edit: Oder möchtest du dein "STATUS_MODULE_TXT_MAXLEN" explizit verwenden?
man da c-strings drinn speichern kann. Und die länge des c-strings ist halt nicht definiert durch dessen Anzahl Elemente, sondern durch das 0 byte. Und damit hat man effektiv und wahrlich ein Array aus c-strings
-
Thread
default Werte, when others =>
ständig zu tun, aber bei den RH- oder RT-Versionen der FPGAs rechnet man die S-Cells durch TMR gesund. C-Zellen sind per se deutlich unempfindlicher (laut Actel/Microsem & Co., heute Microchip). Ein anderer wichtiger Punkt, solange man asynchrone Inputs auf eine FSM gibt, ist, die Replizierung zumindest
type state_t is (idle, busy, final); signal state : state_t := idle; attribute fsm_safe_state : string; attribute fsm_safe_state of state : signal is "default_state"; begin process begin wait until rising_edge(clk); case state is when idle => state_val <= "000";
-
Thread
c Bibliothek mit strukuren in uml darstellen
Ein gutes UML-System , das reverse engineering kann, ist das Tool für Dich, zumindest in C++, C mußt Du ausprobieren. Stellvertretend etwa ist Sparx Enterprise oder OEW (Objekt Workbench), das als Sonderzugabe mal bei den Borland c-Compilern (BorlandC 4 oder 5) dabei war. Wenn Dir
mein Kubuntu 20.04 mitgebracht hat, völlig ausgereicht. Danach habe ich mir die Quellen des in C geschriebenen LDAP-Browsers "gq" geschnappt. Im Verzeichnis mit den Sourcen mußte ich die Dateien von ".c" in ".cpp" umbenennen und im Code den String "struct" in "class" umbenennen, danach habe ich
-
Thread
Was copy von DOS besser kann als cp von Linux
. Darin ist die Extension ein zweiter Name wie in DOS. Files werden darin durchweg über separate Strings identifiziert, wie "FILE" und "C". Aber nicht nur intern, sondern auch auf Shell-Ebene (Stand Anfang der 80er).
ist die Extension ein >> zweiter Name wie in DOS. Files werden darin durchweg über separate >> Strings identifiziert, wie "FILE" und "C". Aber nicht nur intern, >> sondern auch auf Shell-Ebene (Stand Anfang der 80er). > > Es wäre sinnvoll, ein eigenes Attribut für den Dateityp zu haben. MacOS
-
Thread
Abstandsmessung mit Ultraschall - Verständnis
[c] if(Abstand > 30000) { LED1_ON; LED2_OFF; } else { LED1_OFF; LED2_ON; } [/c] Kommen wir zum Problem. Habe im Netz gesucht und Beispiel
mache ist mir noch unklar. Habe als Variable den " Abstand" drin. Wenn ich das angehe muss ich [c] ISR (TIMER2_COMPA_vect) // ISR für Timer 2 { Overflows++ } [/c] und dann kann [c] Abstand = (Overflows * 65536) + EndTime - StartTime; [/c] Muss dann noch EndTime und StartTime
-
Thread
VBNET Serial Port Zeitstempel
Abend, folgendes: Ich muss einen String in HEX an einen COM Port (RS232) senden. Dieser String muss im Hintergrund alle x Sekunden gesendet werden, das habe ich ganz einfach per Timer realisiert. Ein Zeichen in diesem vorgegebenen String
Basic-Dialekt auf einer ungenannten Hardware dürfte es erlaubt und möglich sein, mehr als einen „String“ hintereinander zu senden. Vielleicht kommst du mir diesem Ansatz ans Ziel. Oliver
-
Thread
Gesucht: 7 Segement Anzeige, 4 Stellen, ca. 5cm
://www.mikrocontroller.net/topic/470988#5777867 [c] void dummy() { set_zoom(12,22); loesche_tft(SCHWARZ); set_xy(1,1); schreibe_string_mittig("12:55",GRUEN+TRANSPARENT); while(1); } [/c] Wie man sieht wird ein 8x16 Zeichensatz
<Wire.h> #include <LCD.h> // Standard lcd library #include <LiquidCrystal_I2C.h> // library for I@C interface #define I2C_ADDR_Geld 0x27 // address found from I2C scanner #define I2C_ADDR_Sond 0x26 // address found from I2C scanner #define
-
Thread
ubuntu drucker geht nicht so einfach
starten - Knopfdruck. Außerdem muss man immer wieder die Standardeinstellungen neu einstellen [c] /dev/sdc - HP_Officejet_Pro_85_CN88AB3141-0:0 Bus 001 Device 017: ID 03f0:7c12 HP, Inc Officejet Pro 8500 A909g [/c] Es kommt auch nach dem Druck Befehl: failing to connect to device.. als
0 before use [/c]
-
Thread
Wie richtig geschweifte Klammern {} setzen?
(char* command_string); extern command_t standard_commands[]; // commands.c command_t standard_commands[] = { {"foo", 42, /* was halt noch so gebraucht wird */ }, (...weitere Befehle...) {NULL,
die nur der Admin darf...) }; command_t* find_command(command_t[] command_table, char* command_string) { (...) } // Ganz wo anders #include commands.h (...) command_t* command; (...) command = find_command(standard_commands, user_input); [/c] Die Funktion geht dann einfach
-
Thread
C# listView Spaltenbreite ändert sich
Hi, ich benutzte in einer C# Winforms Anwendung mehrere listView Elemente. Nun ist es so dass, wenn ich Zuhause das Tool ausführe die Spalten in dem listView Element sich verkleinern. Auf dem anderen Monitor sind die Spalten in
Vielleicht hilft das hier weiter: https://stackoverflow.com/questions/1257500/c-sharp-listview-column-width-auto
-
Thread
C++ Kabarett: Josuttis -Move Semantics for Trivial Classes
Etwas C++2014 Kabarett: https://www.youtube.com/watch?v=PNRju6_yn3o Man braucht etwas Geduld, aber dafür weiß man am Ende wie man einen String kopiert😀
wie man etwas besser machen kann im Sinne von effektiver und schneller. Der einfache Weg, einen String als const& zu übergeben, funktioniert nach wie vor. Nur kann man die eine oder andere Operation einsparen, wenn man mehr nachdenkt und C++ besser versteht. (Für µC-Programmierung ist das eh uninteressant
-
Thread
ESP32 Pin Change interrupt
Probleme bei einem Interrupt. Immer wenn dieser Ausgelöst werden soll, stürzt das Programm ab. [c] #include <string.h> #include <freertos/FreeRTOS.h> #include <freertos/task.h> #include <freertos/event_groups.h> #include <esp_log.h> #include <esp_sleep.h> #include "pirSensor.h" #define
:0x3ffb08c0 0x40082ac6:0x3ffb0930 0x40082be9:0x3ffb0960 0x401315ae:0x3ffb0980 0x4013460d:0x3ffb0c90 0x4013c781:0x3ffb0cc0 0x4008b511:0x3ffb0cf0 0x400d35a1:0x3ffb0d40 0x400845e1:0x3ffb0d60 0x400828dd:0x3ffb0d80
-
Thread
float nach string mit einer nachkommastelle
Meine Idee wäre jetzt gewesen den String zu zerlegen und einen Punkt einzufügen. [c] #include <stdio.h> #include <stdint.h> #include <assert.h> char* toString(char* target, size_t size, int8_t value) { assert(value <= 100
target[0] = ' '; return target; } int main() { char buf[5]; printf("%s\n", toString(buf, sizeof buf, 1)); printf("%s\n", toString(buf, sizeof buf, 10)); printf("%s\n", toString(buf, sizeof buf, 100)); } [/c] Newbie schrieb im Beitrag #7002943: > In anderen Programmiersprachen
-
Thread
Arduino Datenübertragung über Signalstrom
cpldcpu.wordpress.com/2022/01/23/controlling-rgb-leds-with-only-the-powerlines-anatomy-of-a-christmas-light-string/
SDA/SCL lassen eher ersteres vermuten. Das Signal ist unidirektional. SDA / SCL hatte ich als I2C o.ä. für die Steuerung der Schaltung gedacht. Aber das Signal, welches ich am Steuergerät emulieren möchte ist unidirektional. Es handelt sich um Raddrehzahlsensoren an einem ABS-Steuergerät. Die Sensoren
-
Thread
Globale Variable nutzen oder nicht
indem man auf das struct nur über Zugrifssfunktionen zugreift. Dadurch hat man beide Vorteile. In C++ würde man die Strukturelemente "private" machen, in C kann man das struct "opaque" definieren, also z.B. "struct Config;", und nur in einer Config.c vollständig definieren. Dann kann man mit Funktion
( &config ); [...] } [/c]
-
Thread
Arduino: OLED Display löscht Kommastelle nicht.
spannung = messung / 204.8; double strom = -45.411 + 44.5642 * spannung; Serial.println(strom, 5); String stromstr = String(strom, 5); settings(); u8g2.drawStr(10, 10, stromstr.c_str()); u8g2.sendBuffer(); delay(100); }[/c] Hoffe der ist noch nicht zu lange. Funktioniert der Link gar nicht
strom/10, abs(strom%10)) settings(); u8g2.drawStr(10, 10, tmp_string); u8g2.sendBuffer(); delay(100); } [/c]
-
Thread
Laufzeit Optimierung AtMega2560 als Frequenzgenerator
ISR (TIMER4_OVF_vect) { signalErzeugung(); uint16_t test = aktuellerWert * prozent; OCR4C = test; } [/c]
systematischen Namen kann man in diesem Fall einsparen und die Dateinamen berechnen. Etwa so. [c] itoa(counter_Hertz*10, filename, 10); // Index in ASCII-String umwandlen strcat_P(filename, PSTR("Hz.raw"")); // Endung anfügen itoa((counter_Power+1)*5, filename, 10); strcat_P(filename
-
Thread
Probleme bei abhängigen Arrays Code
Rolf M. schrieb im Beitrag #7001734: > Das geht allerdings nur in C, nicht in C++. Häää? Warum soll das in C++ nicht gehen? Das sind triviale Arrays mit Strings.
Falk B. schrieb im Beitrag #7001753: > Rolf M. schrieb: >> Das geht allerdings nur in C, nicht in C++. > > Häää? Warum soll das in C++ nicht gehen? Das sind triviale Arrays mit > Strings. Weil die Stringliterale jeweils 6 Bytes groß sind, da sie das abschließende \0 enthalten. In
-
Thread
bin2bcd, effektiverer Code ?1?
x = 10001001; // BCD: 89 printf ("bcd:%d\n", byte2bcd (x)); return EXIT_SUCCESS; } [/c] aber am PC passt sowas wie [c]int x = 10001001;[/c] auch in den Wertebeich. Vielleicht lieber als Array abspeichern?
>> nur C kann? Ja klar, so einer hat natürlich kaum Chancen, besser als der >> Compiler zu sein. > > Das ist einer der in C/C++ programmiert und dann normal stirbt. (eine > Aussage über sein Können ist nicht
-
Thread
avr-libstdcpp - Atmel Studio 7 - std::throw bad alloc()
usart1.putString_P("\nuC Reset ### ###\n"); usart1.putString_P("\nVECTOR"); usart1.putString_P("\nAnzahl Elemente: "); usart1.println(v1.size() ); usart1.putString_P("\nvector unsortiert
(v1); usart1.putString_P("\nARRAY"); usart1.putString_P("\nAnzahl Elemente: "); usart1.println(arrV1.size() ); usart1.putString_P("\narray unsortiert\n"); printContainer(arrV1); usart1.putString_P
-
Thread
Compilerfehler - unerklärlich :-(
------*/ writeParameter(); I2C_EE_ReadSetup(&Prozessdaten, &Parameter, &InstEEPROMI2C, 0); I2C_EE_ReadBSZ(&Prozessdaten, &Parameter, &InstEEPROMI2C, 10); I2C_EXP_WriteConf(&Prozessdaten, &Parameter, &InstEXTI2C); HAL_Delay(100); I2C_EXP_ReadConf(&Prozessdaten, &Parameter, &InstEXTI2C); I2C_EXP_WriteOutput(&Prozessdaten, &Parameter, &InstEXTI2C, false); I2C_EXP_WriteOutput(&Prozessdaten, &Parameter, &InstEXTI2C, true)
-
Thread
ESP8266 startet nicht
delay(500); digitalWrite(LED, HIGH); Serial.println(F("Tack")); delay(500); } [/c]
Wire.h gut in dem Sketch ? > > Lg Wo genau hast du die Änderung gemacht ? Die Wire.h ist für I2C.
-
Thread
Durchschnittsleistung von Solar + Wind relativ zur Nennleistung
hatte dann Temperaturen von mehr als 150 Grad Das geht nicht lange gut... Nachdem ich dann alle Strings einzeln genau vermessen hatte, zeigte sich dass auch suedseitig einzelne Bereiche defekt sind, typisch 1/3 oder2/3 eines Panels Vermutlich Probleme in der Kontaktierung, optisch nichts sichtbar
Daten kommen wohl von https://www.stromspiegel.de/stromverbrauch-verstehen/stromverbrauch-im-haushalt/#c120951 MfG, Arno
-
Thread
Zugriff von Lambda auf Attrbute in const Objekt
der einzige Weg, einen echten this pointer zu bekommen, ist mit Klassen und virtuellen Methoden: [c] #include <iostream> #include <array> class MenuItem { public: MenuItem(std::string name) : name(name) {} std::string name; virtual void run() const = 0; virtual void show() const =
} }; } [/c]
-
Thread
Version des GCCs
Wenn ich mir die GCC-Version im letzten Atmel Studio 7 in einem C-Programm ablegen lasse, erhalte ich 6 Bytes: 9, 192, 33, 192, 32, 192. Ist das die GCC-Version 9.33?
Antwort war noch deutlich weniger angebracht. Und es bleibt unklar, wie er die Version "in einem C-Programm ablegen" hat lassen. Der normale Weg, von einem C-Programm aus an die Version zu kommen, sind die Makros __GNUC__, __GNUC_MINOR__ und __GNUC_PATCHLEVEL__, aber keines davon liefert 6 Bytes.
-
Thread
[AVR][C] Tastenmatrix: Nur ein Taster wird nicht erkannt
Nochn Vorschlag. Du hast da ab der Zeile 149 sowas: [c] PORTF = PORTF & 0b11111011; if((PINF & 0b01000000) == false) { //Button 9 was pushed [/c] Probiers mal so: [c] PORTF = PORTF & 0b11111011; PORTF
Fabian H. schrieb im Beitrag #6992410: > Ich würde mir erstmal zwei Funktionen schreiben: > > [c] > ... > [/c] > > Dann kannst Du Dir bequem und übersichtlich die Werte holen: > [c] > ... > [/c] Ja, das ist viel kompakter. Fabian H. schrieb im Beitrag #6992410: > (Ja, delays sind
-
Thread
uint16_t in Hex umrechnen
eine Variable von Datentype uint16_t, die wollte ich in hexadezimal umrechnen. wie kann ich das in c programmieren ? Gruß, Nader
Falls es um die String Ausgabe von Hex mit einem AVR ueber die serielle geht: const unsigned char HEX[] PROGMEM = {"0123456789ABCDEF"}; void Printc(char c) { while(!(UCSR0A & (1 << UDRE0))); UDR0 = c; } .
-
Thread
deprecated conversion
bemängelt aber die Zeile [c] USART1_sendString("Hello World!\r\n"); [/c] mit [code] Warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] [/code] Wie wäre es dann richtiger?
, muss man eine Kopie des Strings im RAM (hier: auf dem Stack) anlegen: [c]char str [] = "Hello World!\r\n"; USART1_sendString(str);[/c] Hier ist also wieder schön zu sehen, dass die Mikrocontroller-Hersteller desaströse Code-Qualität
-
Thread
C# Serial Port Write unzuverlässig
Hallo zusammen, ich habe folgendes Problem bei meiner C# Anwendung. (Ich bin blutiger Anfänger in der C# Programmierung) Anwendung: Ich möchte einen STM32 Controller über UART Befehle senden und die Antwort mit einem Windows Programm auslesen. Baudrate
für die schnellen Antworten. Ich habe es lösen können in dem ich jedes Zeichen einzeln sende: [c] private void Send_Click(object sender, EventArgs e) { int Laenge = Sendtext.Text.Length; string[] Befehl = new string[Laenge + 1]; for (int i=0; i<
-
Thread
GPIB mit Visual Studio 2019 und C# - Daten an Netzgerät senden
hilfreich. Nach der Erzeugung des Projektskeletts sind die folgenden Erweiterungs-Assemblies notwendig: [c] National Instruments 488.2 National Instruments Common [/c] Die Inbetriebnahme der GPIB-Karte erfolgt unter Auslassung des Exception-Handlings durch folgende Kommandofolge: [c] static NationalInstruments.NI4882.Board GPIBCard; static void Main(string[] args) { try { GPIBCard = new NationalInstruments.NI4882.Board(0); Console.WriteLine("GPIB up!"); } [/c] Wichtig ist, dass die NI-API