-
Thread
77,5kHz Generator aus 20MHz Takt ATtiny45-20 Assembler 10MHz Frequenznormal
in einem extralangen DIP-48 Gehäuse). (Die populären Analog Devices DDS ICs haben meist nur 32-Bit Auflösung). Manche Rubidium Module lassen sich schon mit hilfe des C-Feldes extern oder mit einen internen Trimpoti fein einstellen. Deshalb müssen die Physikteile magnetisch geschirmt sein. Mein
interessanter finde ich deine folgenden Äußerungen: Bernhard S. schrieb im Beitrag #6738553: > 50°C--> 77.500,00Hz > 37°C--> 77.499,80Hz > > Die Soll-Temperatur des Ofens ist auf 50°C eingestellt. > > In der Praxis schwankt es leicht zwischen 49,6 und 49,7°C. ...Ofen... Ich gehe immer noch
-
Thread
TTP223: Mehrere Touch-Buttons an Analog-In
einen Chip: https://www.microchip.com/wwwproducts/en/CAP1298 Damit kannst Du 8 Buttons per I2C abfragen. Mit einem I2C-Multiplexer wie PCA9547 könntest Du auch noch viel mehr abfragen. fchk
als nur Tasten abzufragen. Ich habe ein Gerät, wo ich neun (mechanische) Tasten am Analogeingang abfrage, weil ich noch ein paar Schalttransistoren bedienen muß, ein paar LEDs steuere, einen I2C-Bus habe ... Tasten sind ja kein Selbstzweck. Kuppi schrieb im Beitrag #6700142: > Das ist nicht wirklich
-
Thread
Wer kennt einen USB Dongle, der einen PIC2550 enthällt?
quasiidentischen Nachfolger gibt der als Plug-in Replace eingesetzt werden. Selbst den Uralten simple PIC 16C54 mit OTP Speicher kann man noch bekommen... Wobei auch da für alles was aus funktionsgründen diesen µC braucht jedoch keine erforderliche Neuzertifizierung o.ä. einen Wechsel unwirtschaftlich macht
einfach auszulesen sind. > Dann ist der Dongleschutz am A... Es gibt solcherlei auch mit anderen µC, aber nicht mit dem vom TE gewünschten Exoten.
-
Thread
Lange und vglw. schwache RFID Antenne bauen
benötigt das noch Leser links und rechts neben den äußersten Fächern. Aber wenn in Box 1 die Teile A,B,C gelesen werden und in Box 2 die Teile C,D,E,F und in Box 3 die Teile E,F dann ist in Box 2 C und D . Wenn jetzt die Leser links noch A,B und rechts E,F liefern habe ich das Ergebnis für alle Boxen .
benötigt das noch Leser links und rechts neben den äußersten Fächern. > Aber wenn in Box 1 die Teile A,B,C gelesen werden und in Box 2 die Teile > C,D,E,F und in Box 3 die Teile E,F dann ist in Box 2 C und D . Wenn > jetzt die Leser links noch A,B und rechts E,F liefern habe ich das > Ergebnis für
-
Thread
SysTick (1ms) Uptime Design-Frage
Main" und hat entweder auf den SysTick oder auf verfügbare Daten reagiert. Zusätzlich hatten die einzelnen Module noch eigene Timeouts, bzgl. Peripherie (USB/UART/I²C/SPI). Nun wollt ich das alles besser strukturieren und es evtl. effizienter gestalten.
[c] typedef uint16_t TickType; /* ob 16 oder 32 Bit*/ #define MAX_TICKS (50000) /* Maximalwert des Timers. Deutlich unter dem Überlauf */ typedef struct /* Struktur der Timer, wenn
-
Thread
avr asm LCD Problem
Resetpin funktionieren, wenn die Initsequenz korrekt ist. Ich würde den Fehler eher in den vielen C&P-Abschnitten suchen. C&P schreit regelrecht nach Fehler machen. Ich würde eine generische 8Bit-Ausgabefunktion schreiben, die überall in das LCD schreiben kann. Übergeben wird Position (X,Y) und Wert
solltest Du die Hälften mal einzeln über CS ansprechen und einzeln initialisieren.
-
Thread
3 kleine Fragen zu i2c
den Master ausbremsen kann. Das ist, wenn der Slave auf das Datenpaket vom Master sein Acknowledge-Bit schickt, und dann den Pegel auf Low lässt. Durch den Pullup/Open Drain ist dann eine weitere Kommunikation nicht mehr möglich. Aber das lässt sich lösen, in dem man den watchdog-timer mit der I2C-Kommunikation
Busteilnehmer ausbremst kommt auf die Programmierung an. Die AT-Megas haben einige Interrupts, auch beim I2C (TWI), also RX-Complete und TX-complete, sinnvoll verwendet gibt das kaum Last. Schickst Du den Controller in Warteschleifen zum Abfragen von Statusbits sieht die Sache anders aus.
-
Thread
uC Programmiertechniken - Gibt es da Bücher?
die einzelnen Module zur Zusammenarbeit zu bringen und es bringt mehr überraschende Seiteneffekte mit sich. Nur so als Beispiel: Wenn ich bei einem 8 Bit AVR die I²C Schnittstelle einschalte, dann muss
ADXL345 */ if(EXTI_GetITStatus(EXTI_Line10) != RESET) { EXTI_ClearITPendingBit(EXTI_Line10); } } [/c]
-
Thread
PWM-Signal mit STM32 messen
das Reference Manual zu viel ist, dann ist dir der Mikrocontroller zu viel. Einfacher sind nur die 8bit Controller, aber auch da musst du lesen. Ich werde dir das Kapitel jedenfalls nicht übersetzen und vorkauen. Den einfacheren weg über R/C Filter und analogem Eingang habe ich dir schon genannt
schrieb im Beitrag #6668960: > Evtl. ein Hinweis auf einen Programmierfehler in meinem Code? [c] uint32_t Frequency = 0; uint32_t Duty_Cycle = 0; [/c] Diese Variablen werden im Interrupt-Kontext berechnet und im normalen Programmlauf angezeigt. Deswegen empfiehlt es sich die Variablen als
-
Thread
riesige Datenbank verwalten
2021-04-06T14:53:32.106Z", "garage": {"ms": 433935998, "sw": "lueftung06.ino, Aug 27 2020 16:01:22", "c0c": 28929, "c0f": 87.1, "c0n": "Zu", "c0t": 0.8, "c1c": 28929, "c1f": 61.5, "c1n": "Wa", "c1t": 15.1, "c2c": 28929, "c2f": 64.8, "c2n": "Ab", "c2t": 6.4, "c3c": 28929, "c3n": "Mi", "c3t": 14.8, "c4c"
lange wie möglich auch im RAM durchsuchen können. Und zusätzlich Statistiken führen, bei welcher Abfrage welche Organisations- und Suchmethode am effizientesten ist und entsprechend dynamisch den passenden Algo nehmen. Es macht nämlich einen großen Unterschied ob du einzelne Datensätze haben willst
-
Thread
GLCD Controller ST7920
Für andere als die von mir angewandte Variante "Grafik-LCD-Display DG14032 8-bit-Modus ausgewählt,", wie 4-Bit-Modus oder SPI kann der Code nicht passen. mfG
pro Befehl auf 110 ... 120 ms Übertragungszeit pro 128x64-Grafikseite. Im parallelen Modus mit Abfrage des Statusbits zeigt sich, dass nur wenige Bytes das volle Delay brauchen, sondern vor allem die Daten-Bytes schneller hintereinander übertragen werden. Ich habe im 4-Bit-Modus mit Oszi ca. 40 ms
-
Thread
phase Correct PWM
von 10 Bit? Und warum lässt du hier Upwm1 : in std_logic_vector(n_Bit-1 downto 4); -- 5 Bit for parallel load den Bereich von 9 downto 4 laufen statt von 5 downto 0? (und das kann sich
hinschreiben. Leider verstehe ich nicht was du hiermit meinst, bzw ist die Aufgabenstellung das ich diese bits beliebig verändern kann daher fehlt es mir schwer das ich hiermit Integer arbeite. > > Der ganz "Code" sieht mir genauso aus, als ob ein Softwareprogrammierer > gestern noch Software in C und
-
Thread
STM32F103 Bluepill mit 128kb lässt sich nicht flashen
übrigens mit ST Schriftzug und ST Logo beschriftet, wobei das letzte auf China hindeutet. STM32F103C8T6 GH209 CHN215 PS: Den Versuch die zahlreichen Versinen der 103er bei Embitz zu testen habe ich hinter mir. Die T6 benutzt mit 128kb. Tut es alles nicht. Durch die Abfrage der Core-Id in der st-link
im C-Quelltext [c] #define XXX nnnn [/c] Der Vorteil in den Build-Options ist, dass dieses define für alle C-Module gilt. Sonst müsste man das ja jede Datei schreiben. P.S. Unter dem Reiter "#
-
Thread
Ostern- Vielleicht mal wieder Detektorempfänger ? Gesperrt
itm/uralt-Detektor-Detektorempfanger-mit-Zubehor-auch-BALDUF-75-200/153332524556?hash=item23b354a60c:g:-iYAAOSw1FlZ5cMA
3A_Detektorempfaenger_und_ihre_Schaltungstechnik-_Schaltungssammlung___Edi_baut_einen_Kristalldetektor-_Empfaenger%2C_Teil_9%2C_Vergleichsgeraet_Baukasten%2C_Testaufbau%2C_Messungen
-
Thread
ADC logarithmieren mit Assembler und Tiny10
Die verdoppelt den Zahlenwert mit jeder Linksschiebung. So könnte man z.B. aus den 16 Stufen eines 4 Bit ADC eine 16 Bit Zahl von Null bis 32768 erhalten. Für feinere Stufen des 8 Bit ADC müsste man noch das zweithöchste Bit toggeln usw.
beiden letzten Werte liegen dann über 255 (wenn man 300s als max nimmt). Das kann man dann extra abfragen (ADC Wert >253) und das eine Bit im Ergebnis danach setzen. 50 Positionen bei einem solchen Trimmer einzustellen, muß man erst mal vormachen. Danke an alle für die Vorschläge. Ich denke nochmal
-
Thread
Zeichenkette über UART empfangen
funktioniert es aber wenn ich auf einzelne Chars vergleiche z.B. ein kleines a: [c] if (strcmp (input_str, "Test") == 0) { PORTB &= ~(1 << PB1); //Led geht an zum Test // hier sollen
im Fehlerfalle auch einfach mal aus, was er versucht hat zu vergleichen. Z.B. so (untested): [c] static char * getline(char *buf, int size) { int i = 0; char c; // ignore status bits, UART_NO_DATA becomes '\0' assert(size > 0); // raw input - no echo, no line editing, truncate
-
Thread
Problem 16Bit Timer auslesen und zurücksetzen für Frequenzzähler ATmega1284p Assembler
Geschätztes Forum, der Timer1 (16Bit) wird durch ein externes Signal angesteuert, in diesem Fall mit 12MHz bei 24Mhz µC Takt. Der ATmega misst seine eigene Taktfrequenz (Flipp-Flopp dazwischen). Nach 2s wird der Timerwert ausgelesen
Reihenfolge auslesen muss. Tut er, wie du schon gefunden hast. Man kann aber auch einfach TCNT1 als 16-Bit-Wert lesen; in iom1284p.h, includiert über io.h, steht drin: [c] #define TCNT1 _SFR_MEM16(0x84) [/c] Da erledigt das korrekte Lesen der Compiler ... Wird in anderen 16-Bit-Registern oft auch so
-
Thread
Wasserzähler Impulszählung (Batteriebetrieb)
im Beitrag #6637054: > Ein EEPROM hat 100.000 Schreibzyklen bis es den Geist aufgibt oder? Je Bit. Z.B. bei einem ATtiny85 kannst Du 4000 Bits einzeln auf 0 setzen, ehe Du wieder löschen mußt. Die restlichen 12 Bytes kannst Du dann als Zähler * 4000 nehmen. Damit hast Du 400.000.000 Schreibzyklen
Beitrag #6637054: >> Ein EEPROM hat 100.000 Schreibzyklen bis es den Geist aufgibt oder? > > Je Bit. > Z.B. bei einem ATtiny85 kannst Du 4000 Bits einzeln auf 0 setzen, ehe Du > wieder löschen mußt. Die restlichen 12 Bytes kannst Du dann als Zähler * > 4000 nehmen. > Damit hast Du 400.000.000
-
Thread
Homeoffice nach der Pandemie
ist es bei euch auch so warm? bei uns sollens am MO 23°C sein lol. Ich mach mir erst mal ein bier auf
6021540?pd_rd_w=Lls7W&pf_rd_p=a4a39702-3e52-471f-bb6a-2dbd6f139cc7&pf_rd_r=AP52NZ779R25263X9NFE&pd_rd_r=1c9b8f44-3258-427e-b42a-18092ce326c7&pd_rd_wg=XBIIT&pd_rd_i=B077HZ9M9N&psc=1
-
Thread
Einstieg(scontroller) in Ethernet Kommunikation mit STM32
OS für Cortex-M mit einem mittlerweile recht umfangreichen API für Standard IO wie GPIO, Serial, I2C, SPI und komplexere Sachen wie USB, Ethernet, Dateisysteme uvm. Und ein RTOS (RTX5 von Keil/ARM) und die Komponenten passen auch zusammen. Das alles mit einem C++ API. C++ Komponenten gefallen mir besser
erstmal bei meinem doch in vielen Punkten unterschiedlichen "Setup" für die Entwicklung bleiben: - C statt C++ (wenn auch vermutlich kein Riesensprung) - CubeIDE statt Mbed, weil ich nun die ganze Zeit mit dem F407 Disco arbeite, das in Mbed nicht gelistet ist... Sind für mich eh schon genügend
-
Thread
formell korrekte Summation von Einzelbits
Vektor ist der Platzhalter für die Länge - das "downto" habe ich einsetzen müssen, weil er ein einzelnes Bit nicht nimmt. Obwohl es Phasen gibt, in denen bis zu 16 bits High sind, zählt die Summe nur bis 8 hoch. Es scheint einen versteckten ÜBerlauf zu geben, den ich mir nicht erklären kann, weil
Generell summiert man die Bits einer seriellen Schnittstelle am Besten dann auf, wenn man jedes einzelne empfängt. Nicht erst danach, wenn alle empfangen sind. Wenn das Kind aber schon im Brunnen liegt, dann sieh dir das an:
-
Thread
Vorstellung und erstes Projekt
_BV(2) | _BV(3); } bool get_a(void) { bool a = PIND & _BV(1); // PD1 abfragen return a; } bool get_b(void) { bool b = PIND & _BV(2); // PD2 abfragen return b; } bool get_c(void) { bool c = PIND & _BV(3); // PD3 abfragen return c; } void set_x(bool
'-Felder zu den GPIO-Cores brauchen wir hier nicht weiter zu diskutieren. Und so bleibt gerade in C nur eines übrig: Port (oder Variable) mit Namen versehen, Bit in _diesem_ Port (oder dieser Variablen) mit Namen versehen. Man hat kein Ausdrucksmittel, um sowas wie [c] #define MeinBit Portadresse
-
Thread
Warum haben manche Programmiersprachen Nullen und andere Einsen?
Frank M. schrieb im Beitrag #6632743: > Kommt wohl auf dasselbe hinaus ;-) Im üblichen 64-Bit Datenmodell mit i als 32-Bit Integer und p als 64-Bit Pointer wird bei (p+(-i)) zunächst -i in 32 Bits berechnet und das Ergebnis auf 64 Bits erweitert.
Frank M. schrieb im Beitrag #6632743: > Kommt wohl auf dasselbe hinaus ;-) Nein. Im üblichen 64-Bit Datenmodell mit i als 32-Bit Integer und P als 64-Bit Pointer wird bei (p+(-i)) zunächst -i in 32 Bits berechnet, auf 64 Bits erweitert, und dann addiert.
-
Thread
Einsteigerfreundliches board für Roboter motion
guenstig sein soll, die Zynqberry Variante: > > https://shop.trenz-electronic.de/de/TE0727-02-41C34-ZynqBerryZero-Modul-mit-Xilinx-Zynq-7010-512-MByte-DDR3L-SDRAM-3-x-6-5-cm?c=238 > > Du braucht kein extra Baseboard, hast nenn Zynq mit ansehlich > Rechenpower und der PL Teil sollte mehr als
Datenstrukturen de-/serialisieren kann. Als Sprachen mit denen Schüler interagieren sollten werden python und c++/c (das letzte weil es sich einfach mit anderen Sprachen wrappen kann Die robotershell soll dann einfache Befehle zum Senden von Befehlen, abfragen von Werten können. Logik in der robotshell hab
-
Thread
Maßnahmen gegen das Hängen bei SPI/I2C Kommunikation
Störung oder einem Reset gerade ein Slave als Sender > adressiert, kann dieser SDA auf low ziehen (0-Bit senden). Da helfen > dann bis zu 9 Takte auf SCL. Diese 9 Takte sind eigentlich fast immer das Patentrezept, wenn der I2C-Bus klemmt. Ich konnte das bei Tests nachvollziehen. Wird der µC mitten
das I2C in genau diesem Zustand. Man verdächtig dann den I2C-Slave, obwohl der Fehler an einer völlig anderen Stelle passiert. Trick 17 wäre natürlich: - SDA abfragen - SCL 10* takten // above 9 but not
-
Thread
Schon gesehen: Hausdurchsuchungen wegen günstiger Microsoft Product Keys
man mit Günstig-Angeboten gradezu überschüttet, z.B.: https://lizenzguru.de/windows-10-pro-32-64-bit.html?c=11&gclid=EAIaIQobChMI3-i8-e2x7wIVGM93Ch2S6gUwEAAYASAAEgJLvPD_BwE# (von 49 auf 15 Euro runtergesetzt laut Angebot) Ist das jetzt seriös oder nicht? Oder hier für 35 Euro? https://www.licensequeen.com
Erwerb einer Win10-Pro-Version zum Preis von 14,90? https://lizenzguru.de/windows-10-pro-32-64-bit.html?c=11&gclid=EAIaIQobChMI3-i8-e2x7wIVGM93Ch2S6gUwEAAYASAAEgJLvPD_BwE#content--description
-
Thread
Figuren auf Spielbrett erkennen
Reihe zu jedem Reed-Kontakt eine Diode kommt. Es reichen dann zwar 8 Ausgänge und 8 Eingänge am uC, aber immer noch 64 Reedkontakte und 64 Dioden mit 272 Lötkontakten zu verbinden. Wenn du dir den Aufwand machen willst... Man konnte schon 1954 (Kernspeichermatrix) ein einzelnes Bit in einer Matrix
doch die zusätzlichen Dioden nicht Doch. Sonst gibt es "Phantom" Stellungen (A1 und A4 und C1 besetzt -> C4 wird auch als besetzt erkannt).
-
Thread
parallele Prozesse konkurrieren um Peripherals
Symboltabelle" für den Debugger aufgebaut. Dabei ist eines klar geworden: Wegen der Bytementalität von C sind Unions mit microCore nicht möglich, es sein denn, man beschränkt sich auf eine Version mit 16 oder 32 bit Wortbreite und implementiert zusätzliche Byteoperationen per read-modify-write. Letztere
Symboltabelle" für den Debugger aufgebaut. Dabei ist eines klar > geworden: Wegen der Bytementalität von C sind Unions mit microCore nicht > möglich, es sein denn, man beschränkt sich auf eine Version mit 16 oder > 32 bit Wortbreite und implementiert zusätzliche Byteoperationen per > read-modify-write.
-
Thread
Hilfe bei Z80 Opcodes
einfacher. The only easy day was yesterday. Gruesse Th. P.S.: Der Z8536 hat drei Ports (Port C vier bit breit, B und A jeweils acht bit). Addressiert wird das Ding ueber A0/A1, wobei gildet: [c] A1 A0 0 0 Port C (0CFF0H) 0 1 Port B (0CFF1H
ja, auch ich habe den Logic-Analysator) Ich habe ein paar Routinen identifiziert (vielleicht): [c] L0120: Send Stop oder Ack L0121: Adressiere Slave in L? (Routine $0cdb-$0910) L0013: Delay (Parameter in BC) L0139: Read i2c-Input (1 bit) result in D [/c] Gruesse Th.
-
Thread
Linux geht es noch antiquierter?
sicherer" Vergleiche kann man sich komplett sparen weil da so unterschiedliche Anforderungen der einzelnen Personen aufeinander treffen das es einfach keinen sinnvollen Konsens geben kann
man bei sudo immer aufpassen, dass man keine extra Argumente erlaubt. Das ist leider der Default. [c] sudo apt-get upgrade kate gimp+ gedit- ./fancy.deb [/c]
-
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
Multicore embeddedsystem? Viele Fragen!
Kommt Drauf an. > > Benötige ich als Embeddedsystem SW/HW Entwickeler mehr wissen als nur 32 > Bit- singlecore Systeme? Ja. Aber wenn man auf einem 32Biter einen Interrupt verstanden hat, dann ist die Übertragung auf einen 8Biter-µC keine Doktorarbeit. > > Werden sich jetzt die größeren Systeme
Was nimmt man denn als OS für ein 32Bit Multicore µC, wenn es am RAM für ein abgespecktes Linux fehlt?
-
Thread
Stn1110 am atmega2560 uart probleme
j1850 und fragt auch Werte ab die er dann über die uart an den atmega sendet. Nur nach 15 - 20 abfragen reißt die Verbindung ab und der stn holt auch keine Daten mehr aus den Steuergerät über den j1850 Bus
Schnörkel bilden. Bei 2-lagen sollte die unter Lage hauptsächlich GND sein. Anbei mal ein Beispiel. C9, C10, C1, C2 sitzen nahe am ATmega2560. Die blaue Fläche ist GND.
-
Thread
Programmierung - Doppelbelegung einer Taste
// hier die zweite uhrzeit (EndUhrzeit) ausgeben und in toc speichern toc = HAL_GetTick(); [/c]
ist es im Timerinterrupt eine Variable zählen zu lassen und ist ein bestimmter Wert erreicht, das Bit für Langdruck zu setzen. Das Main kann dann bequem die beiden Bits für kurz oder lang auswerten.
-
Thread
unauffällige Ferienausüberwachung
Wenn es nur um unbefugte Vermietung geht, Licht abfragen. Ist noch Platz im Sicherungskasten? Laufen da vielleicht gleich geschaltete Leitungen vom Licht durch? Oder Stromverbrauch: Versorgung für Licht mit der Spule eines ausgedienten FI-Schalters abfragen
mit Passwort herum und die werden sich garantiert einloggen. Einfach den Router aus der Ferne abfragen - man sieht sofort, ob jemand im Haus ist - weil eingeloggt.
-
Thread
Amateure braucht Hilfe bei RS232
ist 32Bit, habe noch mal rein geschaut es ist gegen einige 32Bit DLL's gelinkt. Also sollte sich der TO die 32Bit Versionen der genannten DLL's holen und nach C:\Windows\SysWOW64 kopieren. Das mit dem VB
"installiert" > Aber passieren tut irgendwie nix. Wo hast Du die Datei hin installiert? Unter 64Bit Win10 kommen 32Bit DLL's eben nicht nach Windows\System32 sondern nach C:\Windows\SysWOW64 Hammer M. schrieb im Beitrag #6596466: > Die Anleitung von der Installation zu C++ bin ich gefolgt und
-
Thread
STM32 USB Übertragungsproblem mit Code von S.F.
macht: [c] // For devices with 2x16 bits/word access schema // (e.g. STM32L0x2, STM32L0x3, STM32F0x2, STM32F303xD and xE) #define UMEM_SHIFT 0 #define UMEM_FAKEWIDTH uint16_t // For devices with 1x16 bits
_t)0x04000000U) /* Bit 2 */ [/c] Oder du hast andere Header.
-
Thread
RS485 Fehler ab 3 Teilnehmern
Messdaten liefern. Jeder Sensor hat seine eigene Adresse und ich kann die Adresse in der Regel auch abfragen und bekomme eine Antwort. Die Kommunikation läuft mit 9600Baud also recht moderat und bis jetzt habe ich die Sensoren zu Testzwecken nur einzeln per Hand abgefragt. Es sollte also keine Probleme
Senden der Transceiver zu früh wieder auf Empfangsrichtung umgestellt wird, nämlich bevor das letzte Bit physikalisch über den Bus ging. Welches Flag im µC verwendest Du für die Entscheidung der Umschaltung?
-
Thread
Bosch Athlet 25,2 V Akku 7 Stück Tauschen
Programm für einen AVR mit LC Display gemacht. Die Schnittstelle zum Batteriecontroller ist langsames I²C (auch SMBus genannt) und man kann so die einzelnen Register abfragen. Ändern der Register ist eine andere Sache, aber auch eigentlich nicht nötig. Denn kein Batteriecontroller, der mir bisher untergekommen
BAT, 2); Serial.println("V"); // 5. Measure Individual Cells (Balancing OFF for accuracy) I2C_8Bit_writeToModule(0x10, 3, 0b00000001); I2C_8Bit_writeToModule(0x10, 4, 0b00000000); UCELLMIN = 5.0; UCELLMAX = 0.0; for (int x = 0; x < NUM_OF_CELLS; x++) { I2C_8Bit_writeToModule
-
Thread
Zustandsvariablenblöcke als serielle Bits an Schieberegister ausgeben?
zusammen, ich bin aktuell zwar noch mit vielen strukturellen Vorarbeiten zu einem Projekt (STM32 µC) beschäftigt und muss noch viel lernen. Dennoch habe ich mich schon gefragt, wie man wohl in C folgendes Problem löst: Ich möchte viele einzelne LEDs mit Tastern schalten. Aufgrund der schieren Menge
Einlesen der Zustände über das PISO und Ausgeben über das SIPO irgendein System verwenden, um auf die einzelnen Bits zuzugreifen und die in dieser XOR-Logik zu verarbeiten. Also quasi eine Art Byte - zu - Variablen - Konverter....;-) Und umgekehrt....
-
Thread
große UDP Pakete mit lwIP auf STM32F7
c-hater schrieb im Beitrag #6585888: > Das ist doch sinnloses Gewichse. auf dein Gepöbel kann ich hier gerne verzichten.
auf mehrere IP 'Frames' (eng. fragments) aufzuteilen, dass der Empfänger die Teile (anhand der 16-Bit ID und des Tupels) identifizieren kann ist im "betont einfachen" lwIP Stack (GNU HURD & CO) unterhalb von UDP eingebaut. Experten die 16-bit Datagramm Funktionen oberhalb von 8-bit Datagramm C-Funktionen
-
Thread
-
Artikel
UPlay Basic Interpreter per XMC2Go
um den einfachen Aufbau nicht zu verlieren. Der Interpreter besteht nur aus 4 Files : Dem "uBasic.c.+h" File und dem "Tokenizer.c+h" File. Im "Tokenizer" sind alle Basic-Sprachbefehle hinterlegt. Dieser liefert beim Aufruf der Funktion "get_next_token" zurück, um welchen Befehl oder welches Zeichen
SETPX 5,6 30 GETCOLL a 40 PRINT a GPIO-Befehle Bedeutung Beispiel IN einlesen eines Input-Kanals (c=Channel [0...4], Wert=[0,1]) 10 IN a=c 20 PRINT a OUT setzen eines Output-Kanals (c=Channel [0...1], Wert=[0,1,2]) 10 OUT c,1 ADC-Befehle Bedeutung Beispiel ADC einlesen eines ADC-Kanals (c=Channel [
-
Thread
Was nutzt ihr für Layoutprogramme?
Kennzeichnung als Hühnerfutter. Theoretisch kann man sich auch die csv Tabelle (am besten für R C L getrennt) von den Distries ziehen und daraus das Hühnerfutter abfragen. Über Footprint und Wert(e) / Stückzahl filtern gibt eine MPN's zurück.
Kennzeichnung als > Hühnerfutter. > > Theoretisch kann man sich auch die csv Tabelle (am besten für R C L > getrennt) von den Distries ziehen und daraus das Hühnerfutter abfragen. > Über Footprint und Wert(e) / Stückzahl filtern gibt eine MPN's zurück. Naja, Bauteile lassen sich ja rasch gegen andere
-
Thread
uC from Scratch
Zeug was du da treiben willst reicht ein viel *uebersichtlicherer* 8-bitter alle mal. Ein Silabs C8051F020 hat 8 12 bit ADC-Eingaenge 8 8 bit ADC-Eingaenge 2 12 bit DAC-Ausgaenge noch 8 Ports mit je 8 GPIO (das macht 64 GPIOs 5 V-tolerant). Den anderen Kleinkram wie I2C, UARTs, SPI und Timer
aber ich hoffe jetzt > ist die ganze Sache ein bisschen klarer. OK, du willst vornehmlich mit I2C arbeiten, also ist das Ganze doch eher eine langsame Sache - und nix mit "Ich muss vorallem analoge Eingänge schnell auswerten können. (schneller als 10us)". Schließlich braucht ein einzelnes Bit am
-
Thread
SPI für verteilte Systeme
> Bei I2C wird die slew-Rate begrenzt und die Eingänge gefiltert. I2C zählt nicht, ist schnarchlangsam. Auch UART (grade bei den meisten uCs) ist sehr langsam.
die aus der Telegrafensteinzeit stammenden "Standard-Baudraten" verwenden, sondern solche, die der µC gut kann. Und dann waren z.B. schon mit den alten 8051 bei DMX512 lockere 250kBit/s drin.