-
Thread
RS232 - HEX oder ASCII?
etwas sind z.B: Was für Werte möchte ich übertragen? Was für Datentypen verwende ich für die einzelnen Werte? Wie soll der Frame aussehen? Daten auf Anforderung durch den Master oder sendet der Slave automatisch? Gibt es mehrere Slaves? Dann wird das automatische senden schwieriger...Stichwort
nur eine handvoll Werte, die meisten nach Abfrage vom Master. @Marc: >Also, ich hab das mal so gemacht und es hat sehr gut funktioniert. > | 0x5A | za | xx | yy | zz | DataBlock 0..255 | CS | 0xAA | Das sieht ebenfalls sehr vielversprechend
-
Thread
Suche Projekthilfe bei 5 Achsen Roboterarm mit Schrittmotoren
-1-Nema-17-Geared-Stepper-Motor-1-7A-High-Torque-/231471248219?pt=LH_DefaultDomain_77&hash=item35e4c2f35b Bin aber im Moment noch unschlüssig.
selber zu erstellen, egal in welcher Programmiersprache. Für die Programmierung Deines Arduino nimm C wenn Du das kannst, ansonsten Bascom oder Luna. Ich selber stehe mit C auf Kriegsfuss und programmiere alle meine MC's mit LunaAVR. Eine Alternative für das Projekt wären Schrittmotore gewesen. Für
-
Thread
gleitender Maximalwert - wie umsetzen?
immer aus zwei Samples den Maximalwert ermitteln. Dazu brauch ich nur zwei Byte Speicher, plus ein Bit um "jedes zweite Mal" zu kodieren. Pseudo-Code: [pre] stage (uint8_t input) { old = new; new = input; if (bit == 0) { bit = 1; } else { bit = 0; next_stage(
Kondensator geben und den auf einen freien Analog-Pin legen (also ein Peak-Detector). Nach dem Abfragen den Pin auf Ausgang schalten und den C löschen. Hat den Vorteil, dass immer der Peak des realen Analog-Signals gemessen wird, auch wenn die Samples übersteuert waren. Du brauchst also keinen Buffer
-
Thread
Erfahrungen zum Hausbus
LPC11C24. Da ist in einem einzigen Chip auch der Transceiver mit drin. Gibts hier fuer 2.45€+MwSt: http://de.futureelectronics.com/de/technologies/semiconductors/microcontrollers/32-bit/Seiten/5006541-LPC11C24FBD48
2.45€+MwSt: > http://de.futureelectronics.com/de/technologies/semiconductors/microcontrollers/32-bit/Seiten/5006541-LPC11C24FBD48-301,.aspx?IM=0 > Für erste Versuche ist das Olimex Board sehr gut geeignet: > > https://www.olimex.com/Products/ARM/NXP/LPC-P11C24/ Die LPC11Cxx-Serie ist interessant
-
Thread
Z80 vs. 8085
Mindestens ein Zero-Flag hätte es schon sein dürfen. Man kann ausser dem Carry den aktuellen Zustand abfragen von Akku A (8bit) Akku A + Erweiterungsregister (16bit) Vorzeichenbit A7 Ausserdem kann der Schleifenzähler bei Repeat-Befehlen abgefragt werden.
springen kann. Immerhin bedeutet die Abwesenheit eines Z-Flags nicht zwangsläufig, dass man nur per C-Flag bedingt springen kann. Der 1802 hatte auch nur ein C-Flag, aber eine Vielzahl anderweitiger Bedingungen, wie etwa Akku=0. Auch an anderer Stelle wurde ja bereits offenbar, dass Josef einzelnen
-
Thread
Software_PWM - Verständnisproblem am Beispiel Moodlight - Erlärbär gewünscht
A_KEY_7: { ml.flags = 0; //ml.flags &= ~ML_FLAG_OFF; //das einzelne Bit Nr7 löschen moodlight_wakeup(); break; } Bisher habe ich mich nur mit der Beseitigung der Fehler bis zum beschrieben Stand befasst, so daß dieses
08.03.2012 10:01 siehe Link ganz oben Hoffentlich ist es nicht wegen Stack-Überlauf. LCD-Routines_3.c main_test1.c rc5_3.c moodlight_3.c uart_chr2.c Device: at90s4433 Program: 3366 bytes (82.2% Full) (.text + .data + .bootloader) Data: 100 bytes (78.1% Full) (.data + .bss + .
-
Thread
8-Bit Display Ansteuerung
programmieren. Die sieht nämlich etwas >anders aus ... Bei mir besteht die ganze Initialisierung für 8-Bit-Mode aus genau *vier* Kommandos: 40ms Warten 0x38 Functionset: 8Bit/2line/5x8 Zeichen 8ms Warten 0x0c Disp on/Cursor off/no blink 0x01 Display löschen 0x06 Entry Mode: Cursor inc/Cursor
Wertes fällig. Die einzelnen Nibble können ohne Verzögerung direkt nacheinander geschrieben werden. Noch einmal zur Betonung: das Busy-Flag (BF) immer vor einer neuen Ausgabe abfragen. Im Idealfall entsteht dann keine zusätzliche
-
Thread
PIC18F44k22 (Xtreme low power) stürtzt ab.
>>>RCON Register abfragen Was ist das denn für ein Register ? Freie Pins habe ich nicht mehr, aber SPI ist zum Hauptprozesor angeschlossen. >>>MCLR gegen GND? Sicher? Ja. die MCLR Funktion ist in den Config Bits deaktiviert
ganze nochmal testen. [EDIT] Aber ein Einbrechen der Versorgungsspannung, was einen Reset des uC auslöst, solltets du mit einem Oszi schon messen können. Dann weißt du doch mehr. Wie sensibel ist denn dein BrownOutReset (FuseBit BOR) gesetzt? Gruß
-
Thread
ATmega via LAN / Telnet ansprechen?
vorzugsweise in C. Grüße AVRli...
kann, das war ein guter Hinweis! Lies dir erst mal in Ruhe das Datenblatt durch. Da sind zu den einzelnen Funktionen ausreichend (Pseudo-)C Beispiele drin. Etwas Literatur über Ethernet kann auch nicht schaden. MfG Spess
-
Thread
Anschluss & Beschaltung 74hc595 für definierten Ausgangszustand beim Start
Schritt: shift Clock aus den pull-down-Zustand anheben (pos Flanke) und wieder zurück. also serielles Bit aufnehmen 2 und 3 achtmal. bis das 8-bit-byte geladen ist. Dann latch clock aus pull-down anheben und wieder senken. Damit die daten ans Latch übergeben. 4. wenn OE noch auf high ist, oder pull up
1ms schalten. Aber nur, wenn die Versorgungsspannung für die Relais freigegeben ist, bevor der µC hochgefahren ist ;-)
-
Thread
Der C Standard und wegoptimierte Funktionen
eben das > einfache "&". Nun ja, daß ist mal wieder einer der klassischen Peter-Hacks. Wildes Bit-Geschubse, um am Ende eine Zeile Sourcecode zu sparen. Will man beide Funktionen ausführen, dann schreibt man das einfach hin: [c] bool bfoo = (foo() == 1); bool bbar = (bar() == 2); if
wenn man nicht genau weiß, ob die Funktion sicher ist oder nicht, muss man sie schlicht aus der Abfrage rausnehmen und als normale Funktion mit Rückgabewert behandeln, und dann diesen Rückgabewert auswerten. Man muss nicht jeden Wahnsinn den C bietet auch im echten Programmiererleben mitmachen. Huch
-
Thread
Hammond B3 Clone mit ATMega
upper und lower Manual gleichzeitg anliegen, macht zusammen 8 Zeilen und 16 Spalten = 24 Pinne. Der µC hält nach wie sich die Signale verändern und erzeugt daraus die jeweilige Differenz. Die Daten gehen denn als 1-Byte Nachrichten an den Aux. Aufbau: 1 Bit Taste gedrückt oder losgelassen + 1 Bit upper
zur Verfügung; mit weniger Pins für alle Peripherie passt vielleicht das ganze System in einem einzelnen uC.
-
Thread
Webpage Webserver
"</tr>" "</thead>" "<tfoot>" "<tr>" ); [/c] Die abfrage der aktiven leds kann dann so aussehen: [c] for(int i=0;i<3;i++){ if(st[i]){ plen = fill_tcp_data_p(buf, plen, "Led" ); plen = fill_tcp_data_p(buf, plen, (cont
Hallo, dein Problem ist das du alle Fälle einzeln abfragst aber immer die komplette Tabelle erstellst, dadurch erhälst du natürlich auch nur einen Link. Du musst die Tabelle nur einmal erstellen, und nur die Zeilen die den Link/Button erstellen in
-
Thread
Beckhoff SPS "überlasten"
. Um die Tasks auszulasten reicht auch eine einfache For - Schleife die einfach nichts tut [c] for counter := 0 to counterMax by 1 do ; end_for [/c]
100ns-Ticks abwartet. Mit GETCPUCOUNTER kannst du beim Aufruf des Bausteins die aktuelle Anzahl (64 Bit) auslesen, als Startwert festhalten und in einer REPEAT Schleife GETCPUCOUNTER aufrufen bis die gewünschte 64 Bit Differenz zum Startwert erreicht ist. So hättest du eine zeitgesteuerte CPU-Last.
-
Thread
Arduino mega2560
---------------- avrdude: Version 6.0.1, compiled on Apr 3 2014 at 23:12:16 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch System wide configuration file is "C:\Programme\Arduino/hardware/tools/avr/etc/avrdude.conf"
Ulfuse:w:0xFF:m avrdude: Version 6.0.1, compiled on Apr 3 2014 at 23:12:16 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch System wide configuration file is "C:\Dokumente und Einstellungen\peter\Eigene Dateien\Downloads
-
Thread
BMP180 I2C Problem?
Karl Heinz schrieb im Beitrag #4041973: > [c] > s16 bmp180_get_temperature(u32 v_uncomp_temperature_u32) > { > [/c] dafür ist der Eingangswert wieder ein unsigned mit 32 Bit, der von 16 Bit vom Sensor stammmt.
[c] v_x1_s32 = (((s32) v_uncomp_temperature_u32 - [/c] wieder auf einen signed mit 32 Bit umgecastet wird :-) Ganz ehrlich: Ruhmesblatt ist das alles nicht.
-
Thread
VGA - Fortsetzung
.. c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 .. vga_sync (ok): hsync3 in : .. .. .. .. i0 i1 i2 i3 i4 i5 i6 i7 i8 i9 .. vsync3 in : .. .. .. .. j0 j1 j2 j3 j4 j5 j6 j7 j8 j9 .. hsync3 out : .. .. ..
immer einen Taktzyklus später. Die Signale, welche als Vektoren genutzt werden, werden dabei als einzelnes Bit dargestellt. Bei meinem Font-RAM müssen dem entsprechen die Vektoren für Zeile 0 und Spalte 0, sowie das entsprechende Zeichen bei den Koordinaten (also meine erste Stelle aus dem Display-RAM
-
Thread
Mikrocontroller auslesen
Schreiber schrieb im Beitrag #4039001: > stimmt so nicht, man kann das Bit löschen ohne den Flash zu löschen: Wie geht das?
hiermit nachhole: Das das so einfach geht, bezweifle ich. Wie malt man denn schwarze Farbe auf einzelne Bits? Mit einem Schweineborsten-Pinsel? Schreiber schrieb im Beitrag #4046045: > Das ganze gibts als Komplettangebot von einigen Dienstleistern für viele > µCs zu erträglichen Konditionen (ab
-
Thread
ADC funktioniert nicht
doMeasurement ist nicht deklariert :-) Außerdem: gibt es auf dem AVR wirklich keine Möglichkeit, einzelne Bits als Flags zu nutzen? Und ich finde [c]for(;;)[/c] irgendwie verwirrender als [c]while(1)[/c] auch wenn das 1 Tastendruck mehr ist. Dafür sind [c]return 0;[/c] _nach_ einer ENDLOSSCHLEIFE
int ist 16 Bit gross! Damit halst du dem armen 8-Bitter unnötige Mehrarbeit auf. ein [c] uint8_t doMeasurement; [/c] tuts völlig. >> Außerdem: gibt es auf dem AVR wirklich keine Möglichkeit, einzelne Bits
-
Thread
Problem mit Programmunterbrechung
erklären >könnte.......... Bitte! :) Bitte? Pollen ist neudeutsch (aka englisch) und bedeutet abfragen. Man fragt also den Pin ab und reagiert entsprechend. Je nach Programmstruktur kann die Abfrage direkt im Programmfluß stehen oder in einerm periodischen Timer-[[Interrupt]]. [c] if (PINC &
benutzen kannst, dann ist er vernünftig. > sondern den Pin > jedes mal am ende der Endlosschleife abfragen? Wenn es nur um diesen Pin geht und es um die Fragestellung geht "soll ich den Pin in jedem einzelnen State jedesmal wieder neu abfragen" dann kann man sich dafür entscheiden. Aber wie angesprochen
-
Thread
Firma geizig oder was ist hier los.
das trotzdem berechnen. Dann verhaelt es sich preislich wie folg.... a) 100%, b)77%, c)82% Na mal sehen was morgen bringt... Morgen Meeting der Abteilung...
muss EXPLIZIT ohne Bullshit-Bingo drinstehen, WAS gemacht werden soll. Also Stepper drehen, Tasten abfragen, Schnnittstelle durchklingen, Spannungen messen etc. DANN kann man auch eine sinnvolle Aufwandsabschätzung machen!
-
Thread
I2C Geschwindigkeit
for stable operation */ }/* i2c_init */ [/code] Quelle: http://homepage.hispeed.ch/peterfleury/i2cmaster.zip - twimaster.c Aber der Präprozessoroutput wäre mal interessant. Grüße Oliver
etwa 9,9 > > Kauf Dir ne neue Brille. ändert nichts ... https://de.wikipedia.org/wiki/Vors%C3%A4tze_f%C3%BCr_Ma%C3%9Feinheiten#SI-Pr.C3.A4fixe
-
Thread
Millis in while-Schleife
Serial.println("Code Falsch"); }//Else Beenden } //FOR-Beenden for (int c = 0; c < 6; c++) { if (rightcode2 == 6) { Serial.println("Codeänderung"); Code[c] = NeuerCode[c]; rightcode3++; Serial.println(NeuerCode[c]);
######################################################################################### [/c]
-
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
Erklärung des Programmes/der Software
Maximilian Thümmel schrieb im Beitrag #4015233: > kann mir jemand die einzelnen Befehle von meinem Programm erklären? Quellcodes enden nicht mit *.png! Du kannst C-Code hier einbinden: [pre] [c] C-Code [/c] [/pre] > kann mir jemand die einzelnen Befehle von meinem
[c]=[/c] Zuweisung, weißt der Variable links davon den Wert rechts zu [c]for(;;)[/c] For Schleife, in diesem Fall endlos { [c]if()[/c] If Abfrage: Führt den Folgendem Block bzw. Zeile nur aus wenn
-
Thread
AVR braucht 7us-12us bis in Interrupts ausgelöst wird??
bedingten Sprüngen. Da ich es gerne genauer wissen möchte, wo kann ich deine Aussage für Atmel AVR 8-Bit µC wiederfinden ?
d.h. so lange die Register ausreichen. Bis auf die Temperaturumrechnung ist das auch nahezu reiner 8-Bit Code, entsprechend übersichtlich. Die Verwendung von Assembler war Vorsatz, ich wollte es so. In C wärs vielleicht klüger, keinen 2313 zu nehmen, wird sonst vmtl. knapp. Die Zentrale war in C/C++
-
Thread
IO-link master (light)
Jede Sequenz gibt es in zwei Varianten, einmal lesend und einmal schreibend, der Unterschied ist ein Bit im CKT-Byte. Der Master sendet 2 oder 3 Bytes und das Device antwortet 2 oder 1 Byte. Das weiße OD ist das zu lesende oder zu schreibende Byte. Für die einzelnen Bits in den farbigen Bytes und die Prüfsumme
* Prüfsumme: 0 (ja, tatsächlich!) Dann wird er hochohmig und das Gerät antwortet sofort (< 10tBit): 0x32 (OD): * 5 Millisekunden (kodiert als 0x32, siehe Anhang B.1.3) 0x3c (CKS): * kein Event in der Event-Queue * Prozessdaten sind gültig * Prüfsumme: 0x3c Die beiden
-
Thread
suche MFM-Festplatte bis max 40 MB
das hier ist mal ein Bild vom Bios, wie gesagt ich kann bei C: nur eine Auswahl von 0 - 47 treffen. Markus
Hier http://webpages.charter.net/danrollins/techhelp/0053.HTM steht noch was zur Bedeutung der einzelnen Bytes.
-
Artikel
Pollin Funk-AVR-Evaluationsboard
Neigung zum Prellen. Die auf dem Board vorhandene Hardwareentprellung über einen Tiefpassfilter mit C17 330 nF zwischen Taster und GND erfüllt hier ihren Zweck. 8-Bit Zähler mit RS232-Anschluss. Das Beispiel 2-Bit Zähler soll jetzt ausgebaut werden. Im Detail soll der 8-Bit Zählerstand über RS232 auf
neuen Anzeige erfolgt einmalig zu Beginn des Hauptprogramms (Bsp: led7segment_init). PFA_7segment.c - Die eigentliche Ansteuerung PFA_7segment.h - Die Prototypen für PFA_7segment.c Mit einem Logikanalysator kann das Multiplexen auf den einzelnen Leitungen gemessen werden (wie praktisch, dass am zweckentfremdeten
-
Thread
Probleme beim eintakten von Signalen
davon) auszuführen Einige Beispiele zeigt Tabelle 3. Tabelle 3: Arbeiten mit Vektoren signal a,b,c: bit_vector(0 to 3); -- Deklaration dreier Vektoren c <= a or b; -- bitweises oder auf alle Elemente c <= (’1’,’0’,’0’,’0’); -- Zuweisung als Aggregat c <= “1000“; -- Zuweisung als Bitstring c <=
belegen wollen, dann können Sie das Kommando (others => ’wert’) verwenden (Abbildung 7). signal c: bit_vector(0 to 7); c <= “01001001“; -- diese und die beiden folgenden c <= “0100_1001“; -- Zuweisungen haben gleiche Wirkung c <= x“49“; c <= (others => ’0’); -- allen Einzelsignalen von c wird
-
Thread
Modulplatine für zentrale Haussteuerung - Feedback
sense_power/FM114/SC480/PF219622 hingewiesen. Dann wäre aber sinnvoll, alle Eingänge von nur einem uC abzufragen und z.B. mehrere schmale 16bit-Eingangsmodule zu verwenden.
ganz normaler Betrieb. Da könnte man doch... > die 20 Eingänge über drei 74HC4051 Multiplexer abfragen. Die würden dann > die Spikes von uC fernhalten. Man fragt dann jeweils 3 Taster > gleichzeitig ab und wählt mit 3 Ausgängen eine von 7 (bis 8) > Eingangsgruppen aus. Das spart 14 Pins am uC
-
Thread
Denkfehler mit PCA9536 (Problem)
Gerhard > sorry, das verstehe ich nicht so richtig mit dem stop. Ich muss doch die > Taster abfragen und das bit entsprechend setzen. Wie soll ich das kürzer > machen bzw dichter dran? Seh Dir mal meine kleine Änderung an. So meinte ich das: [c] while(1) { // Hauptschleife
// 0x03 abfrage oberes Temp if (ret == 0) // 0x02 abfrage unetre Temp { // Wenn LM75 ein OK sendet... i2c_start(lm75_r); msb_temp = i2c_readAck();
-
Thread
Pin-Code Abfrage
) auch nur Zahlen sind. Das Stichwort ist hier ASCII-Tabelle. In Einlesen() bekommst du einen acht Bit Integer und machst daraus ein Zeichen. Das geht kürzer: [c] uint8_t key = ....; char zeichen = '0' + key; [/c] Somit müsste auch klar sein, wie man aus einem Zeichen z.B. der Eins wieder die
??? Bit3 ist Bit3, wie soll das mit einem Shift einfacher zu verstehen sein? Der Portpin heißt auch nicht PINA<<3, oder? Pack mal ein paar der Konstrukte in eine if Abfrage mit mehreren Bedingungen. Dann
-
Thread
China SUPER Bauteile-Schnäppchen Thread [V2] Gesperrt
Torsten C. schrieb im Beitrag #4105933: > STM8S003F3P6 (Value line) > 100 pieces/lot, €0,24/piece ob man sich so ein 8-Bit-Teil antun will? Vor allem weil es für ein paar Cent mehr schon aktuelle 32 Bitter
Torsten C. schrieb im Beitrag #4494202: > PB2 ist nicht heraus geführt. > Das kann z.B. stören, wenn man über PB0..7 8 Bit parallel ausgeben will > oder bis auf den letzten GPIO alle benötigt. Danke für
-
Thread
Funk-Dimmer und -Schalter mit ESP8266 - wer will mitbauen?
Basierend auf der 9.2.2 eine "eigene" Firmware ohne zusätzlichen µC. Es werden 2 GPIOs benutzt, LED und Relais einzeln. Damit kann ich versch. Zustände mit der LED anzeigen, z.b. wenn der ESP im AP Mode ist und auf die Eingabe von SSID/Passwort wartet. Update per
Torsten C. schrieb im Beitrag #4025773: > Du Glücklicher! Glück? die habe ich '87 jede einzeln neu eingebaut, im WZ 56 der Rest ungezählt. Torsten C. schrieb im Beitrag #4025773: > Bei mir müsste ich erstmal
-
Artikel
Eigenbau ADC am Raspberry Pi
erkennt wurde Im verwendeten Aufbau wird der Messzeitpunkt durch die Wartezeit zwischen setzen eines einzelnen eines bits des DAC und if-Abfrage des Vergleichsergebnisses eingestellt. bitspezifische Wartezeit für Verstreichen der settling time kapazitätsarmer Aufbau Genauigkeit. Tabelle von 256 Referenzwerten statt nur 8 referenzwerte für die bits
-
Thread
Tastenentprellen während externen Interrupt - ATmega16
Thomas Eckmann schrieb im Beitrag #3985073: > Das ist ein µC-Kurs in der Technikerschule. Im nächsten Schritt wird > wahrscheinlich die einzelne LED zum Lauflicht ausgebaut. Dann sieht > jeder, dass die Interruptabfrage Mist ist. Oder es wird der Taster durch
frage nur Bedingungen ab. So wie das mit der Zeit angedeutet, kann man auch Ereignisbits nehmen und abfragen. Sind sie gesetzt, werden Subnroutinen abgearbeitet und die Bits gelöscht. So ist erst eine erneute Bearbeitung fällig, wenn dises Bit wieder gesetzt wird. Das sind die "Tuwas" Anweisungen. Wenn du
-
Thread
ESP8266 hängt bei gleichzeitigem senden/empfangen
löse oder? Wäre vermutlich der bessere Ansatz, nehme ich an. Ja, der Buffer ist als [c] char Buffer[1024] [/c] definiert bei mir. Habe die Abfragen schon zum Teil auch so probiert, werde den ganzen Ansatz nochmal genau durcharbeiten, und mich die nächsten Stunden ins programmieren stürzen
zugehörige variable auf 1 um sie in der main Abfragen zu können. Soweit so gut. Jetzt treten 2 Hauptprobleme auf: 1) Möchte ich in meinem Hauptprogramm warten bis ein "OK" empfangen wurde mache ich folgendes: [c] while(ok==0) { } [/c]
-
Thread
2 Eingänge abfragen
Nicht einzeln, sondern maskiert abfragen?
entweder > H oder L haben soll geschaltet werden. Dann würde ich dir Vorschlagen, erst einmal jeden Einzelnen der beiden Eingänge /einzulesen/. Und anschließend in einem getrennten Rechenschritt /auszuwerten/. Also etwa so: [c] if (PINB & (1<<PINB6)) e1 = 1; else e1 = 0; if (PINB
-
Thread
Codemanipulation an AVR erkennen
Beitrag #3970796: > so dass es für einen Angreifer nicht so leicht > ist an den original Code des µC zu kommen was soll daran schwierig sein? µC auslesen und disasemblieren, fertig
Auch wenn die Lock Bits und ähnliches nicht perfekt sind, sollte man sie auch nutzen. Je nach µC sind die auch nicht so einfach zu knacken. Wenn der Speicher im µC gelesen werden kann, ist die Verschlüsselung bei der Übertragung
-
Thread
4-wire resistive Touchscreen Schaltung TWI USART-Anbindung ATmega8 Assembler LS-7 LS-8
Hallo Bernhard, du verwendest Warteschleifen zwischen den einzelnen Schritten der Abfrage. Um keine Warteschleifen zu bekommen benutze ich eine Art Ablaufsteuerung für die einzelnen Schritte der Touch-Abfrage. Ein Timer-Irq löst dabei eine Abfrage aus, welcher
1,3V. Für den oberen Wert hätte ich besser gegen 1,8V gehen können, aber da der ADC des XMega mit 12 Bit arbeitet, bleibt mir so noch immer eine Auflösung von 1800 Bit für die y-Koordinate und 2000 Bit für die X-Koordinate übrig. Die Wert der einzelnen Widerstände sind: untere Widerstände: 100 Ohm, obere
-
Thread
Das ewige Ding mit den globalen Variabeln.
änderbar und schrittweise (z.B. durch fest eincodierte statt gemessene Werte) in Betrieb nehmbar: [c] int main(void) { /* init etc. */ while (1) { read_adc(); convert_voltage(); format_stuff(); send_values(); } } [/c] [c] int main(void) { /*
den Wert der Variablen zurück (Optimierung schmeißt den Funktionsaufruf wieder raus (geht das bei C?) und wenn du deinen Code portierst kann du ggf. eine Ersatzfunktion schreiben) Header: [c]int getADCValue();[/c] Source: [c] int ADCValue; int getADCValue(){return ADCValue;} [/c]
-
Thread
suche ic PWM
Atmel µC unter Arduino ist das in 10 Minuten hingeschrieben - ein paar Pin-Abfragen und ein AnalogOut().
falsch verstanden, ich habe es aber so interpretiert, dass das auszugebende Signal eine Folge aus 6/8bits ist, die immer wieder wiederholt wird. @ unwissend: Würde das Ausgangssignal bei a = 0 b = 1 c = 0 d = 1 e = 1 f = 0 so aussehen: [pre] ___---___------______---___------___ ... -
-
Thread
VT100-Terminal (VGA+PS2)
Leo C. schrieb im Beitrag #4283725: > Im Bildwiederholspeicher ist nur für 127 verschiedene Zeichen Platz, > wenn wir ein Bit für ein Attribut nutzen. Also können wir nicht mehr > Zeichen gleichzeitig
8 statt 16 Hintergrund- und weiterhin 16 Vordergrundfarben. Im Attributspeicher hätte man dann 3 Bit für Hinter- und 4 Bit für Vordergrund. So wars gemeint. > Ich hätte da einen Vorschlag: Ich könnte mittels der > MCURSES-Bibliothek, die ich mal verbrochen und hier auf µC.net > abgelegt habe,
-
Thread
Multiplexen von Drehencodern
einen Pull-Up Widerstand. Lohnt sich das wirklich? Ist es nicht einfacher/billiger/kleiner, einen µC mit ausreichend Pins zu nehmen?
gerne, aber ich wollte gerne mit maximal TQFP44 auskommen. Dazu kommen noch: LCD Display, 9 Taster, I2C, UART, 2xPWM... Über I2C sind bereits etliche Ausgänge mit separatem AVR angebunden, insgesamt ca. 70 Output Pins. Die ganzen Eingaben hätte ich gerne zentral an einer Stelle "direkt" abgegriffen
-
Thread
Deklaration von external memory
und auch nicht um Deine Entscheidung, als darum, Dich dahin zu bringen, ein Urteil nicht anhand einzelner Punkte und aufgrund begrenzter Sicht zu fällen. Ob Du C nun ablehnst oder nicht, ist mir gleichgültig. Aber ich wollte Dich anregen dies aufgrund fundierter Kenntnis und Erfahrung zu machen.
dein Funktionen nach avr-gcc ABI. Dann kannst du in der Zufunft ganz easy von Assembler nach C migrieren oder umgekehrt -- und zwar für jede einzelne Funktion wie es dir gefällt. https://gcc.gnu.org/wiki/avr-gcc 3) Lass dir nicht einreden, diese ABI verwenden sei zu ineffizient. Ja,
-
Thread
Cortex M7 zu überzüchtet
Manfred Dillberger schrieb im Beitrag #3955366: > Kann man die noch in C programmieren oder wird hier z.B. Javascript > (Ajax) sinnvoll? ich programmiere sogar 4 x 3GHZ und 16GB Ram mit C(++) Müsse auch nicht das in C eine Begrenzung der CPU Leistung gibt.
einfach nicht genug Information im Datenblatt. Es gibt keine State Diagrams die die Funktion der I2C Hardware komplett genug beschreiben. Es ist ja so dass man zum Beispiel zwischen den einzelnen Ablaufschritten die Status Register lesen muß um einen einwandfreien Ablauf der I2C Statemachine in der
-
Thread
Akku Spannung für 40W LED Lampe Kontrollieren
wieder null und es fängt alles von vorn an. Ist aber mein Fehler gewesen, sorry. Wenn ich eine 10 Bit Zahl speichern möchte, dann kann ich ja keine 8 Bit Variable dafür nutzen. Ersetze das in der Main(). Mach aus dem "uint8_t" ein "uint16_t" [c] uint16_t adc_in; // Akku-Spannung uint16_t adc_poti; // Poti-Spannung [/c] Du kannst den 10Bit ADC-Wert durch 4 teilen, dann bekommst du einen 8 Bit Wert den du in das 8 Bit Timer-Register schieben kannst. [c] pwm_write(adc_poti/4); [/c] > 780 = 12,58V > 830
-
Thread
Zeigt her eure Kunstwerke (2017-2019) Gesperrt Bilder
Hamlib implementiert drei Kommandos vom GS-232 Protokoll: "Waaa eee\r" zum Setzen der Position "C2\r" zum Abfragen der Position "S\r" zum Stoppen des Rotors Als Antwort kommt dann vom Controller für "W" und "S" ein "\r\n" und für "C2" ein "+0aaa+0eee\r" Mehr habe ich aktuell nicht implementiert
Hallo Freunde der Bastelage, hier eine C-NachProgrammierarbeit eines C64 Klassikers. Die Karre fährt und fährt... Das alles läuft auf einem 16bit Kontroller mit Fcy=900kHz bei über 20fps und benötigt 8.5 mA. Um das Display kümmert sich eine