-
Thread
Selbstbau von Überspannungsrelais
ähnliches Problem hab ich so gelöst: Auf der Seite, auf der die Messung gemacht wird, sitzt ein kleiner µC (bei mir: STM32F030F4) und misst per ADC. Bei mir muss er zusätzlich noch ein Bus abfragen und ein paar GPIOs vergleichen, daher ging es nicht ohne µC. Letztlich gibt der µC einen festen Takt aus
Problem hab ich so gelöst: Auf der Seite, auf der die > Messung gemacht wird, sitzt ein kleiner µC (bei mir: STM32F030F4) und > misst per ADC. Bei mir muss er zusätzlich noch ein Bus abfragen und ein > paar GPIOs vergleichen, daher ging es nicht ohne µC. > Letztlich gibt der µC einen festen
-
Thread
Speicher nach Stromausfall
Unterbrichst Du dann den laufenden Schreibvorgang? Falls ja, was passiert, wenn Du z.B. einen 16- oder 32-Bit-Wert in einen 8-Bit Speicher schreibst und mittendrin fällt der Strom aus? Markus
Wahrscheinlich!?! Leider kenne ich nur C. Martin
-
Thread
Boolscher Interpreter zur Laufzeit
zusammenpappt. Immerhin kennt einer yacc aber selbst das ist hier Kanonen auf Spatzen. Ausser Pins abfragen kann der E-Technik-Ing nix mit C.
versuche es nochmal, vielleicht habe ich ja wirklich die falsche Herangehensweise: Im Bedienpanel des µC sind verschiedene Menüs und Untermenüs gelistet. Je nach Einstellung sollen einzelne Menüpunkte angezeigt oder ausgeblendet werden. Die Definition der Zusammenhänge ist dem Entwickler (mir) unbekannt
-
Thread
Rundenzähler Carrera
dass du dich in der Behandlung des Reset-Tasters um die 7-Seg Anzeige kümmern musst, in dem du die einzelnen Bits ansteuerst. Deine loop sieht dann so aus [c] void loop() { Logik, welche diverse Eingangsleitungen überwacht uns auswertet. Als Ergebnis dieser Auswertungen verändert sich der
[C] // Um die Runden der Fahrzeuge zu zählen, bedarf es einer Abfrage am Startzielbogen // um dem Mikrocontroller mitzuteilen ob das Fahrzeuge durchgefahren ist oder nicht. // Die Kontrolle
-
Thread
Atmega, Timer und Takte
[c] SIGNAL(SIG_OVERFLOW1) { //ui_tim1sreg - steuert diesen Interrupt //Bit 0 - Sekunden Impuls! //Bit 1 - Warte-Funktion - zählt jede MilliSekunde //Bit 2 - Warte-Funktion DCF
nicht mehr aktuell. Am besten bei Gelegenheit eine aktuelle Version besorgen. 2. Du brauchst in C nicht einzeln auf High- und Low-Byte der Timer-Register zuzugreifen. Es sind in der entsprechenden Header-Datei 16-Bit-Register definiert. Wenn Du die benutzt, brauchst Du Dir auch keinen Kopf wegen
-
Thread
Funkmodul 433/868Mhz
Funkmodule. Zweck: Mein Haus mit einer Alarmanlage ausrüsten. Es soll eine Zentrale geben mit µC die alles auswertet und per Funk die einzelnen Alarmstellen abfragt. Die Alarmstellen sollen Fenster und Türen sein: Mit Reedkontakt und Glasbruchmelder. In jede Alarmstellen soll auch ein µC rein und
Habe jetzt von funkmodule(.)de nen Angebot bekommen: das RT868F5 kostet ca. 40€ für einzeln Mengen und bei ca. 30-40 Stück nur noch 32€. Ich werde mir denk ich erstmal 2 Stück bei denen einzeln bestellen und testen ob alles so klappt wie ich es mir vorstelle. Später bestelle ich dann
-
Thread
Uhrzeitrechner
Korrektur, muss nach ganz oben vor die Schleife [c] DateTime temp= rtc.now() - TimeSpan( 0, 11, 0, 0 ); //zieht 11 Stunden ab [/c]
Außerdem kann es vorkommen das die rtc durch die vermehrten i2c abfragen Ticks verliert, also sollte man die interne rtc alle 15-20 Minuten mit der externen Uhr synchronisieren und diese nutzen. Wenn es nur ein Lehrbeispiel/Aufgabe ist macht der Aufwand aber keinen
-
Thread
AVR Tiny 13, EEPROM schreiben, der Prozessor ist danach "von der Rolle"
und war erstaunt dass auch hier ein Aufruf der EEPROM-Routine erfolgte. Langsames Abbarbeiten der einzelnen Schritte zeigte dann das Problem auf: Die Flags wurden während der Abfrage des Write-Flags durch die Interrupt-Routine verändert, so dass ein Aufruf stattfand, obwohl das Register des Write-Flagsnoch
Computergeneration bekommen möchte, der kann sich ja die erste Chip herunterladen: http://www.chip.de/downloads/c1_downloads_auswahl_15815484.html?t=1331074379&v=3600&s=f4a6f1c2317e6ff2111fbb34356275d4 Mein Bruder hatte die damals gekauft, aber ich kann die nicht mehr finden, ist wohl irgendwann doch ins Altpapier
-
Thread
Dynamisches Array (mit calloc() und realloc()) löst BusFault aus. Wieso?
Erstmal solltest du wohl ehr eine 8bit breite Variable für ein einzelnes Bit nehmen. Gleich 32bit für nur 1 bit zu verwenden, ist etwas verschwenderisch. Wenn du es dir leichter machen willst, kannst du in der Doku deines Cortex nachsehen
Wie schon Peter angesprochen, fehlt die Fehlerbehandlung und dann musst du beachten, dass das ein µC und kein PC mit mehreren GHz/GB ist. Also verwende geeignete Datentypen um Speicher zu sparen, kein ULONG um nur ein mickriges Bit zu speichern! Und dann sollte man auf einem µC immer auf einen Heap
-
Thread
C8051F020 P1 als Ein- und Ausgang
möglich ist, den P0 und 1 als ein und Ausgang zu nutzen. Stimmt dass? Wenn Ja wie muss ich das in C deklarieren? Vielen Dank für eine schnelle Hilfe.
verwende den Wizard von Silab, aber mir ist nicht klar, ob ich ein push-pull oder Opendrain für die einzelnen Bits brauche.
-
Thread
Suche Automotiv Mikrocontroller den man mit einem free Compiler kompilieren kann!
Fab L. schrieb im Beitrag #3008503: > Ich bräuchte einen AUTOMOTIV (da der uC min. 10Jahre Verfügbar ist) > 16Bit uC mit: gingen auch 32 Bit? Da hättest du diverse ARM implementierung zur auswahl > Dies soll nämlich für eine Steuerungselektronik/Leistungelektronik für >
habe im Moment das Problem, das der uC nicht mehr > lieferbar ist, deswegen möchte ich einen Automotiv uC haben. Wenn Du einen 16Bit Infineon µC hast, dann ist es wohl ein Controller aus der C167-Familie. So wie ich Dich verastanden
-
Thread
PIC Probleme mit Programm BIN zu BCD
behandeln Beispiele: #define LED_ANZEIGE PORTB ; Segmente a-g (h) #define DIGITS PORTA ; Bit 0-3 #define TASTER PORTA,0 ; Bit 0 Abfrage: btfsc TASTER ; skip next wenn Taster offen ; liest sich einfacher wie btfsc PORTA,0 oder #define DIGIT1_AUS bcf
gesetzt zählt aber nicht wie in seinem programm bis 65 hoch. Ja habe clrf OPTION_REG drin somit ist bit3 auf 0.
-
Thread
DOGM081 Display Fehlersuche *HILFE*
*************************************************** #define FUNCTION_SET_EXT 0x21 // 4bit mode, 1 line, instruction table [0,1] #define BIOS_SET 0x1C // 1/5 bios #define POWER_ICON 0x51 // Booster on, contrast C4 on #define FOLLOWER_CONTROL 0x6A /
DisplayClock (void) { _delay_us (30); // 30µs warten DISPLAY_E_ON; // Clock-Bit auf high _delay_us (0.4); // High muss min. 200ns anliegen DISPLAY_E_OFF; // und jetzt auf low } void DisplayWriteChar (char c) { DisplayWriteData(MESSAGE, c); }
-
Thread
Kam Reset durch Watchdog
mal so: [c] uint8_t buffer = MCUCSR; if(buffer & (1 << WDRF)) IsWatchdogReset = 1; [/c]
Watchdog Reset schrieb im Beitrag #4115699: > [c] > int main () { > // Gab es einen Watchdog-Reset? > if (IsWatchdogReset) { > [/c] Wo setzt Du denn IsWatchdogReset? Ich sehe in main() lediglich die Abfrage der Variable. Deine Funktion wdt_init
-
Thread
ARM-GCC: No strict alias
with gcc -fwrapv to get a more meaningful result: // x86_64-w64-mingw32-gcc.exe -fwrapv -O1 -Wall -c bug2.c // int f(int i) { return i+1 > i; } [/c] Abfrage auf Überlauf: [c] void foo(int a, int b) { if (a <= 0 || b <= 0) return; // only deal with positive numbers if (
Wissen, ob ein Überlauf stattgefunden hat. Und diese builtin-Funktion ist das beste Mittel, unter C an das Carry-Bit zu gelangen.
-
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
AVR als I2C-Slave macht Probleme
Ich bin auf ein seltsames Problem gestoßen: Ich möchte, dass diese beiden Geräte per I2C kommunizieren: - Raspberry Pi Zero als Master, 2 GPIOs bit-banged - ATmega328P (3.3V) als Slave mit Hardware-I2C Sonst hängt niemand am Bus (abgesehen vom LA). Ich habe externe 2,4-kOhm-Widerstände
Jobst M. schrieb im Beitrag #4661868: > Zeig mir bitte mal die richtige Stelle. [c] • Bit 7 – TWINT: TWI Interrupt Flag This bit is set by hardware when the TWI has finished its current job and expects application software response. If the I-bit in SREG and TWIE in TWCR are set,
-
Thread
STM32L031K6 Sprung in Bootloader aus Applikation funktioniert nicht
mit der Beschreibung der Bits. [c] void JumpToBootloader(void) { void (*SysMemBootJump)(void); RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN; //Takt aktivieren SYSCFG->CFGR1 &= ~SYSCFG_CFGR1_MEM_MODE; //Bits löschen SYSCFG
; //Takt aktivieren SYSCFG->CFGR1 &= ~SYSCFG_CFGR1_MEM_MODE; //Bits löschen SYSCFG->CFGR1 |= SYSCFG_CFGR1_MEM_MODE_0; //System Memory auf Adresse 0 remappen [/c] ,wie in den vorherigen Posts, jetzt diese Zeilen verwende: [c] RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN
-
Thread
Protokoll für einfache Kommunikation rs485
hinbekommen können. Die PC-Standard-UART löst zwar keinen Interrupt aus, wenn sie mit Senden des letzten Bits fertig ist, aber es gibt ein Flag in einem Statusregister, das man abfragen kann, notfalls in einem Timerinterrupt, der mit dem Übertragen des letzten zu sendenden Zeichens an die UART aufgezogen wird
[c] ISR (UART0_RECEIVE_INTERRUPT) { if(uart_str_rx_ct>uart_string_len+1)uart_str_rx_ct=0; uart_str_rx[uart_str_rx_ct++] = UDR0; return; } [/c] C und anderer Code wird durch Einsatz von Leerzeihen
-
Thread
Digitales Display und Keyboard mit PC verbinden
c-hater schrieb im Beitrag #4594892: > OMG, dir fehlen massiv sämtliche Grundlagen. > > Konkret: Abfrage einer Matrix-Tastatur. Du findest das Prinzip an > hundertausend Stellen im INet erklärt.
Spannungswandler? Oder an sendval, was ja bei einem A gleich "01000001" sein müsste. Wenn laut Datenblatt das C-Bit (Bit 7) eine 1 ist, kommt es nicht zur Anzeige des Wertes auf dem Display sondern es wird eine Controlfunktion angesteuert. (Datenblatt Table 1)
-
Thread
AT90USB162 Endpoint Interrupts funktionieren nicht
Naja, wie geschrieben, bei USB kommt noch dazu, dass du 16-Bit-Strings brauchst. Die normalen C-Strings sind halt erstmal 8 Bit pro Zeichen.
clr z.B. ersetzen). Wenn ich weis das alles Funktioniert wollte ich noch sowas wie btm (kurz für "bit mask") machen, wo ich dann z.B: schreiben kann [c]btm(PLLCSR, PLL0, 0, 1, 0);[/c] Also quasi erst der Register, dann das Erste Bit und dann die Bits die von da aus gesetzt werden sollen. Oder irgend
-
Thread
IR-Schalter mit tiny 13
Projekt hinzufügen. Dann main.c mit Leben füllen, z.B. den Beispiel-Code von irmp-main-avr.c ins main.c kopieren. Als nächstes irmpconfig.h anpassen und den Pin eintragen, den Du verwenden willst. An der Stelle: [c]
mich noch interessieren. Wieviele Bytes brauchst Du zum Speichern und damit Wiedererkennen eines einzelnen Frames? [[IRMP]] braucht dafür konstant 5 Bytes - egal wieviele Bits der Frame hat (ich kenne welche mit bis zu 80 Bits/Frame) oder aus wievielen Frames sich ein Tastendruck zusammensetzt. Damit
-
Thread
xc866 indirekt adressierbaren speicher in C beschreiben
c nur für asm. kann man das in c einfacher realisieren? gruss erol
dort gibt es ja bereits einen FlashHandler, mit welchem man in den D-Flash schreiben kann, alles auf C- Basis. Ich werde leider aus den Beispielen überhaupt nicht schlau - ich möchte einfach nur wissen, mit welcher Funktion ich einen Wert (8 oder 16 Bit) in den D-Flash speichern kann und wie ich diesen
-
Thread
Akku-Lader mit Datenbank
ja auch, wenn der Barcode-Scanner mal nicht will. Ich denke nun an einen 3-stelligen Hex-Code (12 Bits) für bis zu 4096 Akkus. Ich habe gerade festgestellt, dass es 64 Zeichen gibt, die mit dem AliExpress-Teil trotz deutscher Tastatur mit Code128 korrekt übermittelt werden. Also hat man 6 Bits pro
, da ich sie in der Bastelkiste habe: https://github.com/TorstenC/Notizblog/wiki/Mikrocontroller … natürlich zuzüglich ESP8266.
-
Thread
80c166 Assembler: Erzeugung von Pseudzahlen
Hallo Leute, ich habe ein (für mich) mächtiges Problem. Ich soll das aufleuchten einer LED mit einer pseudozufälligen Position (0..15) erzeugen. Der Ansatz wäre hier über ein rückgekoppeltes Schieberegister (mein Ansatz wäre über rol) zu machen. Also linksschieben in einem 16 bit Register (und die 12 höchsten Bits löschen, dann erhalte ich die Zahlenwerte 0..15). Nach dem Linksschieben Abfrage der Bit Nr. 1 und 15 (nicht 0 u. 14). Bei gleichheit der beiden Bit das Bit 0 setzen. Bei n=15 ergeben die Abgriffe k1=14 und k2=0). Wie kann ich das lösen? Unten könnt ihe mein altes Programm sehen
-
Thread
1 Bit AD-Wandlung - Erhöhung der Auflösung durch oversampling
first measurement was A and the second measurement was B, the value must be exactly (A+B)/2 or for two bit, (A+B+C+D)/4. You cannot get detail from nothing. It's like in those movies where they "enhance" a blurry photo and are able to reproduce the entire page of text from 4x4 pixel area. Dem ist eigentlich
[c] Das mit den 1 Bit Wandler scheint zu funktionieren. Ich habe das mal simuliert. #include <stdio.h> #include <stdlib.h> void main(void) { double Umess,URnd,UOut,UVer; int i;
-
Thread
PIC16F1825 - I2C Acknowledge Problem?
; letztes Bit 1 = read Data call i2c_tx ; sende I2C-Adresse call i2c_rx ; lesen Speicherzelle nach W ; call i2c_ack call i2c_off ; Bus stop
= 0; // Clear the flag bit return ACKSTAT; // Return ACK/NACK from slave } [/c] Dann bekommst du Du das ACK Bit als Ergebnis zurück. /regards
-
Thread
abweichung beim zeitmessungsprogramm
* Spar dir die cli / sei in den Interrupt Funktionen. Die sind kontraproduktiv! * [C] void uitoa(long endergeb, char* string) //addaptiertes unterprogramm zum speichern der einzelnen zeichen in einen string { unsigned int i;
sollte sobald t=1 ist abgearbeitet werden { endergeb = berechung(); [/C]
-
Thread
LCD-Problem nach Änderung der Pinbelegung
|= 1<<2; if( LCD_D7_PIN ) flags |= 1<<3; [/c] Peter
PINB definiert. @Peter Dannegger hast du den high Nibble absichtlich angegeben? Denn in der if abfrage unter dem Code wird ja nach if (flags & 6) gefragt, also die ersten 3 bits... grüße Khan
-
Thread
100/200 MHz Logikanalysator (Spartan 3, SRAM)
Hi, >Theoretisch sollten da 4 Kanäle a 8 bit bei 100 MHz Samplerate drin >sein. 8bit sind ein bischen wenig, weil man die letzten zwei Bit verwerfen sollte. Ihr solltet aus diesen Grund einen 10 Bit AD Wandler nehmen und nur 8Bit als ADC
ungefähr die Einarbeitungszeit ist um den LA aufbauen zu können , habe bisher nur Erfahrung mit 8-Bit uC guten Rutsch Mario
-
Thread
Mal wieder 'ne Software PWM Frage
schon viele vor mir eine kleine Frage bezüglich dem Software PWM Problem. Als Anhang hab ich meinen C-Testcode, der soweit mit einem PWM-Kanal funktioniert (LED dimmt ohne Flackern auf). Wenn ich nun aber eine zweite Abfrage in die while-Schleife einfüge klappt gar nichts mehr. Sollte ich solche Routinen
PWM-Beschreibung Hier in dieser Software ist das nicht der Fall. Da folgendes geschieht, wenn zähler=100: [c] if (zaehler == 100) { PORTB = (7 << PB1); zaehler = 0; } [/c] Das wird ausgeführt, die LEDs werden AUSgeschaltet (LOW-aktiv) Der Zähler wird auf Null gesetzt. [c] if (zaehler ==
-
Thread
LCD zeigt nur die Hälfte an
Schalte den Wrap ein und die Library kümmert sich um den Umbruch 'in die nächste Zeile' (wenn die Abfrage vom LCD funktioniert, aber davon gehe ich mal aus) [C] #define LCD_WRAP_LINES 1 /**< 0: no wrap, 1: wrap at end of visibile line */ [/C] Hier ... [C] /************************
LCD_DDRAM)+LCD_START_LINE1,0); } #endif lcd_waitbusy(); #endif lcd_write(c, 1); } }/* lcd_putc */ [/C] ... sind die entsprechenden Abfragen enthalten. Sie sind aber nur dann aktiv, wenn LCD_WRAP_LINES auf 1 steht
-
Thread
PSoC: Programm läuft auf POD aber nicht auf Real-Chip
Die Clock habe ich an einen Interrupteingang gehängt, und sobald die Clock losläuft, werden die Bits von der Datenleitung eingelesen. Und da haut irgendwas mit dem Timing nicht hin. Es werden so wie es aussieht einzelne Bits verschluckt auf dem PSoC, weswegen mein Programm die Daten nicht auswertet
auslösen soll(tut er ja auch auf dem POD) Sorry, stimmt, hab ich übersehen. Wenn ich mir dein main.c so ansehe glaub ich nicht das es notwendig ist das du die Tasten interruptgesteuert machst. Würde das mitn Buffer verschmeißen, die Tasten im 10msec Takt im while(1) abfragen und mir den GPIO Interrupt
-
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
Rust - ist das hier um zu bleiben?
sowie Kotlin gewünscht. Letztere werden für Android-Apps verwendet. Mithilfe von Anbindungen an C und C++ ist außerdem die Nutzung in der Unreal Engine möglich. [/pre] Rust 1.49.0 hebt Linux-64-Bit-ARM auf höchste Support-Stufe https://www.heise.de/news/Rust-1-49-0-hebt-Linux-64-Bit-ARM-auf-hoechste-Support-Stufe
verantwortungsvoll den neuen C++ Code im Kernel reviewen? Die "alte" Kernel-Hacker-Gilde eher nicht. Einzelne C++ Features auszuschließen würde die Sache nicht besser machen, würde wohl in einem größeren Krieg enden. Aber ein paar
-
Thread
Wert merken, wenn Controller von Spannung abgetrennt wird
Dafür ist das da. Alternativ: Batteriegepuffertes RAM, oder FERAM ... Da Du aber nur ein einzelnes Bit speichern willst, kannst Du auch ein /bistabiles Relais/ verwenden. Das ist dann wenigstens auch noch mechanisch.
merken kann? Sodass > ich das Bauteil an meienm Mikrocontroller anschließen kann und dann den > Pin abfrage (High oder Low). Warum verwendest du einen µC, wenn du ihn offensichtlich nicht verwenden willst - um es mal überspitzt zu formulieren?
-
Thread
[STM32] CMD0 liefert immer 0xFF zurück
[c] #define GPIO_BSRR_BS12 ((uint32_t)0x00001000) /*!< Port x Set bit 12 */ #define GPIO_BSRR_BR12 ((uint32_t)0x10000000) /*!< Port x Reset bit 12 */ [/c]
des gestauchten Zeitstrahls nicht die einzelnen 8 bits da drin? Oh, Oh, jetzt habe ich aber einen Termin ....
-
Thread
Scheduler für AVR
LCD_DB7); > lcd_enable_puls(); > } Was bitte ist das denn? Wer kommt hier auf die Idee jedes Bit einzeln zu setzen? [code]LCD_PORT &= 0x0F; // Pins low LCD_PORT |= data & 0xF0; //high Nibble setzen[/code]
Karl K. schrieb im Beitrag #5631076: > Was bitte ist das denn? Wer kommt hier auf die Idee jedes Bit einzeln zu > setzen? Wahrscheinlich der Gleiche, der die Zuordung der Bits zu den Portbits maximal variabel halten wollte. Wo liegt das Problem? Die 3us CPU-Laufzeit? > LCD_PORT &= 0x0F; //
-
Thread
TWI ATxmega register
Abfrage. Schickst du ein Kommando 'Trigger RH Measurement' kriegst du bei der nachfolgenden Abfrage die relative Luftfeuchte. Dtanblatt http://www.sensirion.com/fileadmin/user_upload/customers/sensirion
Variante sein dürfte. Ich weiss allerdings nicht aus dem Kopf, ob der XMega ein Clock-Stretching am I2C unterstützt. Wenn nicht, ist der Non-Hold Mode definitiv einfacher: Du schiebst das Kommando rüber und startest dann Read Abfragen. Die gehen solange schief, solange der SHC misst. Ist er fertig, dann
-
Thread
Rigol MSO5104
Siglent scheint wirklich deutlich rauschärmer zu sein. Der Australier meint, das Rigol hat effektive 5.5Bit und das Siglent 6.5 Bit. Es gibt beim Siglent den 10Bit Mode. Dann sinkt zwar die Bandbreite unter 100MHz aber das Signal ist wirklich gut: https://youtu.be/HxzQS-Bn2R0
ein Kanal über dem Kondensator ). Die Grenzfrequenz müsste also [code] >> R=50 R = 50 >> C=10e-9 C = 1.0000e-08 >> fg=1/(2*pi*R*C) fg = 3.1831e+05 [/code] sein
-
Thread
Taster am AD Wandler plus WakeUp - wie?
gegen GND; die Schaltung selbst kannst Du sicherlich im Kopf nachvollziehen. Bezogen auf einen 10Bit-ADC ergeben sich rein rechnerisch folgende Werte für die einzelnen Taster: 1-8: 93, 170, 236, 292, 341, 383, 421, 455 9-16: 485, 512, 536, 558, 578, 597, 614, 640 Die kleinste Änderung ergibt
Hi c-hater, wow, danke für die ausführliche Info und deine Mühe! Dann wird meine Schaltung ja wesentlich einfacher. Hoffe dass ich den C-Code hinbekomme. Dann mache ich mich mal an die Arbeit, leider
-
Thread
MMC/SD Karte: mmc_lib Version 2.0
fplay(handle);//abspielen while(1){ } } [/c]
...komische Sache. Ich dachte mir immer: char - 8 bit short - 16 bit long - 32 bit long long - 64 bit Naja, scheint nach der inttypes.h alles ein wenig anders zu sein, daran kann ich mich schlicht nicht gewöhnen :-)
-
Thread
Kommunikationsprotokoll als Baum definieren?
Unterbefehl sein soll, ist mir ein bißchen unklar. Ich habe Befehle von 0x10 - 0x70, bei Antwort wird bit7 auf 0 gesetzt, demzufolge gehen mögliche Antworten von 0x90 - 0xF0. Befehle 0x00-0x0F und 0xF1-0xFF sind reserviert. Mit bits4-6 werden 8 Gruppen bezeichnet, jede mit 16 Befehlen und es wird
Protokoll Zustandslos zu entwerfen. Also, dass die Packete unabhaengig voneinander sind, und auch einzeln wiederholt werden koennen. Das bedeutet dann zB, dass bei einem Datentransfer eine Blocknummer dabei ist, jeder Block einzeln abgefragt werden kann.
-
Thread
Lagerverwaltung Part-DB V0.3+
Hi, Getestet hatte ich das mit der neusten Chrome Version 55 und dem IE11 unter Win10 64 Bit. Die Version die ich heruntergeladen hatte müsste das commit 12c136f gewesen sein. Im Anhang auch mal eine Grafik dazu was ich meine. Die Oberen Menüpunkte der Kategorieren sind wohl als "selectable
das so in der Art eig. noch nie gemacht mit einem Template-Engine. Normalerweise schreibe ich ja uC-Programme in C ;). Mfg, Tropaion
-
Thread
STM32L452RET6P: ADC Scanmode mit DMA nicht OK
ADC-Ergebnisse sollen in ein Array geschrieben werden (DMA). Geht aber irgendwie nicht richtig... Mit der Abfrage eines einzelnen ADC-Kanals ohne DMA gehen die ADC-Kanäle (zumindest bei den ersten 4 Kanälen habe ich es getestet) und es kommen auch plausible Werte raus, wenn ich eine Spannung 0..3,3V einspeise
ich wie Folgt vor: * Die ADC1->SQR Register konfigurieren: Gibt an in welcher Reihenfolge die einzelnen ADC-Chanels eingelesen werden sollen. * Die ADC1->SMPR Register konfigurieren: Wenn nötig wird hier eingestellt wie schnell die einzelne ADC-Wandlung dauern soll * ADC1->CR1 Bit setzen: SCAN
-
Thread
Ist mein Mega 128 Kaputt
latitude;lontitude§kennung;testort;plz;latitude;lontitude# $=Startzeichen §=endezeichen für einzelnen Ort #=terminierung Datensatz im Flash hier lese ich aus ortschaft enthält $kennung;testort;plz;latitude;lontitude§ //Inhalt meiner ort.c typedef struct{ char kennung[10]; char testort
read_word2(); unsigned short int word3=read_word3(); unsigned short int word4=read_word4(); coeff.c1 = word1>>1; coeff.c2 = word3 & 0x3f; coeff.c2 <<= 6; coeff.c2 |= (word4 & 0x3f); coeff.c3 = word4>>6; coeff.c4 = word3>>6; coeff.c5 = word1<<10; coeff.c5 &= 0x400; coeff.c5 += word2>
-
Thread
STM32F030x08 > UART > IRQ und Puffer Betrieb
neues > senden will. Du meinst also erstmal die Daten in den Puffer schreiben, dann einmal.. [c] xx->TDR = data [/c] und in der ISR dann quasie Byte für Byte aus dem Puffer holen?.
nächsten Zeichen. Nochwas: Es sollte noch einige weitere Funktionen geben, und zwar für: - Abfragen, ob ein empfangenes Zeichen vorliegt - Abfragen, ob der Sendepuffer noch ein weitees Zeichen vertragen kann W.S.
-
Thread
Eine Zahl in Einsen convertieren
auffüllen" ... Oh, FPGA - dann hast du natürlich recht, hatte ich nicht gelesen, dachte, es geht um C, C++, Java, Basic, Python ... Hab' den Beitrag über "Forum" allgemein gefunden, nicht die Sparte dazu wahrgenommen.
Aufgabe noch künstlich und völlig nicht nachvollziehbar erscheint, ist eine Schleife um die einz. Bits nötig.
-
Thread
ARM Board minimal
mit 20Mhz, oder?" Aber ja doch. Nicht, wenn er bloss mit I/O-Leitungen spielt. Bei Software-SPI (bit banging) wird ein AVR schneller sein als zumindest die meisten LPCs, weil die einen berüchtigt langsamen Peripheriebus haben. Aber lass den AVR mal die in C extrem häufigen (mindestens) 16bit breiten
und der Operandengröße wurde mir dann aber einiges klar. Jede der vier Instruktionen ist exakt 32 Bit lang - das sind die Operanden aber auch. Also werden die 32-Bit-Operanden "gepackt", um mit in den 32-Bit-Opcode untergebracht zu werden. Der Wert 0xE002800C (das ist das Register IOCLR) lässt
-
Thread
Menü programmieren
das macht, was Du möchtest (ggf. Flüchtigkeitsfehler). Hätte Dir so ein Code etwas gebracht? [c] #define T_MENU P3IN&BIT7 #define T_UP P3IN&BIT6 #define T_DOWN P3IN&BIT5 void tastensteuerung(void) { int menu=0; if(T_MENU) {menu++; pause1();} switch(menu) { default
Bitmanipulation#Bitmanipulation_beim_MSP430 D.h. folgende Zeilen müssen etwa so angepaßt werden. [c] #define KEY_PIN P2IN #define KEY0 BIT7 #define KEY1 BIT6 #define KEY2 BIT5 #define ALL_KEYS (KEY0 | KEY1 | KEY2) #define REPEAT_MASK (KEY1 |