-
Thread
MSP430 Frage zu ADC
ADC-Puffer ADC12MEM0...ADCMEM16. Wenn Du es nicht anders einstellst, landet die Wandlung eines einzelnen Kanals immer im ADC12MEM0, egal, welchen Kanal Du wandelst. Sofern das Ergebnis in einem anderen Puffer landen soll, dann ist das in ADC12CTL1, Bits 12-15 einstellbar. Bei Sequenzen steht in diesen
[quote] szimmi schrieb: Wenn Du es nicht anders einstellst, landet die Wandlung eines einzelnen Kanals immer im ADC12MEM0, egal, welchen Kanal Du wandelst. Sofern das Ergebnis in einem anderen Puffer landen soll, dann ist das in ADC12CTL1, Bits 12-15 einstellbar. [/quote] und wer schreibt
-
Thread
Combinatorical Loop Found
end if; -- if sDspCsN = '0' and sDspRwN = '0' then end if; -- if rising_edge(iSysClkC) end process; [/vhdl] Die Case Anweisung weist die Daten einzelnen Registern zu. Hat sie keinen Treffer, wird das sAccessViolationWr Flag gesetzt. Anschließend kommt eine For Loop, die weitere
'0' then -- write access end if; -- if rising_edge(iSysClkC) end process; [/vhdl]
-
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
20Euro Embedded System mit ARM, 128MB ram und 256MB Flash
. Gibt es auf dem Board nicht auch zwei GPIOs? Die könnte man vielleicht per Bit-Banging als I2C Interface nutzen.
http://en.wikipedia.org/wiki/I%C2%B2C#Example_of_bit-banging_the_I2C_Master_protocol
-
Thread
1-wire, onewire - Lesefehler bei längerer Leitung
www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-800.html Das ist ein I2C-1wire Master, den Du dan den I2C von Deinem Pi anschließt. Der hat 8 einzelne 1wire-Ports. An jeden kannst Du dann einen Sensor anschließen. Vorteil 1: Dadurch, dass nur ein Sensor an einem Port dran
auch nicht mit 100 kHz und höher übertragen werden. Was bei einem Timeslot von mindestens 60µs pro Bit ohnehin nicht so ganz einfach ist. 1-Wire mit I2c verwechselt?
-
Thread
Datenverarbeitung einer CSV Datei
ja so aus: Timestamp, SpannungSensor1,SpannungSensor2, ... Gibt es einen Weg (zum Beispiel in C#, bevorzugt aber im LabVIEW) diese Daten aus den Zeilen einzeln auszulesen. Also immer bis zum nächsten ","?
. Grafana als grafische Oberfläche auf. InfluxDB unterstützt auch die Datenkomprimierung bei der Abfrage oder um alte Daten zu packen. CSV kann man natürlich auch einfach in C# verarbeiten, Zeile lesen und mit split String Funktion in Teile zerlegen lassen. Nach Beispielen googlen dürfte reichlich
-
Thread
CMOS oder TTL?
laufen um die einzelnen Bits über Leds zu erkennen. Das ganze soll nicht wirtschaftlich oder irgendwelchen Nutzen haben sondern nur veranschaulichen. Dabei will ich etwas dazu lernen und wenn es fertig ist, soll es anderen
dabei in Zeitlupe laufen um die > einzelnen Bits über Leds zu erkennen. Das ganze soll nicht > wirtschaftlich oder irgendwelchen Nutzen haben sondern nur > veranschaulichen. Dabei will ich etwas dazu lernen und wenn es fertig > ist,
-
Thread
Raspi Pi Pico schnell genug um 4Mhz Z80 zu sniffen?
also den Output vom ROM Modul) und in ein 16 KByte Array schreiben. Dazu muß ich die unteren 14 Bits der Adresse auslesen und die 8 bits vom Datenbus lesen. Das ROM ist immer im Adressbereich C000-FFFF, also muß ich mir die oberen beiden bits nicht merken und komme mit 16Kbyte klar. Ich habe jetzt
Christoph L. schrieb im Beitrag #7599210: > Dazu muß ich die unteren 14 Bits der Adresse auslesen und die 8 bits vom > Datenbus lesen. Das ROM ist immer im Adressbereich C000-FFFF, also muß > ich mir die oberen beiden bits nicht merken und komme mit 16Kbyte klar. Das was
-
Thread
PORT/Register Beschreibung in AVR
hat, eingebette systeme haben nicht unbedingt etwas mit avr zu tuen, zur erinnerung AVR ist eine 8-bit microcontroller familie von atmel die unter avr-gcc compiler in c zu programmieren ist wobei der gcc seine eigene interpretation besitzt...grusse
einzelne Bits in einem Byte oder Word setzen und löschen. Und das geht in C immer gleich. Und eine 0 zu schieben ist in jeder Programmiersprache und auf jeder Architektur sinnlos, Herr Ingenieur.
-
Thread
RISC/V kommt in Schwung
Es geht ja auch nicht nur um einen einzelnen Befehl, sondern um den Befehlssatz und dessen Effizienz insgesamt. Zum Beispiel ist 64-Bit Arithmetic auf einem 32-Bit RISC-V umständlich: [code] int64_t add64 (int64_t a, int64_t b) {
also nicht über einen zentralen Takt verfügen. Abgehoben hat das bisher nicht. Von einem asynchronen C-Flag habe ich nicht gehört. Es gab allerdings einen 32-Bit Prozessor, der sein Ergebnis in 3 Stufen lieferte. In der ersten Stufe die unteren 16 Bits, in der zweiten die oben 16 Bits und in der dritten
-
Thread
PT100 und Raspberry Pi
> NTC nehmen mit einem 10k Seriewiderstand. Das blöde ist: die sind so ungenau, die muss man einzeln kalibrieren wenn es genauer als 5 GradC werden soll.
NTC nehmen mit einem 10k Seriewiderstand. > > Das blöde ist: die sind so ungenau, die muss man einzeln kalibrieren > wenn es genauer als 5 GradC werden soll. Fuer mehr Geld bekommst Du bessere Genauigkeit...
-
Thread
Haussicherung mit Raspberry veranschaulichen und steuern
mich erst registriert habe und die Bestätigingsmail auf sich waren lässt. Was haltest du von 32 bit Port-Expandern/Schieberegistern? Dann könnte ich 2 32bit Schieberegister nehmen. Eines als Ausgang und eines als Eingang und hätte nur 10 Kabel zum Raspberry Pi. Wenn meine überlegung stimmt.
Stefan U. schrieb im Beitrag #4994730: >> Da ich 2 der 32 bit Schieberegister brauch, wäre das dann nicht so? > > Nein, Schieberegister kann man verketten. Auch die Ein- und Ausgänge vermischen? Dann mach ich es auch wie auf dem Bild. Mehrere 8bit Schieberegister
-
Thread
Wie programmiere ich das am besten.
Einfachheit und Variabilität wegen die Module wie folgt ansprechen: [c] unsigned int buffer; buffer = Read_16bit_DI(1); // Lese die 16bit-Eingänge des ersten Moduls Typ 0x13 Copy_16bit_DO(2, buffer); // Kopiere buffer nach Ausgänge des zweiten Moduls Typ 0x82 [/c]
Read_16bit_DI(char position){ char temp, adresse; if(modul_0x13 >= 1 && position >= 1){ temp = (modul_0x13 + position) - 2; } adresse = modulpos[temp]; //.... } void Copy_16bit_DO
-
Thread
enc28j60 LanController initialisieren auf ARM7
typedef unsigned short u16; eProfi schrieb im Beitrag #1944911: > Hast Du als Grundlage eine 8-bit- oder eine 16-bit-Implementierung? Ich habe beides... [c] //Definition der Board Pins - 16Bit //Port0 #define BUT_1_Pin 0x0001 //P0.0 #define BUT_2_Pin 0x0002 //P0.1 #define I2C0
} else if (x==0){ GPIO_BitWrite(GPIO1, LAN_CS, 1); // CS low } } [/c] aus der enc28j60.c Datei. s.o. >Bit 1 >MSTR: Master/Slave Select. >0: BSPI is configured as a slave >1: BSPI is configured as a master warum
-
Thread
aus mehrere Timer nur ein Timer aktiv
; } //->Ab dieser Stelle wieder alle Timer aktiv (weiterzählen) ... ... [/c]
>Du wolltest wissen, wie Du einzelne Timer abstellen und anschließend mit >gleichen Zählerstand weiterlaufen lassen kannst. genau das war meine Frage :-D >Du klemmst dem Timer den Prescaler ab (mit den CSxx Bits) >und er bleibt
-
Thread
AVR Assembler-Frage
das andere soll ein Bit (in > einem dritten Register) gesetzt werden. Hmm, also doch vorzeichenlos? Dann ist aber das C-Flag richtig.
Interrupt statt Overflow? Im Simulator im AVRStudio kann man sich schön ansehen, wie lang die einzelnen Bits sind. Ich bin grad an der 10Bit-PWM. Allerdings wird mir das in Assembler langsam zu mühselig. Ich werd daher nur die Interrupts in Assembler machen und die Mainroutinen bequem in C. Dann
-
Thread
LCD Display Seriell Ansteuern
wechseln das IST software SPI ;) (mit 2 Leitungen und dauernd aktivem Slave) weil DEINE Software die Bits 'rausschiebt' Und meine Dateien sind nitch wirklich Overkill, du brauchst nur Kleinigkeiten zu ändern: in der .c-Datei: - die erwähnte spi_put_byte Funktion, Muss nacheinander 8Bits augeben und
das Datenblatt für den MSP lesen ;) - die Delay Makros ändern, du kannst ja das display nicht abfragen, wenn es keine Rückleitung gibt. hth. Jörg ps.: es ist dem Quellcode egal, wenn du einzelne Funtionen (noch) nicht nutzt ;)
-
Thread
Udoo Quad // Programmieren einer Dartscheibe
werden, haben wir einen Durchgang zwischen A0 und B0. Wir bekommen es einfach nicht hin, die einzelnen "A"s und "B"s für eine Mehrfach Belegung abzufragen.
. möglicherweise aber an den Ports (Arduino-Kompatibel ???) oder an der "Dart-Matrix" bzw. deren Abfrage. Logik-Analysator ist euch bekannt? Ich frage nur, weil Google scheinbar nicht bekannt ist ...
-
Thread
PC Programmierung auf unterster Ebene
Hier im Forum gibt es doch einen Thread über das z180 Modul. Alternativ gab es in der c't mal eine Serie über die x86 Chips wie Keyboard-Controller usw. Auch einen x86 Einplatinencomputer gab es da.
grundlegende) Programmiertechniken ganz gut selber erarbeiten, indem man sich verfügbare Sourcecodes (auch in C, OO C, oder Pascal) anschaut. 64 Bit Programmierung ist nicht sehr viel anderes als 16 Bit Programmierung, nur eben mit ein paar Änderungen. Was man auch noch braucht, wäre das ein oder andere (aktuell
-
Thread
Microcontrollerwahl
an und denk daruber nach ob 10-bit (1024 steps) Sollte z.B. die Temperatur gemessen werden, dann ist ein 12-bit eine Verschwendung, die Sensoren haben typ. schlechter als 0.1 C Genauigkeit und 10 bit decken dann 100 Grad mit 0.1 Grad
mein vorschlag: ein PIC18Fxxx mit 2 UARTs, hat aber auch nur ADs mit 10bit. aber wenn du bei Microchip sowieso samples bestellst, kannste ja gleich noch ein paar 12bit-I2C-Temp-chips beilegen lassen, dann ist dir wurst ob der PIC 10bit auflösst ;) </werbung>
-
Thread
Umstieg auf Kinux von Win
sehr spät, die ersten P4 waren noch 32 Bit CPUS. Und 16 Bit läuft auf so einem Prozessor weiterhin, nur eben nicht im 64 Bit Modus. Trotzdem kann man so einen P4 natürlich in einen 16 Bit Real Mode versetzen und dann 16 Bit Programme ausführen
Fingerei mit Tasten. Mac geht noch, durch die von Control separate Command-Taste kollidiert halt Cmd-C nicht mit dem Ctrl-C, welches die Shell für sich braucht.
-
Thread
LTC2468 4CH 16BIT ADC - overrange indication - Beschaltung falsch?
durch die Abfrage des Temperaturwertes (die der LTC messen und ausgeben kann) - 22°C klang glaubhaft. Mein Problem ist nun: wenn ich die einzelnen Channel abfrage, bekomme ich nur eine over-range-indication und
to 0V, this bit is HIGH. If VIN < 0, this bit is LOW." MSB: B"it 20 (fourth output bit) is the most significant bit (MSB) of the result. This bit in conjunction with Bit 21 also provides underrange and overrange
-
Thread
AVR Orgel Eigenbau
Sample geholt und > ausgegeben werden. Oder habe ich was verpasst? Ähm. Man kann mit jedem einzelnen Takt der 48kHz durchaus auch alle benötigten 10 Ausgänge versorgen. Das ist kein Problem [c] ISR( ... ) // wird im 48kHz Raster aufgerufen { for( i = 0; i < NR_CHANNELS; i++ ) {
selbst klingen. Deshalb darf man hier von Verzerrungen gar nicht reden. Eine Orgel hat normalerweise C - f3 oder C - g3 in Manual (ausnahmsweise C - c4, aber nur kleine Übeorgeln) und C - f1 oder C - g1, bei alten Instrumenten auch C - d1 und sogar C - c1 in Pedal. Für 16' Register C = 32,7 Hz, g3 = 784
-
Thread
INT2 beide Flanken nutzen (ATmega8515 PE0)
Bit 0 =1 out EMCUCR, Akku ; Daten zurückschreiben [/c] Letzendlich willst du doch nur Bit 0 in EMCUCR auf 1 setzen. Brauchst du dafür die AND-Operation wirklich? Und schließlich
D.h. Zusammengefasst: Du musst die Bitmanipulationen in drei Fälle unterscheiden: a) Setzen von einzelnen Bits in Registern b) Rücksetzen von einzelnen Bits in Registern c) Rücksetzen von _Flagbits_ in Registern Der Code dazu sieht immer ähnlich aus, [NAME] und [REGISTER] sind durch entsprechende
-
Thread
Multiplex+ICP
Hier steckt der Fehler. Beim Mega88 steckt das entsprechende Bit nicht im TIMSK, sondern im TIMSK2. [C] TIMSK2 |= ( 1 << TOIE2 ); [/C]
Wenn die Anzeige 'wild' aussieht, dann hab ich mich wahrscheinlich hier [C] 0b11101001, // 'E' [/C] bei den Bits vertan.
-
Thread
Sicherheitsrelevante Software
sind heutige Systeme einfach zu komplex. Aber zu 99%, (auch) wegen Occam's Razor. Es war ein einzelnes Zeichen mitten in einem String falsch (und zwar ein "e" (0x65) durch ein "a" (0x61) ersetzt, also ein Bit Unterschied), der aus der Datenbank abgefragt und unverändert ausgegeben wird. Der Rest des
obskuren) Fehler im Script selbst kann ich ausschliessen, bei einem kurzen Perl-Script, das eine SQL-Abfrage abfeuert und das Ergebnis formatiert ausgibt kann man nicht so wahnsinnig viel falsch machen, vor allem nichts, was bei identischem Input einmalig zu einem einzelnen geänderten Zeichen im Output führt
-
Thread
PICKIT3 und pic16f54 in c Einfches Program scheitern beim Brennen
Algorithmus funktioniert. Daraus könnte man leicht eine Funktion machen, die die Helligkeitswerte der einzelnen LEDs anpasst: [c] uint16_t LEDwert[6]; // Helligkeit für 6 Kanäle, Wert in den oberen Bits! void WertAnpassung(uint8_t Kanal, uint8_t Ziel) { uint16_t ziel16 = Ziel << 8; int16
(9 Bit, im ganz unteren Bereich sogar feiner!). Mit Änderung der Zeile auf: [c] if(PWMwert[Kanal] != ziel16) // Ziel noch nicht erreicht: [/c] sollte es passen! Kannst vielleicht auch mal
-
Thread
Datenlogger mit FPGA und MSP432
möchte dem ein shield gestalten, dass je einen TI MSP432 Chip als integrierten FIFO-Buffer und 14 Bit ADC pro Kanal verwendet. Die Kommunikation soll über SPI geschehen. Getriggert wird über das Arty board. Danach werden die einzelnen Bausteine sequenziell ausgelesen. Die Daten werden dann auf der
frage ich mal in die Runde: Kann man mit dem Arty eine parallele Abtastung mit 10 kSps bei 14 bis 16 bit realisieren? Und darüber einen Server darauf laufen lassen? http://www.wiki.xilinx.com/ARTY+FreeRTOS+Web+Server?responseToken=b1c7c94c3adbf99458853e9d038386b7
-
Thread
Array mit PORT Elementen
Hallo, @ Werner was meinst Du mit int. ID? Ich kann in dem Datenblatt nichts über eine ID-Abfrage finden. Ich benutze den AT90S8515, da ich nur AT90-µC benutzen kann und die kleineren der Serie nicht genügend Speicher für das was ich programmieren möchte haben. So gesehen ist PIN-Sparen immer
Der I²C-Bus ist ein *Bus*, d. h. man kann mehrere Geräte parallel schalten und sie über ihre Adresse ansprechen. Bei I²C ist ein Teil der Adresse typischerweise fest durch den Chip vorgegeben, ein paar Bits
-
Thread
RFID Türöffner
Hallo Stefan, kann du mir die Werte nennen die ich für C1, C2, C3, C4 und R9 verwenden muss wenn die Spannung 5 Volt beträgt und ich die Spule vom Link verwende mit 1mH. Danke Doc Emmet
The Important Fuses: CKOPT - checked (means bit = 0) BOOTRST - unchecked (means bit = 1) BODLEVEL - unchecked (means bit = 1) BODEN - checked (means bit = 0) SUT1 - checked (means bit = 0) SUT0 - unchecked (means bit = 1) CKSEL3 -
-
Thread
Alternative Firmware für Sparmatic Zero Heizungsthermostat
20 // 2, 4 | [02], BIT 4 #define LCD_SEG_4D 21 // 2, 5 | [02], BIT 5 #define LCD_SEG_4C 22 // 2, 6 | [02], BIT 6 #define LCD_SEG_RADIO 23 // 2, 7 | [02], BIT 7 #define LCD_SEG_HOME
[/code] Nur zur Ansteuerung der vier 14 Segment Anzeigen. Dazu werden die Bitmuster der einzelnen darzustellenden Zeichen in einem Array im Flash abgelegt. [code] __flash uint16_t pgmlcd_character_table[] = { // Segment M L K J I H G2 G1 F E D C B A // Bit
-
Thread
Serielle Visualisierung mit Comvisu
fast vergessen: 32Bit
gerne mit ComVisu realisieren, finde aber keine adäquate Lösung: Mehrere Relais (32) an einem µC sollen einzeln und/oder in Gruppen von Hand geschaltet werden können. Gleichzeitig möchte ich aber auch die Relais durch Parameter, die von einer Schnittstelle kommen, schalten. Die Schalter in ComVisu
-
Thread
Facharbeit: Eigenbau eines MidiControllers
> Wo fange ich am besten nun an? Wenns ein µC sein soll: INdem du einen µC auf einem Steckbrett zum laufen bringst und erst mal eine LED blinken lassen kannst. Auch wer eine Mondrakete bauen will, muss erst mal lernen, wie man einen rechten
... (Die gab's nicht einzeln)
-
Thread
7219 funzt nicht mit Atmega8
Hallo, möchte ja die einzelnen Digit-Leds ansprechen, benötige also keinen Decode-Mode. Noch einmal zum Schieben: Möchte "data" immer um ein Bit weiter nach links schieben um auf dem 8ten Bit der Maske(0x80) auf 1 zu prüfen
Bit übergeben willst musst du auf 0x70 abfragen.
-
Thread
Zahlen über rs232 an Hyperterminal
dann schickst du genau diesen String zu Hyperterminal. Für Zahlen musst du daher zunächst auf dem µC alles in eine Textform bringen (itoa() oder sprintf()). Dann baust du entweder eine komplette Textzeile am µC zusammen und schickst die in einem Rutsch an HT oder du schickst die einzelnen Texte
Antworten. Eine Frage hätte ich noch: Welches Protokoll soll ich wählen, damit etwas zu meinem µC geschickt wird und dieser dann startet etwas zu senden und was schickt das HT bzw. das Protokoll (was muss ich im Programm des µC abfragen? if (empfangen) start_senden = 1; Vielen herzlichen
-
Thread
Ich suche eine schnelle Lösung für eigenes delay_us
des generierten Signals sollte möglichst nahe bei den 10Bit liegen. Da ich den Timer1 schon zum Ermitteln der Zeiten der einzelnen Kanäle verwende, kann ich leider nicht mit output compare arbeiten. Ich weis dass es solche Wandler schon zu kaufen gibt.
leben kannst, da du ja mit 8MHz taktest. du kannst im interrupt zwei counter inkrementieren: in c: a++;b++; dann abfragen, ob a == HI-zeit/auflösung und ob b == LOW-zeit/auflösung pin ensprechend toggeln verstanden?
-
Thread
PIC16F871 - Software f. Kicker ! Hilfe!
#pragma config |= 0b.11.111101.11.00.10 #define LCD_RS 0b.00000001 //RS-Pin ist Bit0, LCD Register Select #define LCD_CS 0b.00001000 //E-Pin ist Bit3, LCD Chip Select #pragma char PORTQ @ PORTD //PORT auswählen, DB7-Bit7, DB6-Bit6, DB5-Bit5, DB4-Bit4, #include
ein MAX202 aber kein CAN-Transceiver vorhanden ist. Du solltest dir dazu mal das Datenblatt des T89C51RD2-3C angucken.
-
Thread
8051 carryflag
; Wait Startwert = 1 ,1x 5ms dieser wird im timer 0 dekrementiert CLR C ; Carryflag wird gelöscht im Register PSW MOV A, R0 ; Werte von Port 2 werden in Akku geladen ANL A, #0Fh ; ---- FFFF : höherwertige bits von port 2 werden ausgeschaltet
Du hast übrigends auch einen Bufferoverflow, nämlich einen Stackoverflow: [c] read: ... CALL check ... check: ... JMP read [/c]
-
Thread
STM32F405 int64_t lehren
Detlef _. schrieb im Beitrag #4793417: > Der STM32F405 kann keine 64Bit ints' nativ rechnen, der braucht dafür ne > Software lib, die muss irgendwo her kommen. Das ist dann die Runtimelibrary Deines C-Compilers.
Rufus Τ. F. schrieb im Beitrag #4793420: > Detlef _. schrieb: >> Der STM32F405 kann keine 64Bit ints' nativ rechnen, der braucht dafür ne >> Software lib, die muss irgendwo her kommen. > > Das ist dann die Runtimelibrary Deines C-Compilers. Ja. Erwische ich da die richtige?
-
Thread
Benchmark für Arduino-Boards?
272406088151?hash=item3f6cab09d7:g:IusAAOSwpLNX-SRr >Ich bestelle mir nun in China ein 2-Euro Board mit 32-Bit Controller: >Arduino IDE kompatibles Board STM32 STM32f103C8T6 ST ARM 32-bit Cortex >-M3 Das hat nur 72Mhz statt 168Mhz, deutlich weniger RAM ist ein M3 statt M4 und hat deshalb keine FPU.
Jürgen S. schrieb im Beitrag #4998648: > Ich bestelle mir nun in China ein 2-Euro Board mit 32-Bit Controller: > > Arduino IDE kompatibles Board STM32 STM32f103C8T6 ST ARM 32-bit Cortex > -M3 > > Und dann schaue ich mal, wie ich das in die Arduino-IDE eingebunden > bekomme, und was die Benchmarks
-
Thread
Ich suche einen "etwas anderen" C-Compiler Gesperrt
Peter II schrieb im Beitrag #3526328: > warum sollte das in C nicht genauso gehen? Weil C nicht korrekt auf den Taktzyklus genau eine 16-bit-Konstante auf den aktuellen unbekannten Timerwert aufaddieren kann, ohne daß es zu Fehlern kommt.
UART mit hoher Datenrate und eine selbst definierte synchrone serielle Schnittstelle) von einem 8-Bit-µC mittels priorisiertem Interrupt gleichzeitig bedient. Ich glaube nicht, dass ich es auch in C hinbekommen hätte.
-
Thread
Nimm PIC's
, was hat Atmel denn noch so alles implementiert. Bis ich herausgefunden habe, dass z.B. für die Abfrage jedes der einzelnen Bits im Statusregister ein eigener "Befehl" zur Verfügung steht. SO kann man die Befehlszahl auch aufblähen. Die PICs sind nicht schlecht, wenn nur nicht dieses blöde 'Banking'
RAM Banking hat (wie alle anderen auch) nicht nur eine (negative) Seite. Erstens benötigt man nur 8 Bit zur direkten Adressierung (spart Platz im immediate Teil des Codes) und zum anderen gibt es ja immerhin noch 3 fsr-pointer zur indirekten Adressierung. Wer in C programmiert kriegt davon aber sowieso
-
Thread
FM Radio Modul RDA5807M
freqL = (freq_tmp&3)<<6; // Shift channel selection for matching register 0x03 i2c_start_wait(FM+I2C_WRITE); i2c_write(0x03); i2c_write(freqH); // write frequency into bits 15:6, set tune bit i2c_write(freqL + 0x10); i2c_stop(); } [/c] EDIT
freqL = (freq_tmp&3)<<6; // Shift channel selection for matching register 0x03 i2c_start_wait(FM+I2C_WRITE); i2c_write(0x03); i2c_write(freqH); // write frequency into bits 15:6, set tune bit i2c_write(freqL + 0x10); i2c_stop(); } [/c] Danke
-
Thread
Kl. Problem Pulsein Bascom
NurGast schrieb im Beitrag #6545114: > Und wo finde ich das Err-Bit? Einfach mit "If Err" abfragen. Es ist Standartmäßig vorhanden. Physikalisch ist es Bit 2 von R6 Dennoch unklar wo der Fehler herkommt? Ist es die gleiche Abweichung wenn der Puls länger ist? Oder
schrieb im Beitrag #6545121: > NurGast schrieb im Beitrag #6545114: >> Und wo finde ich das Err-Bit? > > Einfach mit "If Err" abfragen. Es ist Standartmäßig vorhanden. > Physikalisch ist es Bit 2 von R6 > Dennoch unklar wo der Fehler herkommt? Ist es die gleiche Abweichung > wenn der Puls
-
Thread
Allgemeine Fragen zu Eigenbau-libc
da. Der Standard fordert, dass der delete operatur mit NULL Zeigern umgehen können muss. Diese Abfrage kann der Compiler wegoptimieren, wenn er den Zeiger irgendwo weiter vorne dereferenziert hat. [c] class ABC { void *p; public: ~ABC(); ABC(); void dosomething(); }; void
nachträglich nicht mehr abschaffen, > aber den nullptr kann man wengistens trotzdem einführen. [c] // In C ist NULL meist: #define NULL (void*)0 // In C++ #define NULL 0 [/c] In C ist 0 also vom Type void* und damit ein Zeigertyp mit sauberer Trennung. C++ kann aber einen void* nicht auf
-
Thread
Z180-Stamp Modul
Leo C. schrieb im Beitrag #4321774: > Das läßt sich wohl kaum noch was beschleunigen. Der VNC2 kennt noch einen 8 Bit FIFO-Mode. Hier sollen laut einiger Forumnutzer ca. 65 KBaud möglich sein. Vielleicht
beim Bearbeiten nun 3 Mal das Selbe geschrieben das aber nicht im Text auftaucht, also hier nochmal einzeln. Ich würde es für besser halten ein CP/M Programm zu haben das die Zuordnung der Images zu den Drives bewerkstelligt (assign "BDS-C1.dsk" "C") und evtl. ein Programm das das Inhaltsverzeichnis
-
Thread
UP - DOWN Taster Entprellung mit Timer
) { ClearBit(ucTimeControl,b10msTimer); if(CheckBit(ucTimeControl,b10msOvr)) { SetBit(ucTimeContrl,b10msTimer)); } } [/c] Einziger vernachlässigbarer Nachteil ist dabei, dass ich einen kompletten
gemacht. was bei dir noch fehlt ist, das ucCounter zurückgesetzt wird wenn Taste nicht gedrückt. [c] if(CheckBit(PORTD,0) { ++ ucCounter; } else ucCounter=0; [/c] @ t3sla wenns in der ISR sein soll und zwei Tasten, dann (etwas abstrakter) so [c] ISR() { if (Key1down()) Key1Counter
-
Thread
Frage zur Signal-Abtastung
Abtastwerte zu nehmen. Ich Taste das Signal nun 512 mal nach dessen Start ab, und schiebe die jeweiligen Bits des Impulszuges nun in ein Feld vom Typ long. Ich erhalte also 16 Felder zu je 32 Bit = 512 Werte. Das klappt auch und ich kann mir die einzelnen Felder auch am PC anzeigen lassen. Leider mußte ich
Betätigung derselben Taste unterschiedliche Werte gesentet werden, ist möglich. Das sogenannte Toggle-Bit wechselt dann nach jedem Tastendruck. Daran erkennt der Empfänger, ob eine Taste _wieder_ gedrückt wurde, oder ob sie _immer noch_ gedrückt wird. Allerdings sollte sich nur 1 Bit ändern. Andreas
-
Thread
Hex Wert -> Dezimal an LCD ausgeben
Da der AVR ein 8Bit-µC ist muß man eine 16Bit-Subtraktion aus 2 8Bit-Subtraktionen machen was dank des Carry-Bits (Überlauf) einfach möglich ist. subi r28,low(-10000) sbci r29,high(-10000) "SBCI" (sub immediate
. Der µC ließt die db Adresse einzeln aus und speichert sie sofort ins S-Ram. 0x0060 ist der Startwert des LCD's. Den Idle-Modus hab ich auch aktiviert... Wußte garnicht daß das geht. Ich dachte, der µC wacht
-
Thread
Blutzucker-Messgerät Hardware OLED Display
schon von tinman (Vielen Dank!) berichtet der OLED-Controller. PD1 - SDIN PD4 - SCLK PC1 - D/C (1=Data,0=Command) PC2 - RESET (0=RESET) PB1 - ICS (0=Device selected) Dann fehlen nur noch die zwölf Volt, also dann: PD5 - DC/DC - Converter Enable (1=12 Volt) Möchte man die Tasten abfragen
nach unten ein, eben so wie man hierzulande liest. Hat man das Bild fertig konvertiert man es in C-Code wie folgt: fontcreator -c -min <asciicode> -bits 4 <bmpfile> <fontfile> <asciicode> ist der kleinste im Font vorkommende ASCII-Code, bei vollständigen Fonts also meist das Leerzeichen (32)