-
Thread
Lidl-Multimeter PDM-300-C2 Analyse und Erweiterungen
Werte liest und per MQTT rausgibt. Funktioniert auch soweit bis auf negative Werte. Wie kann ich den 16bit signed wert in int umwandeln? Für positive Werte klappt folgendes: [c] measurement_raw = (RFin_bytes[6] << 8) | RFin_bytes[7] ; [/c]
> und per MQTT rausgibt. Funktioniert auch soweit bis auf negative Werte. > Wie kann ich den 16bit signed wert in int umwandeln? > > Für positive Werte klappt folgendes: > [c] > measurement_raw = (RFin_bytes[6] << 8) | RFin_bytes[7] ; > [/c] Das Vorzeichen erweitern, wenn das höchste Bit
-
Thread
Nur Positives !
Aquarium in der Wohnung in das größere auf dem Balkon gebracht. Wassertemperatur: morgens knappe 15°C, jetzt 19,2°C. :) Joe
-3C herum.
-
Thread
AVR Sendepuffer prüfen
] Bits aus einem Register abfragen/testen ist elementarstes C.
Hallo, an das Abfragen des Bits direkt habe ich schon gedacht wie: Mike R. schrieb im Beitrag #6180909: > while ( !( UCSRA & (1<<UDRE)) ); Aber da ich Zeichen mit uart_putc einzeln Sende, funktioniert das nicht so
-
Thread
STM32F103 ADC und DMA Verständnisfrage
DIR(0) | TEIE(0) | HTIE(0) | TCIE(0) | EN(0); } void STM32F1_DMA1_startChannel1(void) { CLEAR_BIT(DMA1_Channel1->CCR, DMA_CCR_EN); SET_BIT(DMA1_Channel1->CCR, DMA_CCR_EN); }[/c] ADC:[c] #define REGULAR_GROUP_COUNT 3 static volatile uint16 regularGroup1[REGULAR_GROUP_COUNT] = { 0 }; void
_DMA1_startChannel1(); // Start conversion SET_BIT(ADC1->CR2, ADC_CR2_ADON); } uint16 STM32F1_ADC_getRegularGroupe1(uint8_fast channel) { if (channel >= REGULAR_GROUP_COUNT) { return 0xFFFF; } return regularGroup1[channel]; } [/c
-
Thread
ATtiny25 - EEPROM - Write ohne Verschleiß
Platz ist, das ganze am besten mehrfach darin ablegen, um Redundanz zu haben falls doch einmal einzelne Bits kippen...
DB. Sieht auch echt nachvollziehbar aus, oder? [c] Gew. Zyklen Vorh. Zyklen Sich. Faktor 10.000.000 / 100.000 = 100 * 2 = 200 [/c] Jedes bit darf demnach erst nach 200 Zyklen gelöscht und neu beschrieben werden
-
Thread
Modernes "Z80 Klein-Computer"-Analogon für Jugendliche/Kinder?
Rest des Lebens verbringen. Ob dann interessehalber der Weg weiter Richtung Gigatron & co. (einzelne Gatter) oder Richtung Apple-][,C=64,NKC,RC2014,CP/M (komplexe Funktionsbausteine) geht zeigt sich dann. Jedenfalls sehe ich das etwa so als Vorstufe von 1-Chip-uC-Systeme wie Arduino,PIC,68HC05
und IN-Befehlen lassen sich an den PCF8574 angeschlossene LEDs zum Leuchten bringen oder Taster abfragen. Da STECCY die IN- und OUT-Befehle auf bestimmte Adressen direkt in I2C umsetzt, kann man sich dann auch noch an andere I2C-Module wagen, wenn man möchte, Temperatur-Sensoren wie LM75 oder anderes
-
Thread
(Home)Server Bauvorschlag gesucht
HDDs nehne, würde ich auf 2x3TB im RAID1 oder 3x2TB im RAID5 setzen. (da der Stromverbrauch der einzelnen Platten sonst zu stark ins Gewicht fällt) Ich würde mich auch trauen, wieder ein Modell aus der WD Caviar Green Serie zu nehmen, da diese recht wenig Strom brauchen (~5W) 2,5" Modelle brauchen
Plattform für das bewährte Stock Debian. Für die Raspberrys ab 2 gibts normales Ubuntu, ab 3 auch 64-Bit.
-
Thread
USB CDC von Stefan Frings und WS
UsbGetChar(void) [/c] 2. Dein UsbTxReady() check ist redundant, da er in [c] /* sendet ein Zeichen (d.h. schreibt es in den Tx-Buffer) */ char UsbCharOut(char c) [/c] sowieso passiert und möglicherweise das UsbGetChar
der USB-ISR, wo logEpBulkOut mit logEpBulkIn verwechselt wurde. Hier die Änderungen an der usb.c: https://github.com/Erlkoenig90/WSusb/commit/5bb8175989ea8c7576d8fb177c68260173a5924c#diff-3bf4bca9d530fc38765d8c9f1c0ae7c8 Bernd, kannst du prüfen ob es damit bei dir funktioniert?
-
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
Suche Mitwirkende für Groovebox Entwicklung
HDMI dran, Audio über USB. Den kompletten Bedienkram (Regler Taster Leds u.s.w.) kann ein kleiner 32bit µC erledigen. Interfaceprotokoll ist dann natürlich Midi, oder moderner OSC. Das kommt dann halt entweder per USB oder Ethernet ins System. Die gesamte Hardware wird wohl nicht das größte Problem werden
musikalischen Aspekte konzentrieren. Da es Plugins sind (für >z.B. Cubase als Kern), sind sie auch einzeln zu testen und beliebig zu >erweitern. Viele Leute nehmen für die Echtzeitprogrammierung von Soundanwendungen "JUCE": https://juce.com/ Das ist zwar nicht so intuitiv wie Phyton ( weil C
-
Thread
STECCY - ZX-Spectrum-Emulator mit STM32
. Da jetzt die Pins etwas knapp werden, würde ich dann bei Verwendung (und nur dann!) I2C und SPI in die zur Verfügung stehenden 8-Bit-Ports mappen, so dass dann bei gleichzeitiger Verwendung der 8-Bit-Ports ein paar Bits nicht mehr zur Verfügung stehen würden, da dann von SPI und I2C belegt
0x7F reserviert. Ich könnte für die 7-Bit-I2C-Adresse einfach das obere Byte 1:1 nehmen. Dann ist es wirklich egal, was da für ein I2C-Device dranhängt. Also: Z80-Port xx7F = I2C-Device mit 7-Bit-I2C-Adresse xx. Damit wäre ein PCF8574
-
Thread
Welcher Treiber zu 7 Segment LED mit Common Anode
Vorwiderstände. Kläre also erst mal, auf welche Art du die Displays verwenden willst (von einem uC wie... soundsoviele Stellen, in Tageslicht, ...nicht nur mit Ziffern, Tastatur auch abfragen...) bevor du einen Chip auswählst.
). Die sind gut bis 24mA pro Segment. Sogar bis 100mA kommst du mit den weiter oben genannten TPIC6C595. Für statische Ansteuerung brauchst du davon dann einen pro Dezimalstelle. Zum Vergleich: ein einzelner TM1637 könnte 6 Stellen. Der oben genannte HT16K33 sogar 8 Stellen.
-
Thread
Probleme hex-File zu erstellen von PIC16F1527(1827)
LATB oder PORTB ins W und nichts kommt rein ins W, Was bedeutet "nichts"? Ich dachte immer ein Bit ist entweder 0 oder 1, "nichts" kommt da nicht vor. MfG Klaus
: Warum wird das SSP1IF-Flag nicht gesetzt (Deswegen bleibt er bei dieser Abfrage hängen). Ich habe alles mögliche probiert und gelesen, weiß nu echt nicht mehr weiter. Mann was für ein Drama mit diesen englishcen Beschreibungen. :) Hier bleibt er hängen: WAITMSSP ;
-
Thread
[C - C++] wohin gehört das #define
Software-Projekte sind Murks? Oder nur AOSP? Das schon. Software-Projekte, bei denen man in einem einzelnen C-File die Übersicht über die darin definierten Makros verliert.
code zu > generieren. Dafür sind Makros schon eher nötig; Bezeichner lassen sich in C++ auch nicht generieren... Rolf M. schrieb im Beitrag #6135072: > Software-Projekte, bei denen man in einem einzelnen C-File die Übersicht > über die darin definierten Makros verliert. Wenn jedes
-
Thread
MC 68331 im E-Piano
wird ua PWRUPRST generiert > auf d Analogb invertiert und dann zum engine board 68331 geleitet.Abfragen der Tasten. Engineboard > µ.proc,flash mem (Arbeitsprogramm) und gr Speicher der sounds. interne Verkabelung (Steckverbindungen)habe ich alle Pins nachgelötet. ebenso habe ich bei jedem einzelnen
Auch wenn /AS anscheinend nicht angeschlossen ist (oder was bedeutet das X im Schaltplan?), muss der µC da nach /RESET = High vier Low-Impulse tätigen, da er mit vier 16bit Zugriffen SP und PC (jeweils 32bit) lesen will. Ich denke nicht, dass sich 68331 und 68000 hier unterscheiden, oder?
-
Thread
Digitales Zahlungssystem für Brettspiel
eigenes Smartphone jederzeit zumindest ihren eigenen Kontostand (und die der anderen Spieler?) abfragen.
Bibliotheken. Für den Geldpot und als Backup (die Karten können auch mal den Geist aufgeben) einen µC mit SD Karte. Es gibt mittlerweile auch brauchbare I2C Vollfarbendisplays mit Touchfunktion, wodurch man sich ein Tastenfeld ersparen könnte, sowie die Karten unkompliziert mit Namen Personalisieren
-
Thread
Gitarreneffekte selber bauen
M4 ARM haben durchaus Befehle deren Resultat in 2 Register geschrieben wird. Das sind mithin 64 bit. [code] ldrd r2,r3,[r0,#0] smull r1,r2,r2,r3 ldr r1,[r0,#8] str r3,[r0,#8] [/code] Daran sollte es also nicht scheitern. Ich zweifle nur daran, dass ein C-Compiler da immer
passenden Zugriffssequenzn parat hat, obwohl ich aus reiner Bequemlichkeit auch so etwas schon in C geschrieben habe. Da war mit aber die Perfomance schlicht egal. [code] tmp = (((long long)co * (long long)s1) >> 30) - s2; [/code] Beim 56002 ist es halt bequemer, weil der 56 bit Akku
-
Thread
vhdl Fragen zum Code
wait until rising_edge(clk); cb <= cb+1; end process; -- Zähler c process (clk) begin if rising_edge(clk) then cc <= cc+1; end if; end process; -- einzelne Bits der Zähler ausgeben a <= ca(2); b <= cb(4); c <= cc(6); end Behavioral; [/vhdl]
-
Thread
Softwareentwicklung im Maschinenbau
haben, halt ihre wünsche nicht ausreichend durchdacht) Wer in Business Applikationen z.B. jedes Bit eines ints nutzt, um sich platzsparend Zustände zu merken, der kriegt in der Welt gewaltig hinter die Ohren, im µC-Kontext mag das ja sinnvoll sein. Das mit den Gettern und Settern hätte ich auch gesagt
Bernd K. schrieb im Beitrag #6118975: > C# soll wohl ähnlicher zu ObjectPascal/Delphi (somit also exotisch) sein > als jegliches C/C++-Derivat. C# hat praktisch nichts mit C, C++, Pascal zu tun. Wenn schon ist C# sehr ähnlich zu Java, da
-
Thread
String über UART an LCD
im Nachhinein > an das LCD schicken kann. > > Aufgrund dessen, dass ich nicht jedes Zeichen einzeln verschicken > möchte, habe ich mir... Bedenke, daß ein UART eine Schnittstelle ist für asynchronen Betrieb. Dort hast du es mit einzelnen Zeichen zu tun, die du auch einzeln auswerten solltest
if C>=0xE0 then Setze Schreibzeiger auf Zeile 0, Stelle C-0xE0, exit; if C>=0xC0 then Setze Schreibzeiger auf Zeile 1, Stelle C-0xE0, exit; if C = 3 then { merke Schreibzeiger in Rettvariable
-
Thread
Programmierer werden
würde ich dir folgende Bücher anraten (beide zusammen): https://www.amazon.de/Java-von-Kopf-bis-Fu%C3%9F/dp/3897214482/ref=sr_1_1?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=java+von+kopf+bis+fu%C3%9F&qid=1578822471&sr=8-1 https://www.amazon.de/Entwurfsmuster-von-Kopf-bis-Fu%C3%9F/dp/3955619869
für Beginner, um einfache bis professionelle Applikationen unter DOS/Windows zu schreiben. C spielte in dem Bereich keine Rolle, C++ erst beim Wechsel zu Windows. C war was für Unix oder Professionelle. Und natürlich auch damals schon, wo es auf Hardwarenähe oder Bit/Bytegeschiebe ankam.
-
Thread
Moduswechsel durch gleichzeitiges Drücken beider Taster
ist eigentlich fast unlesbar. Hier mal ein Beispiel wo die Taster an Port 1.0 und 1.1 hängen [c] if ((P1IN & BIT0)==BIT0 && (P1IN & BIT1)==BIT1) { _delay_cyles(x); if ((P1IN & BIT0)==BIT0 && (P1IN & BIT1)==BIT1) { //tue etwas } } [/c] Das ist eigentlich alles.Ob Du
Beitrag #6104794: > Hier mal ein Beispiel wo die Taster an Port 1.0 und 1.1 hängen > if ((P1IN & BIT0)==BIT0 && (P1IN & BIT1)==BIT1) > { > _delay_cyles(x); > if ((P1IN & BIT0)==BIT0 && (P1IN & BIT1)==BIT1) > { > //tue etwas > } > } > > Das ist eigentlich alles.Ob Du da High
-
Thread
Intex SPA Whirlpool automatisieren
: Digit 4 Zyklus 5: LEDs Zyklus 6. Tastenabfrage Für die Tastenabfrage werden sie wohl ein einzelnes Bit durch die Schieberegister schieben und mit jedem Takt eine der Tasten abfragen. Wenn ich dazu komme, zeichne ich die Kommunikation am WE mal mit einem Logic-Analyser auf.
vom uC > und mein Hardwaregrab ist überflüssig. Genau, das ist auch mein Ziel. Ich will mit einem ESP32 die Datenleitungen auftrennen und einzeln bedienen. Damit kann ich dann auf der Anzeige auch etwas
-
Thread
Vi Editor ausgestorben?
C/C++ Version. Die kann C und C++ von Haus aus.
roots - würde ich mal so sagen. (das wäre dann z.B. Neovim für DOSBox) (könnte man statt Lua den C-Script Support vom Tiny C Compiler benutzen. Aber ach, der ist ja auch so 32 Bit..) Na, alles nicht so einfach.. https://stackoverflow.com/questions/3827370/h Ein T. schrieb im Beitrag #7121897
-
Thread
quartus nios 2 zugriff hdmi
vorausgesetzt, dass man weiß, welche Komponenten man als IP einbinden soll. Muss ich noch herausfinden xD [c] #include "address_map_nios2.h" /* function prototypes */ void video_text(int, int, char *); void video_box(int, int, int, int, short); int resample_rgb(int, int); int get_data_bits(int); #define
>> 16) & 0x000000E0) | ((color >> 11) & 0x0000001C) | ((color >> 6) & 0x00000003)); color = (color << 8) | color; } else if (num_bits == 16) { color = (((color >> 8) & 0x0000F800) | ((color >> 5) & 0x000007E0) | ((color >> 3) & 0x0000001F)); }
-
Thread
Weche Plattform für Smart Home?
lange dauern, >> werde ich meine Raspi updaten können. >> Die Raspi >= 3 Hardware kann sogar 64 Bit, da sieht es somit sehr gut >> aus. > > Ah das 64bit Argument. Wofür? Gibt es ein 64bit Raspbian? Brauchst nicht > googlen, erst seit Oktober. Hat also eine ganze Weile gedauert. Falsch. Der
. Der Raspberry Pi 3 ist eine 64 Bit CPU, deswegen das >=. Beachte > das = in diesem Operator! > Und den Rapsberry Pi 3 gibt's schon wesentlich länger als die 3 Jahre. Die 64bit CPU bringt dir was genau ohne 64bit Kernel? Ach ja.
-
Thread
Pollin DCF77 - Empfangsprobleme anderer Art
Synchronisierung nutzen? Ein Kompromiss wäre, Jahr, Monat und Tag zu nutzen. Das sind ca. 20mal so viele Bits wie eine einzelne Minutenmarke, entsprechend besser sollte der Störabstand sein. Trotzdem würde es auch mit einer schlechten RTC mit ein paar Monaten Funkloch funktionieren.
nur einen vernünftigen Grund für die Interrupt Lösung: wenn alle anderen Pins belegt sind und der uC den Interrupt-Pin nicht abfragen kann.
-
Thread
STM32Cube HAL UART Einstieg
einen Eindruck zu kriegen, wie sowas geht: https://www.mikrocontroller.net/attachment/316790/STM32F103C8T6.ZIP Im Prinzip hast du ja in main immer eine Grundschleife, in der sich der µC dreht, wenn es sonst nix zu tun gibt. Also etwa so: immerzu: mach dies mach das wenn X dann mach Y
nennst du "nichts Einfacheres"? Und du meinst, sowas sei eine Hardware-Abstraktion? Lies mal das: [c] char c; if (RxAvail(UART1)) { c = GetChar(UART1); Char_Out(c, UART1); } [/c] Bei sowas ist ne echte HW-Abstraktion dahinter. Das ist Code, der bei Vorhandensein ordentlicher LL-Treiber
-
Thread
STM32 USB init problem mit Kompaktcode von W.S.
USB with pull-up > SET_BIT(RCC->APB1ENR, RCC_APB1ENR_USBEN); > SET_BIT(USB->BCDR, USB_BCDR_DPPU); Du solltest dein Projekt in compilierbarer Form anhängen, damit wir nicht endlos viele Fragen stellen müssen und damit jemand
den Treiber einfügt, im RAM zwischenzuspeichern, so daß man diese von außerhalb des Treibers dann abfragen kann. W.S.
-
Thread
Schalten eines Tasters
Pull-Up und Pull-Down Funktionen was soll das sein? Was verstehst Du darunter und was hat dein µC damit zu tun?
Puh. Ich weiß ehrlich nicht mehr, was mein erstes Projekt mit einem µC war und wie komplex das war. Es war mehr als eine blinkende LED (wobei alle meine Projekte eine Status-LED am µC bekommen wenn ich einen Pin dafür frei habe). Ich glaube das war gleich "was mit Display
-
Thread
Entwicklung eines RAM mit Interface - Probleme mit der Synthese/Impl.
zwischen C2000 und FPGA als synchron betrachten. Kein Einsynchronisieren nötig, keine Latches, wenige übersichtliche Constraints, nur ein einzelner Quarzoszillator auf der Leiterplatte. Marcel schrieb im Beitrag
Schluss zu sein) nicht erreichbar sein. Man sollte da nicht so optimistisch sein. Wir reden hier vom C2000 EMIF im 16bit ASRAM-Betrieb. Hier hat das netterweise jemand theoretisch durchgerechnet: http://e2e.ti.com/support/microcontrollers/c2000/f/171/t/704812?TMS320F28379D-Theoretical-maximum-read-and-write-speed-of-the-EMIF-connected-to-ASRAM
-
Thread
USB HID mit VB.NET ansteuern
Hi C-HATER, was meinst du über welchen Endpoint?
irgendwo von 2 auf 1 ändern... Oder eben den bereits genannten Workaround nehmen (2x hintereinander abfragen).
-
Thread
Verständnisfrage zum UDS-Protokoll
SLCAN-Protokoll bediene ich über ein Python3 script. Nun habe ich versucht eine einfache UDS-Abfrage durchzuführen. Dabei möchte ich die HW-Versionen des Moduls auslesen. Laut UDS-Standard (ISO 14229-1) verwende ich dazu den Service Identifier (SID) 0x22 alias "Read Data By Identifier") und darin
Du kannst mal zur Übung SID 22 und DID F189 abfragen, das ist die SW-Version. Die ist üblicherweise nur 4 Byte und passt damit als komplette UDS Antwort in eine CAN Botschaft. Damit SingeFrame und kein Flow-Control und keine CF.
-
Thread
MSP430 F5529 Wobbel-Generator
Timer? meinst du Timer B ? Clemens L. schrieb im Beitrag #6035428: > MSP430F55xx_Code_Examples\C\MSP430F55xx_ta1_16.c > MSP430F55xx_Code_Examples\C\MSP430F55xx_adc_07.c https://github.com/noccy80/mspdev/tree/master/reference/MSP430ware/examples/devices/5xx_6xx/MSP430F55xx%20Code%20Examples/C
würde das verlinkte Beispiel ausbauen, Schritt für Schritt: z B Frequenz und Tastverhälnis ändern. [c] #include <msp430g2553.h> #include <stdint.h> #define LED_GREEN BIT6 #define TASTE_S2 BIT3 #define DUTYCYCLE_DIVIDER 5 #define CHANGE_ALL_MS 500 int main(void) { WDTCTL = WDTPW
-
Thread
Taster Entprellung am Attiny 841 und Auswertung
/ PA7 --> T3 > // PA5 --> T4 > // PB1 --> T5 Das ist jetzt keine Raketenwissenschaft, nur ein Bit überlappt sich. In der ISR die 5 Bits in ein Byte einsammeln: [c] uint8_t i = PINA & (1<<PA0 | 1<<PA5 | 1<<PA7); i |= (PINB & ((1<<PB0 | 1<<PB1)) << 1; // ... [/c]
1<<KEY_3|1<<KEY_4|1<<KEY_5) #define REPEAT_MASK (1<<KEY_1|1<<KEY_2|1<<KEY_3|1<<KEY_4|1<<KEY_5) [/c] Setze die einzelnen Bits ein und schaue welcher Unsinn rauskommt. Wie soll KEY1 und KEY2 unterschieden werden? Damit das halbwegs vernünftig wird müssten mindestens Offsets rein, sodass jedes
-
Thread
STM32F103 Wann GOIO_ODR,PIOBSRR und BRR?!
und SBI Befehlen auch, welche der > C-Compiler automatisch einsetzt. Die brauchen dafür keine extra > speziellen Register. so man sich auf einzelne Bits beschränkt.
sogar schneller. Carl D. schrieb im Beitrag #6032103: > so man sich auf einzelne Bits beschränkt. Ja, dieser Vorteil gilt nur für einzelne Bits.
-
Thread
C: Variablen in Bedingungsanweisungen definieren
abgesehen, wo ist der Sinn darin, einen Konstanten Wert in eine Variable zu packen, und drumherum eine Abfrage auf den Wert ebendieser Variable zu machen? Ein [c]printf("1\n");[/c] hätte den (gewünschten) Effekt ebenso.
nicht. Heiko L. schrieb im Beitrag #6027753: > Jetzt kommt Poker: > According to the 1999 ISO C standard (C99), size_t is an unsigned > integer type of at least 16 bit (see sections 7.17 and 7.18.3). > > Was glaubst du, wie groß der ist? Ja und nu? Was hat das nun mit C++ zu tun? mh
-
Thread
Positioniercontroller Hacken
Endlagenschalter. Ich habe mich bereits erfolgreich in den Bus gehängt und einen Dump von einer zyklischen Abfrage erstellt. Mein Logik-Analyzer könnte eigentlich I2C lesen und ausgeben, aber leider nicht sehr zuverlässig. Ich konnte schon das Positionier-Kommando entschlüsseln, bei der Status-Abfrage hat
Stefan schrieb im Beitrag #6016159: > Das sieht eher SPI aus Für mich sieht das eindeutig nach I2C aus. Start/Stop conditions, Anordnung der Clock-Flanken zu den Daten, tri-staten für das NACK/ACK Bit, alles deutlich sichtbar...
-
Thread
Attiny 2313 - mehrfache Abfrage Taster
habe ich 5 Taster zur Eingabe. Dabei ist die Betätigung von 1 oder mehr (max 5) Taster möglich. Einzeln kann ich sie ohne Problem abfragen und mir an 5 LEDs auch anzeigen lasse welcher Taster betätigt wurde. Wenn ich eine Übertragung mit einem Bus machen will, möchte ich wissen welcher Taster gedrückt
schrieb im Beitrag #6010224: > Also bei 5 Tasten ergeben sich 2^5 Möglichkeiten als 32. > Ist ne 5-bit -Binäzahl die du auswerten kannst. und am I2C 8574 sogar auf EINEM Port da muss man nicht mal Bits schieben. Die gedrückten Tasten liegen also alle in einem Byte, das ist doch easy. Aber auch
-
Thread
Unbekanntes Bus System entschlüsseln
Controller auszulesen. Mit einem FDTI-RS232-5V Kabel hatte > ich leider keine Chance, da es keine 9 Bit Datenlänge unterstützt. Ja, aber die meisten µC (AV PIC, STM32 usw.) mit eingebautem UART können das. Ansonsten kannst du ja immer noch einen Software-UART verwenden.
würde daher meiner Meinung nach lauten: - Motor ansteuern -> mit Reihen und Spaltenanwahl (2x 4Bit) oder mit Motoranwahl (6 Bit) - Abfrage Motorstatus (dreht, steht, Fehler, ...) - Lichtschranke abfragen - Lichtschranke zurücksetzen - Statusabfrage der Treiberkarte (eventuell nur ein Live Bit
-
Thread
Billig ds18b20 Fehlverhalten erfahrungen?
nachzuvollziehen? Ja, natürlich. Und was sehen meine trüben Augen? a) Für die Genauigkeit: "+-0.5C accuracy from –10°C to +85°C“ b) für die Wandlungszeit und damit für die max. Messzyklenzahl "Converts temperature to 12-bit digital word in 750 ms (max.)“
accurate to +-0.5°C over the range of –10°C to +85°C."
-
Thread
Hilfe beim Brett von Stirn lösen [Analoge Sensoren Atmega328p]
jedem notwendigen addieren von 720°, es soll halt nur zeitlich so kompakt wie möglich passieren c-hater schrieb im Beitrag #6006901: > Das Problem ist: bei dieser Samplerate kannst du mit dem eingebauten > AD-Wandler nur noch knapp 7 verwertbare Bits erwarten. Ne das kommt leider auch nicht wirklich
hiesse 18.518µs zur Verfügung pro Ablesung... was n bisserl knapp ist vorsichtig formuliert. c-hater kann mich da gerne korrigieren, aber so hatte ich ihn verstanden
-
Thread
Störung Rauchwarnmelder Hekatron
rauskommt. (Hilft bei der inhaltlichen Entschlüsselung natürlich auch nichts, wenn man die tollsten Bits und Bytes sieht.) Wenn ich Manager von so einer Firma wäre, würde ich ja je nach gewünschtem Umsatz jedem zweiten Melder eine Selbstzerstörung spendieren, die nach einiger Zeit die Batterie leersaugt
uC-Developer schrieb im Beitrag #6853406: > Der Wartungstechniker hat bestätigt, dass die > Hekatron-Baureihe mit nur einer Lithium-Zelle einen Passivierungsproblem > hat Das war dem so inhaltlich
-
Thread
Bits shiften - ich verstehe es nicht.
Ziel = 0; if Quelle.bit=0 then ziel.bit=1; und dann einfach 11 weitere ifs. In Assembler sind das je nach Prozessor so ~27 Befehle (3 clr, 12x bit test und bit set). In C etwas mehr zu schreiben, aber ebenfalls trivial
Er wills ja gar nicht in eine 16bit-Zahl haben, sondern in 3 einzelne chars. NegativeOne! schrieb im Beitrag #6004968: > und dabei auf drei 8-bit Variablen verteilen.
-
Thread
STM32F767ZIT: CAN-Probleme
&usedMailbox); } HAL_CAN_ActivateNotification(can->IO.hcan, CAN_IT_TX_MAILBOX_EMPTY); } [/c]
#6008496: > Bei mir finde ich keine Beispiele im CubeMX-Pfad. Wo sollen die sein? Unter Windows: C:\Users\"UserName"\STM32Cube\Repository da sind die Firmware Files und innerhalb der Ordner für die Firmware der einzelnen MCUs gibt es den Ordner Projects und da drin sind dann für verschiedenen Nucleo
-
Thread
Profitiert double von der 32bit FPU?
mit > -fsingle-precision-constant kompiliert Diese primitive Lösung bei der double und float 32bit hat gibt es nur bei den C/C++-Compilern der 8bit PICs und 8bit AVRs.
>> -fsingle-precision-constant kompiliert > > Diese primitive Lösung bei der double und float 32bit hat gibt es nur > bei den C/C++-Compilern der 8bit PICs und 8bit AVRs. -fsingle-precision-constant bewirkt eben _nicht_, dass double äquivalent zu float ist, sondern nur dass Konstanten (auch ohne
-
Thread
Mehrere Attiny's mit 1 Atmega kommunizieren lassen
c-hater schrieb im Beitrag #5993272: > Ich bin sicher: jede einzelne davon hätte man auch mit einem Tiny10 > abhandeln können ... und mehr.
hochpräzise Messgeräte, und welcher Anfänger hat die schon. Dann aber bitte keinen Tiny10, der hat nur 8-bit ADC und keinen Referenzeingang. Und ja, man kann den Tiny10 auch in c programmieren.