-
Thread
1-Wire und non-blocking code (state machine)
= 0; // stop T0 return; } onwi.pbuf = pbuf; TCNT0 = 256 - OW_BIT_SLOT; } [/c]
natürlich noch BeginCritical() und EndCritical() um Sektionen ohne Interrupt, wie die Übertragung eines Bits. Eine einzelne Bitübertragung läuft also am Stück (sowas wie 80µs), zwischen den Bits oder im 1W-Reset kann der Code aber unterbrochen werden. Mit RTOS kann es also zwischen den Bits zu einem Taskwechsel
-
Thread
UART-Interrupt Problem
wenn "MotorRunning" nicht gleich ein > ganzes Byte einnehmen würde sondern wirklich nur ein Flag (Bit) in einem > Byte? Grundsätzlich ist die kleinste Einheit, die du in C ansprechen kannst immer ein komplettes Byte. Willst du auf einzelne Bits runter, dann musst du mittels | bzw & die entsprechende
und Bit-Abfrage Operationen, wie sie in jedem Programm zu Hauf vorkommen. Nur war bei dir wahrscheinlich Bit setzen bzw. Bit löschen meistens auf einen Port bezogen um damit einen Portpin zu schalten. Aber
-
Thread
mehrere Millis()
. Das wird in der Tastenentprellung benutzt, um die vier Tasten als einzelne Bits in einem Byte zu speichern und zu verarbeiten. Da ist sogar noch Platz für 4 weitere Bits bzw. Tasten. Hast du mein Beispiel mal real ausprobiert? Wie läuft es?
nur eine Bastelei. Das ist deine Beurteilung! Ein Abbild deiner Fantasieren. Ich sage: Ein 32Bit Zähler ist billig. Das verwalten einer Time/Date Struktur ist viel aufwändiger. Also, wenn das billige reicht, dann nehmen wir es doch. ---------- Außerdem redest du schon wieder über C++
-
Thread
Datenempfang in ISR - Welche Strategie?
Experte wrote: > denn int ist auf einem 8Bitter 8Bit breit. Nö. Der C Standard schreibt vor, dass ein int mindestens 16 Bit groß zu sein hat.
Hallo, ein PIC Spezi hier? ich weiss nichtr genau, ob ich in der ISR das BF Bit abfragen sollte oder nicht? Die ISR kommt ja nur, wenn ein Byte da ist. Andere Frage: Was ist mit dem Overflow Bit? Muss das berücksichtigt werden? Wird bei Stau auf der Datenrutsche gesetzt [c]
-
Thread
LCD-Display AV1624 ansteuer Probleme
Wenn man die Daten Bit-reverse anschliesst muss man sie auch Bit-reverse ausgeben. [c] #define DB0_Pin PC7 #define DB1_Pin PC6 #define DB2_Pin PC5 #define DB3_Pin PC4 #define DB4_Pin PC3 #
Bzw. wo liegt mein Gedankenfehler? Zumindest in allen Fällen an denen <Disp_Port> direkt mit 8 Bit beschrieben wird. <Exe_Port> pauschal auf Null zu setzen wird auch nicht zielführend sein. [c] void Write_Data() //0 an erster Stelle im Display ausgeben { Exe_Port=0x00; Disp_Port=0x00
-
Thread
RC Empfänger auswerten, Signal modifizieren und wieder ausgeben
output_cnt=0; ch_ready=3; } else output_cnt++; } } [/c]
Beitrag #2153857: > allerdings tue ich mir noch schwer einen > Atmel zu finden den ich bei "R" oder "C" bekomme... Beim "C" kuft man keine Atmels. Schau dich mal hier um: www.csd-electronics.de Oliver
-
Thread
Anfängerprogramm TimerA MSP430
mit ID und FAST allen anderen Bitkombinationen. Es gibt manche, bei denen man wirklich selber die einzelnen Bits setzen muss, z.B. beim SVS (istbaber vielleicht auch abhängig von der Header-Datei).
& TIMERA0_VECTOR == TIMERA0_VECTOR ) // geht sicher viel besser { // do } } [/c] kann nicht funktionieren, da TAIV Bit0 immer /0/ ist und das untere Nibble des TIMERA0_VECTOR (0x0009) /1001/b ist. Somit ergibt die Abfrage immer /false/. Oder verstehe ich das falsch? Danke aber
-
Thread
Tastenabfrage so OK?
darauf an, was hinter den T... steckt und ob du z.B. eine Entprellung haben willst und um welchen µC es geht. Manche µC können einzelne Pins (Bits) abfragen, andere nur einen kompletten Port. Wenn du letzteren programmierst, hast du mit deiner Methode natürlich eine riesige Codeaktion ausgelöst, statt einmal den Port einzulesen und dann mit einer Maske die einzelnen Bits zu prüfen. Der Zugriff auf den Port ist normalerweise volatile, d.h. der Compiler darf die Zugriffe auch nicht zusammenfassen. Es werden also vier seperate Einleseoperationen gemacht. Für AVRs
-
Thread
DOGXL Fontgenerator (SW+Graustufen)
genommen (die bei anderen Projekten funktioniert). Hier jedoch tut sich gar nichts, ich glaube, dass der uC in der Schleife für das Abfragen des SPI Interrupt-Flags hängen bleibt. Bei mir ist Miso aktuell offen (ohne irgendein definiertes Potential). Könnte es daran liegen? Ein Test mit 10k gegen GND hat
Lass den [c]SPI_PORT |=(1 << SPI_SCK);[/c] mal weg...
-
Thread
Vodafone Webby Webradio
width SDIO 1.1, No CISTPL_MANFID Tuple in FUNC CIS wifi driver :0421 SDIO AU1XXX: 4 Bit IRQ mode SDIO AU1XXX: IRQ between blocks, detect enabled RTL8711_3rdCUT Initialize Power Mode.ps_mode=0, smart_ps=0 RTC TIME GET : 4819080f(00000000:00000f3c) RTC TIME SET : 4d2f5744 saevaDBG
als "IMEI" auf dem Boden des Webby wie etwa in http://cdn03.trixum.de/upload2/6200/6019/f/fbbce9dc1c2a47d4fa6c63598092e25a.jpg
-
Thread
Vieleeeele Eingänge, viele Ausgänge.
kann man den Tastern noch XOR-Gatter spendieren, die - kaskadiert - jede Zustandsänderung an den µC melden und erst dann eine Abfrage der Schieberegister veranlassen (z.B. CMOS 4531).
verwenden. Die Schieberegister kann man übrigens kaskadieren, das ist im Prinzip noch besser als 8 einzelne Chips an nem I2C Bus anzubinden.
-
Thread
erster Mikrocontroller programmieren -> fragen
vielleicht) später mit DMX Ausgang werden. Bis dahin muss ich aber noch viel Lernen was Bascom und µC betrifft.
Preis so niedrig halten wie es geht ;) > [...]oder steckst den µC direkt rein. Okay.
-
Thread
RGB Led mit Musik steuern
mit fastFFT auf dem Atmel wohl auch geht, aber meine fastFFT Versuche unter C liegen min. 2 Jahrzehnte zurück.
Die Farbinfos kommen per 8-Bit-PWM. Beim Arduino also ein einfaches analogWrite(PIN_R, curRedValue); analogWrite(PIN_G, curGreenValue); analogWrite(PIN_B, curBlueValue);
-
Thread
LED Matrix | Atmega8 | C
= ~(1 << OE_PIN); // enable latches again col = (col << 1) & 0xFE; // lets wander through the bits and make sure of a clear LSB row++; // prepare the next scan // limit the matrix to 7 columns if (col == 0x80) { col = 0x01; row = 0; } } [/c] Der Mega 8 hat hier viel zu wenig
ist 0. also sollte die Bedingung heissen: [c] if (col == 0) { col = 0x02; row = 0; } [/c] Es steht dir auch frei, row als Abbruchbedingung zu nehmen, dann würdest du auf 'if (row > 5)' abfragen. Übrigens musst du natürlich den Timer
-
Thread
GLCD Routinen ( KS0108, HD61202 )
soll nie nie sagen. Im Code findest du einige Aufrufe der Funktion _delay_us. Das steht dann [c]delay_us(1); [/c] oder [c]delay_us(2);[/c] Änder die mal alle in [c] delay_us(20); [/c] und schau, was dann passiert. Wenn es damit geht, kannst du dich schrittweise an einen kleineren Wert
zu überschreiben, ohne ihn vorher löschen zu müssen. Hierzu muss lediglich 2 Zeile in der mylcd.c ergänzt werden: //Zeile 513 for (bit=0;bit<8;bit++) { if ((data&(1<<bit))!=0) lcd_set_pixel(x,cursor_y+page*8+bit,BLACK); else lcd_set_pixel(x,cursor_y+page*8
-
Thread
Atmega via Ethernet flashen
Claus wrote: > wenn ich in der eemem.c > unsigned long EEMEM mlTFTPipEEP = IP(255,255,255,255); > einstelle und in der etherflash.c die zugehörige Abfrage auskommentiere > if (sock.DestinationIP != IP_packet->IP_Srcaddr) > dann
16 bit addition gemacht, ohne carry. checksum.lLongAcc = (uint32_t) checksum.nWordAcc.DataL + (uint32_t) checksum.nWordAcc.DataH; return ~(checksum.nWordAcc.DataL); [/c] Im generierten assembler code
-
Thread
Inkrementieren- aber wo ist der Fehler (ATmega8)
Hallo, benutzt Du einen C++ Compiler? In der Überschrift schreibst Du "C-Programm", dann folgen aber verschiedene Definitionen von lcd_write() (mit jeweils unterschiedlichen Parametern), was C++ typisch ist. Hier ist eine
als bei C Programmen. C Programme haben die Endung .c
-
Thread
7-Segment LEDs ansteuern
#7932366: > Die Frage ist, dürfen 12 Arduino-Pins gleichzeitig mit 12×40mA belastet > werden? Die einzelnen Pins schon, aber Vcc bzw. Gnd? Was steht im Datenblatt? Bei gemeinsamer Anode würde hier einen Tiny85 nehmen und 2 solche TPIC6C596 Schieberegister: - https://www.amazon.de/dp/B0DDKF1L3H
hilft einem blutigen Laien ja so richtig weiter. Und **du selber** schlägst dann auch noch einen µC vor. Zur Erinnerung: **wir wissen derzeit noch nicht mal, ob die fraglichen Anzeigen eine gemeinsame Anode oder eine gemeinsame Kathode oder gar einzeln herausgeführte LEDs haben** Wozu also
-
Thread
AD-Kanäle galvanisch trennen
Anstelle des Optokopplers würd ich einen Datentrenner vorschlagen. Für I2C wär der ADuM1250 zu gebrauchen. Oder ADuM5240/5241/5242: Datenbustrenner mit integriertem DCDC-Converter
soll denn schwierig sein ? Z.B. wandelt ein Tiny13 mit hoher Geschwindigkeit so vor sich hin (10Bit !). Der Hauptprozessor löst zum abfragen einen INT aus und der Tiny gibt dann 2 x 8bit des zuletzt ermittelten Wertes aus. Sagen wir 4µs/Byte + 2µs für Bearbeitung der Anfrage würde mit 10µs Deine Anforderungen
-
Thread
Besitz Arduino einen RTC?
nichts über das Format aus. - Wenn man Zeiten in µCs häufiger braucht, dann braucht man sie als 32-/64-Bit Variablen. - Atmel nennt I²C auch TWI. Abweichung von normalen Namen, sind ihnen wohl egal (bei I²C waren es auch noch Lizenzkosten). Aber wenn man einmal abweicht...
im Beitrag #4493895: > Wenn man Zeiten in µCs häufiger braucht, dann braucht man sie als > 32-/64-Bit Variablen. Das ist nicht bei jedem so. Ich könnte mir vorstellen, dass nicht jeder auf einem 8-bitter das ganze in einer 64-bit Unixzeit umrechnet (32-bit ist ja nicht besonders zukunftssicher).
-
Thread
Reichelt: Was ich gerne im Programm hätte
umständlichen Beschaffung und der dadurch entstehenden Transportkosten absieht! Ferner das "Gleiche" für I2C Bauteile Leitungstreiber bzw. Bus-Multiplexer, Interfacebausteine (RS232,USB,1Wire)... ++++ -MAX7311 16Bit-I/O-Portexpander -MAX4572 14fach I²C-Analog-Schalter -IL300 Analog-Optokoppler -TLP504A
einige der gwünschten Bauteile lagernd im Sortiment habe. Um einmal ein paar zu nennen: DS1631 (12Bit I²C-Bus Temp.Sensor), MAX7311, MAX4572, IL300, TLP504, Digitaler Feuchtesensor Sensirion SHT15, Drehimpulsgeber Typ PEC12 und noch ein paar Kleinigkeiten. Vorbeischauen lohnt sich: http://cctools.hs-control.de
-
Thread
CDC für xmega
CDEFS += -DBOARD=BOARD_$(BOARD) -DARCH=ARCH_$(ARCH) [/c] bye woodym
before 'USB_EP_t' main2.c:105: warning: ignoring #pragma GCC optimize main2.c: In function 'Config32MHzClock': main2.c:112: error: 'NVM_PROD_SIGNATURES_t' has no member named 'USBRCOSC' main2.c:116: error: 'OSC_RC32MCREF_USBSOF_gc
-
Thread
Prüfsumme berechnung
identifizieren, der Tuner quittiert den Befehl mit dem Zählerwert: Beispiel: Prozessor sendet: c0 0 2 4 1 2 1 0 0 0 1 1 5b c0 Tuner antwortet: c0 0 2 84 1 0 11 c0 Da ich diese Kontrolle nicht brauche/nutze, ist es relativ egal, was für ein Zählerstand vorn steht. Tatsächlich sind die Werte
eine Flechter Sum, und die beiden Resultate werden mit XOR verknüpft. Du brauchst zwei unsigned 8-Bit Zähler (A und B). In A summierst du jedes Eingangsbyte auf (modulo 256) in B den jeweiligen Wert von A. Am Ende noch A XOR B, das ist die Checksum. [c] #include <stdio.h> #include <stdlib.h>
-
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
Zuordnungstabelle
Frage, wie adressiere ich so eine Tabelle am besten bzw. wie gestaltet man da einen Zugriff darauf in C? Ich habe daran gedacht, einen Array zu erstellen, mit je 1000mV eine Zeile und darunter dann einzelne Spalten je nach untergliederung. Aber der Zugriff ist für mich ein Rätsel, klar man könnte mit
erzeugt [C] #define ANZAHL_ABSTUFUNGEN 3 struct TableEntry table[ ANZAHL_ABSTUFUNGEN ] = { { 330, 5 }, { 500, 10 }, { 700, 4 }, }; [/C] Jetzt ist beisammen, was zusammen gehört. [c] //umwandlungsfunktion
-
Thread
Arduino DMX 256 Kanäle als Paket senden
; // DMX Bit periods per timer tick bitsLeft >>=2; // 25% CPU usage [/c] Er nutzt hier BEWUßT nur 25% der CPU-Zeit für die DMX-Generierung! [c] while (1) { if (dmxState == 0) { // Next
(12); dmxSendByte(0); [/c] [c] } else { // Now send a channel which takes 11 bit periods if (bitsLeft < 11) break; bitsLeft-=11; dmxSendByte(dmxBuffer[dmxState-1]); } [/c] Er sendet
-
Thread
Stromsparen und Atmega8?
noch getaktet. All diese Wartezeiten machen den Hauptteil deiner Applikation aus. Übrigens: [c] ISR(TIMER1_OVF_vect) { TCNT1H = 0xE1; // Reload des TCNT1L = 0x7C; // Timer- Register [/c] Dafür haben dir die Atmel-Ingenieure einen CTC-Modus in die Timer
Mikrocontrollern streng definiert Datentypen aus stdint nutzen, unsigend short int kann 8 oder 16 Bit sein, einer der vielen Diffusitäten von C. ADC lesen mit Zugriff auf ADCW Die Aufgabe ist LOCKER mit einem 8-Bit Timer lösbar, der wertvole 16 Bit Timer 1 muss hier nicht verplempert werden. Wenn
-
Thread
Port lesen/schreiben
Hei, Microchip PIC32MX795F512L bei diesem µC haben die Port's 16 bit. Die Hardware teilt sich den Port Bit 0 - 7 als Byte und Bit 8 - 15 als einzelne Bits, sowohl als Ein- und Ausgang. Welchen Weg muß ich einschlagen, wenn ich Bit 0 - 7 neue
Hei, Zur Sicherheit werde ich dann den Buffer als struct anlegen und mittels if / else die 8 Bits abfragen und im Ziel entsprechend setzen/löschen Damit erübrigt sich dann das einlesen, maskieren ... und kann gezielt auf die unteren bzw. oberen 8Bit des 16Bit Port zugreifen Vielen Dank für
-
Thread
Interrupt mit ATTiny15
[/pre] unsinnig, da es das gleiche macht wie "sei" zwei Zeilen weiter. Und warum setzt Du das PUD-Bit? Was hängt denn an dem Pin überhaupt dran?
Taster jetzt nur noch alle paar zig ms abfragt, ist das kein Problem mehr, weil man nur bei jeder Abfrage schauen muss, ob sich der Zustand des Tasters gegenüber der letzten Abfrage geändert hat. Und kein Mensch schafft es, einen Taster so zu drücken, dass der Kontakt weniger als einige 10 ms geschlossen
-
Thread
STM32 direkter Port zugriff
anzusprechen? Also in etwa so: [c] GPIOE->GPIO_Pin_3 = *ptr++; [/c] Oder kann ich auch einfach auf den ganzen Port ein 16bit Wort legen, wobei eben nur die Bits durchkommen, wo der entsprechende Pin auch auf Ausgang geschlaten ist
du kannst den gesamten Port, oer nur ein Teil davon gleichzeitig schreiben, man muss nicht jedes Bit einzeln ansprechen! Port komplet setzen [c] GPIOA->ODR = (GPIOA->ODR); [/c] nur das obere Byte eines Ports setzen [c] GPIOA->ODR = ((GPIOA->ODR & 0x00FF) | (((uint16_t)datenbyte)<<8) );
-
Thread
dht11 Mikrocontroller T89C51CC01 Familie 8051 Keil Uvision 4
der µC 'stirbt'. Dann noch: Das Programm ist ja irgendwo her, scheinbar aber nicht von Dir selber geschrieben? Die Funktionen timer1()/timer2() scheinen das Laufzeit-Kriterium der Bits bzw. Pausen zu
Selber habe ich Das so angegangen, daß ich einen Timer mitlaufen lasse und diese Laufzeit bei jedem Bit speicher - in Deinem Code wäre Das das c = (c<<1)|(0x01); bzw c = (c<<1); Wenn der Zähler überläuft, habe ich einen Fehler und dieses Auslesen ist beendet, sonst wird bei Low-High-Flanke der Timer
-
Thread
stm32 Pin im laufenden Programm aktivieren/deaktivieren
Alle Interrupts können auch so einzeln deaktiviert werden: [c] NVIC->ICER[0] = 0xFFFFFFFF; NVIC->ICER[1] = 0xFFFFFFFF; NVIC->ICER[2] = 0xFFFFFFFF; NVIC->ICER[3] = 0xFFFFFFFF; NVIC->ICER[4] = 0xFFFFFFFF; NVIC->ICER[5] = 0xFFFFFFFF; NVIC->ICER[6] = 0xFFFFFFFF; NVIC->ICER[7] = 0xFFFFFFFF;[/c] Jedes einzelne Bit ist ein Interrupt, der Cortex-M3 hat bis zu 256 Interrupts, daher sind es 8*32 Bit. Wie Du den vorigen Zustand sicherst und den Interrupt wieder aktivierst bekommst Du sicher
-
Thread
SmartCard - wer kennt sich aus?
einschieben schneller geht, als Username + Passwort eintippen, die erwähnte spätere Anwendung mit µC garkeine Tastatur hat, die User ständig die PWs vergessen. Oder, oder... ;-) frank
lassen... Eine spezielle Serie der SLE4428 hat einen undokumentierten Fehler innerhalb der PIN Abfrage, welche auch bei falscher PIN einen Schreibzugriff ermöglicht... Da gibts genug offene Fenster :-) MfG. Mario
-
Thread
C: Kann man mittels #define einen Wert zurück geben?
: [c] p_myarray = static unsigned myArray[256]; myFoo(myArray, 256) [/c] Wenn DU etwas zurück haben willst, brauchst Du schon eine Funktion.
Nachdem der gcc ja auch C++ kann, wäre es zumindest eine Überlegung > wert? In C++ gibt es dafür std::array
-
Thread
DCF77 Signal: in Dec umwandeln
dcf_Minute; sekunde = 0; is_dcf_ok = 1; } } } [/c] Da selbstverständlich die Abfragen mit IF jede Menge speicher kostet, würde ich dies sehr gerne etwas "anders" machen. Hat jemand einen kleinen Tipp parat?!
(also die volle Dröhnung), d.h. die einzelnen Fälle unterscheiden sich nur in der Anzahl der Bits für dir Zehner. Auch gibt es (natrülich) einen Zusammenhang, wo die Zehner-Bits anfangen, wenn man den Index der Einer Bits kennt. All das
-
Thread
AT91SAM7S; Register in C?
Hallo, wie kann man bei dem AT91SAM7S in der Programmiersprache C ein Register ansprechen oder abfragen? Ich verwende die IAR Embedded Workbench. Ich möchte am Schluss den ADC (Analog-to-Digital Converter) starten wobei ich in das Register ADC_CR schreiben muss,
einen Wert( z.B.: 1 ) zuweisen bzw. dieses Register auslesen. Ich will es auf der IAR Workbench in C programmieren allerdings tauchen bei mir immer Fehlermeldungen auf da ich nicht weis wie es funktioniert. Vielleicht kann mir ja jemand den Programmcode zum Belegen oder Auslesen eines einzelnen Bits
-
Thread
Kommunikation zwischen 120 Arduinos mit möglichst wenig Verkabelungsaufwand
dann zu jedem Zeitpunkt welches Objekt vorhanden ist und wo es zu finden ist. Mehrere Reader pro µC wären theoretisch möglich, allerdings würde das die Flexibilität etwas einschränken, da die einzelnen Lagerplätze je nach Objekt eine unterschiedliche Größe haben und damit auch einen unterschiedlichen
geben. Wenn die Kabel nicht zu lang werden dann könnte man auch mehr als einen Reader an einen I²C Bus hängen. Voraussetzung: Sie haben verschiedene I²C Addressen, da gibts aber oft einstellbare Bits.
-
Thread
Fehler im Programm
genau ist das ? @ andreas ich verwende den at89S8252 mh ich versuche jetzt mal das mit einer abfrage weil sonst geht es ja unendlich so weiter
Aktuallisierten (hochgezählten) Wert zu einem Unterprogramm schicken (Binär zu BCD) und dem die einzelnen 4 Ziffern ermitteln lassen. Diese einzelnen Ziffern sollten in 4 einzelne RAM-Bytes gespeichert werden. Also 1 Byte für die 1000´er-Stelle, 1 für die 100´er-Stelle, 10´er
-
Thread
PAL Kopieren
Wincupl formatierte ausgabe Serial.print("/t'b'"); for(int i = 0; i<10; i++){ //jedes bit einzeln schreiben Serial.print(bitRead(ausgangszustand, i)); } Serial.print("/t=>/t'b'"); for(int i = 0; i<8; i++){ //jedes bit einzeln schreiben Serial.print
einem für WINCUPL Fertigen Code über die Serial ausgibt. -Ich habe ein kleines Konsolenprogramm in C++ geschrieben welches in zwei Teilen Funktioniert: -1. PAL Auslesen, nach der abfrage welcher Comport und welchen Dateinamen die ausgelesene .pld Datei haben soll sendet das Programm eine „1“ an den
-
Thread
UART strings einlesen
gibt viele Fehlermöglichkeiten. Angefangen von einer falschen Baudrate, einer falschen Taktrate des µC bis hin zu einem falsch ausgekreuzten seriellem Kabel. Nicht immer gleich mit den komplizierteren Dingen, wie der Übertragung einer ganzen Zeile (bestehend aus einzelnen Zeichen) anfangen. Erst mal
"'\n" ); } [/c]
-
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
Frage zum Frequenzmultiplex bei Modulation Gesperrt
schiebt einen Schwingkreis in Wobblermanier über den interessierenden >> Frequenzbereich. >> >> C rechnet. >> >> Allen drei wird jetzt eine steile Flanke vorgesetzt. >> Die Fragerei geht dahin was die einzelnen Typen anzeigen, erstmal ob sie >> Gleiches anzeigen und dann ob alle was anzeigen.
Kurt B. schrieb im Beitrag #4257094: > Nimm jeden einzelnen Buchstaben/Satz/Abschnitt der dort steht und setze > ihn her. > Dann bereden wir jeden einzelnen Buchstaben.... A...Arroganz B...Besserwisser C...Chaot (nicht j.T.) D... **** ...
-
Thread
Quick&dirty - schnelle Problemlösungen selbst gebaut Bilder
Victorinox-Händlerin nachgefragt, sie hat daraufhin ein Ersatzteilekatalog rausgeholt und gesagt, was man so alles einzeln nachbestellen kann. So habe ich nun den roten Halter mit Grundausstattung an Bits, die Ratsche und das Verlängerungsstück einzeln gekauft. Ein Paar Wochen Wartezeit war dabei, auf Lager hat sie
einige nicht glauben wollen und daher einen Doppelblindtest empfohlen haben. Das Tool hab ich mir in C# schnell zusammengecodet, und dabei mal wieder festgestellt, dass die persönlichen Programmierfähigkeiten in C# maßgeblich davon abhängen, wie gut man im Googeln ist. Das Tool sendet nur einzelne Commands
-
Thread
Die Illusion von Fortschritt im Bereich IT
Tja, Maßanzug vom Herrenausstatter, perfekt abgestimmt auf den eigenen Ranzen oder halt C&A Anzug von der Stange, one-size-fits-all.
beschwert, der hat noch nie einen Amiga 500 mit Workbench 1.3 von > Diskette gebootet. oder einen C64 mit Geos...
-
Thread
Pin setzen und löschen über Funktionsaufruf in C
Hallo, ich hab mal wieder ein Brett vorm Kopf und bitte um Abhilfe. Folgendes, ich möchte gezielt einen einzelnen Portpin setzen. Vorzugsweise mit einem Befehl wie z.B. i = 0; //oder eben i = 1; PA7 = i; (geht so in der Form natürlich nicht, ist mir schon klar). Ich könnte natuerlich einfach eine if-Anweisung schreiben die den Variablenwert abfragt. if(i == 1) PORTA |= (1<<PA7); else PORTA &= ~(1<<PA7); Aber genau diese Anweisung möchte ich eigentlich vermeiden. Geht sowas überhaupt? Derzeit ratlose Grüsse, Rüdiger
-
Thread
Menüstruktur unter Bascom
Das ist meine Dipl Arbeit mit menüführung Ist aber in C
verwirrend ineinander verschachtelt. Bei diesem Projekt ca. 80%, der Rest ist 7 verschiede DS18S20 Abfragen und ziemlich viele Berechnungen, aber nur alle 5s - 100s. Vorteil: meist schnell in der Abarbeitung, da der µC oft nur 2 Bedingungen prüfen muss, >>> was neues Anzuzeigen?, Eingabe erfolgt? NEIN
-
Thread
FPGA-Funktion I2C-Slave VHDL
nur CPLDs ein und programmiere die in Abel. Die Anbindung an einen MC würde ich aber nie mit I2C machen, da zu viele Macrozellen dafür draufgehen würden, sondern entweder als memory mapped IO (8Bit Latch) oder als SPI (einfaches Schieberegister). "VHDL Programme zu schreiben ist mit einem größeren
auftaucht. Die Fehlermeldung "No default binding for component..." sagt mir eigentlich, dass der i2c_slave.vhd nicht (erfolgreich?) in die Library WORK compiliert wurde. Bekommst Du eine Fehlermeldung wenn Du i2c_slave.vhd einzeln compilierst ?
-
Thread
PIC-Interrupt für Timer0 und Timer1
Compiler ist Hi-Tech C Compiler (aufgerufen von MPLAB IDE 7.10) und PIC ist 16F873A
Hallo, du mußt bei einem Interrupt die einzelnen Bit´s abfragen, ob sie gesetzt sind um dann zu verzweigen. Wenn du mit deiner Routine fertig bist, sind die entsprechenden Interruptbit´s (TMR0IF, TMR1IF) zu löschen. Das muss man Softwaretechnisch
-
Thread
Möglichst kleinen Hash erzeugen?
die Verschaltung des Kabels, indem ich in zwei verschachtelten Schleifen einmal alle Kombinationen abfrage. Dabei wird nur geprüft "Verbindung Ja oder Nein". Für das Ergebnis setze ich in einem uint_32 Array das der ensprechenden Leitung zugeordnete Bit, falls eine Verbindung besteht. Das befüllte Array
... [/c] wobei n die "Stellung" des Sendemuxers ist und die Position des zu setzenden Bits im die Stellung des Empfangsmuxers wiederspiegelt. Nun kam mir in den Sinn, es wäre ganz schön wenn ich im EEprom
-
Thread
16-Bit AD/Wandler bis Abtast-f von 100 khz
Hallo µC Gemeinde, ich benötige für mein Projekt(Atmega32@8Mhz) einen 16 Bit A/D Wandler mit einer Abtastrate von 100kHz. Das abzutastende Signal besteht aus +-5V. Eine saubere Null muss gewährleistet werden
kann man das ganze Ding sich immer noch (automatisch) kalibrieren lassen. Sollte man bei 16Bit sowieso in Erwägung ziehen. Achja - ich würde so rein vom Gefühl her - einen größeren uC verwenden.