-
Thread
Bauteilauswahl pH-I2C-Umsetzer
Hallo, ich muss ein paar pH-Elektroden per I2C-Bus (5V) auswertbar machen. Es ist keine extreme Genauigkeit gefordert (0.1 reicht; Bereich etwa pH 5-10), da auch nur relativ preiswerte Standardelektroden angeschlossen werden. Idee: Instrumentenverstärker
Temperatur. Alternativ sonst ein ADC für 2 Kanäle und ein Temperatursensor. Das umrechnen muss dann der µC am anderen Ende des I2C busses machen. Für nur 0.1 PH Auflösung würde auch schon der µC interne ADC in vielen µCs ausreichen. D.h. man könnte einen kleinen µC (z.B. PIC16, AVR, 8051) statt dem ADC nutzen
-
Thread
IDE mit Fokus auf Assembler für Umsteiger AVR -> STM32
r3, [r2, #26] 200023e6: 4770 bx lr 200023e8: 40020000 .word 0x40020000 200023ec: 2001c00c .word 0x2001c00c[/pre] mit -O2 übersetzt: [pre]200024a0: b4f0 push {r4, r5, r6, r7} 200024a2: 2101 movs r1, #1 200024a4
{r4, r5, r6, r7} 200024ca: 4770 bx lr 200024cc: 40020000 .word 0x40020000 200024d0: 2001c00c .word 0x2001c00c 200024d4: ffffffff .word 0xffffffff
-
Thread
GPSDO Fragen
der TDC ein doch zu großer Aufwand ist, wäre eine einfachere Möglichkeit, ggf. einen schnelleren µC zu verwenden. Beim STM32F7xx zum Beispiel laufen die Timer mit bis zu 216 MHz und liefern eine Auflösung besser 5 ns. Dieser Wert ist sicherlich kleiner als der Jitter des 1 pps Signals.
/100/360 Sekunden verschieden gewichtet. 360 hat die Gewichtung 1 , 30 sowie 40 Sek verändern den 16bit PWM um 177 Werte. Die Werte sind jeweils 177/177/63/17/3/1 Gemessen wird vom verlängerten PPS impuls (~150ms) auf einen 5uS verzögerten pps Puls (100ms) des XO mittels Xor Glied. Auflösung ist
-
Thread
PIC24F Timer interrupt mit 4xPLL
Hallo, ich verwende einen PIC24FV32KA301 alle 250ms soll ein Timer interrupt ausgelöst werden. interner Oscilator (8Mhz mit 4xppl = 32Mhz 32/2 = 16Mhz mit einem Presc von 64 => alle 250ms => Period value =0xF424 nun
bei mir heists schlicht [c] _RCDIV = 0; // Postscaler 1/1 __builtin_write_OSCCONH(0x01); // 8 MHz FRC with Postscaler and PLL (FRCPLL) __builtin_write_OSCCONL(0x01); // Start switch [/c] MfG Klaus
-
Thread
Suche support zur Realisierung (in HW & SW) eines Betriebsstunden,- Zyklus Zählers
MaWin schrieb im Beitrag #5451875: > Natürlich, jeder aktuelle uC, nicht nur AVR und MSP430 sondern auch PIC, > enthält dafür EEPROM. Die keinen STM32 haben z.B. kein EEPROM - können aber ihr Flash in 16 Bit Blöcken beschreiben und in x kByte Blöcken löschen..
die Betriebszeit erfasst. Die Betriebszeit beginnt mit einem Impuls und endet, wenn innerhalb von 5 Minuten kein weiterer Impuls stattfindet. Das Gerät muss irgendeinen PIC Controller verwenden, sowie ein 2x16 LCD Display beliebiger Größe mit oder ohne Beleuchtung in beliebiger Farbe. Auf dem zweizeiligen
-
Thread
80C535 SBC - Unterlagen?
die "moderne MCU" für genaue Messungen aber einen externen ADC, ist sie damit schon gegnüber dem 80C535 mit seinem guten internen ADC im Nachteil. Bei einer Referenz (Aussteuerbereich) von 5V ist eine Stufe bei 10 Bit Auflösung 5 mV, bei 20 Bit nur 5 Mikrovolt und bei 24 Bit 0,3 Mikrovolt. Da hat
PSOC hat 24bit ADC. 19,5bit ENOB haben wir mit einigen Mühen erreicht. MSP430 haben teilweise 24Bit und viele andere (PIC, Silabs, Renesas, Analog Devices) auch.
-
Thread
Mikrocontrollerauswahl gut?
hat. Der MCU soll folgende Aufgaben erledigen - Programmierung des MCU via Serial Wire - I2C Oled Display ansteuerung - Hochspannungsmessung (mit vorgebauter Hardware) - 3x Eingangssignal Messung mit internem ADC (zu hoche eingangsspannung) - 1x DAC Ausgang um Hochspannung zu adjustieren
reißt es bestimmt raus. Dickes Rohr an der Karre. >- Programmierung des MCU via Serial Wire >- I2C Oled Display ansteuerung >- Hochspannungsmessung (mit vorgebauter Hardware) >- 3x Eingangssignal Messung mit internem ADC (zu hoche eingangsspannung) >- 1x DAC Ausgang um Hochspannung zu adjustieren
-
Thread
Präziser, einfacher 850kHz Oszilator
arbeitet kann man da sofort ausschließen. (Der interne Oszillator des Pic hat über den gesamten Bereich von -40C bis +125 C übrigends 5%) Gruß Carsten und
LPC812 mit 4 MHz Quarz, per PLL x17 auf 68 MHz, geteilt durch 4 für 17 MHz Systemtakt. Dann mit Zahler durch 2x10 teilen, passt. Der µC selber hat nix zu tun, muss nur einmal die Hardware Units konfigurieren. Per I2C könnte man noch
-
Thread
Code(SRAM steuern) verbessern. Arduino mega 2560
Bei 16MHz => T=62,5ns muss ich min. 2 Tackte warten. [c] byte SramRead(unsigned int addr){ PORTC = lowByte(addr); PORTL = highByte(addr); DDRB = 0x00; //I/O Register soll ausgelesen werden
c-hater schrieb im Beitrag #5441877: > Der Rest des Adressraums kann wahlweise durch Banking erschlossen werden Banking ist schlechteste, was aus dem PIC nur kommen könnte. Wenn ich mal zu der Idee
-
Thread
statische Polymorphie per CRTP in Embedded Systemen
Vorschrift, z.B. alle LEDs liegen hintereinander als 3 Bit je RGB im Memory. Hier mal als Vorschrift: [c] #include <stdint.h> uint8_t max7219_data[8+1]; void update_max7219( void ); void setColor( uint16_t led_no, uint16_t color ) { uint16_t *ptr; uint16_t mask; led_no *= 3; mask
6, wirbt damit C++14 zu unterstützen. Ich arbeite immer noch viel mit Version 5, die C++03 vollständig und C++11 teilweise beherrscht... von C++17 oder gar C++20 ist die Embedded Software vermutlich noch weit entfernt
-
Thread
Warnblinklicht für Schulranzen - Bewegungs- und Helligkeitsgesteuert, sparsam
teilweise unnütze Blinkmodi angeboten, die die Benutzung umständlich machen. Gewünscht wäre: - uC-basiert, z.B. Microchip PIC16LF1508 mit Ultra-Low-Power Mode - aktiviert durch Bewegung, z.B. STM LSM6DSM - aktiviert durch Dunkelheit, z.B. mit dem Komparator des PIC und Fotozelle? - 4-8 superhelle
>machen. Was für eine schreckliche Welt, die nicht mal gescheite Blinklichter hat . . . >- uC-basiert, z.B. Microchip PIC16LF1508 mit Ultra-Low-Power Mode Das kann heute jeder aktuelle uC, ganz egal ob AVR, PIC oder sonstwas. >- aktiviert durch Bewegung, z.B. STM LSM6DSM Warum? >-
-
Thread
PIC - CRC16-CCIT-FALSE- Checksumme
Normalerweise kann ich ja durch den initialwert bestimmen, was für Arten von CRC´s berechnet werden. z.B. CRC16-CCIT-FALSE mit dem initial Value von 0xFFFF. Und genau dieses CRC-CCIT-FALSE möchte ich berechnen. Hier ist das CodeExample (zuerst Poste ich das Header-File, dann das C - File)....wenn jemand eine
// X^12 + X^5 CRCXORH = 0x0000; CRCCON1bits.CRCISEL = 0; CRCCON2bits.PLEN = POLYLEN; // Length of polynomial-1" CRCCON2bits.DWIDTH = 7; CRCCON1bits.LENDIAN = 0x0; CRCCON1bits.CRCEN
-
Thread
Eingangsspannung wenn keine Versorgung anwesend
überschreitest, darfst Du das. Aber Du wirst ein anderes Problem bekommen: Wenn Du am Eingang 5V anlegst und kein VCC, dann wird über die Eingangsdiode ein kleiner Strom fließen, und der wird dir Deinen PIC versorgen. PIC läuft dann mit ca. 4.3V. Es gibt dann vermutlich kein Reset.
Teo D. schrieb im Beitrag #5421063: > Meine Frage war. WARUM MUSS der µC von vorne beginnen, nur um was > anders zu machen? Das hat er doch geschrieben: Der Basic Befehl "wait 16h" (warte 16 Stunden) lässt sich nicht vorzeitig per Software beenden.
-
Thread
LCD Display am PIC - verstädnisfrage BUS Übertragung
; LCD_D0_OUT = LCD_data.bit0; LCD_STROBE(); }[/c] Kannst du natürlich auch in deinem PDF schauen, wie das dort läuft. (Die Anleitung scheint allerdings auch eher für einen PIC16 zu sein)
eigentlich. Ich geb dir mal ein Beispiel (Auszug, zum Angucken. Nicht zum gedankenlosen copy&paste): [c] INCLUDE P16F716.PIC ; Hardware: ; Pollin-LCD 2x8Zeichen Alpha, 4 Datenbit ; der PIC läuft mit 18.432 MHz ; Portbelegung ; Port B CE_LCD: BIT PortB,0 ; out RefCt: BIT
-
Thread
Analoge Orgel mit USB-MIDI steuern
ich im MIDI-Protokoll z.B. "Tutti" alle Register gezogen, > und das sind normalerweise mehr als 16! und spiele dann Akkorde? Für jedes Register einen PC/CC-Befehl senden (Register X auf Wert Y). Danach NoteOn C NoteOn E NoteOn G, dann NoteOff C, NoteOff E, NoteOff G. Ein Patch für die MIDbox
Letzter. Aber gehen tut das auch mit dem "alten" Midi. Die Einschränkung war früher der Klangerzeuger, 16 Stimmen konnte man gleichzeitig nur mit 16 Tasten bespaßen. Bei einer 5 Oktaven Tastatur hast du dann 61 mal 'note-on', d.H. dein Klangerzeuger sollte mindestens 61 Stimmen haben um das wiederzugeben
-
Thread
Vorhanden Glühlampen aufbrauchen oder durch LED austauschen?
Bohrhammer neue Löcher in anderen Abständen statt nur eine 1€-Glühbirne zu tauschen. https://porta.de/porta/c/pendelleuchten-4090
hippes Gehäuse > ist. Laut Wikipedia braucht man etwa 15700 KWh für eine Tonne Primär-Aluminium, 5 % davon für Alu aus Recycling. https://de.wikipedia.org/wiki/Aluminiumh%C3%BCtte Bei 20000 Betriebsstunden spart ein einziger 10W LED-Fluter gegenüber 75W Glühbirnen 1300KWh ein. Also könnte man
-
Thread
Körperultraschall mit Arduino (Sonographie)
nach unten -> die 5MHz bekommen keine größere Verstärkung.
start_time = micros(); for(i = 0; i < 100; i++) { while((ADC->ADC_ISR & 0x03)==0); // wait for conversion values[i] = ADC->ADC_CDR[0]; //get values } //delayMicroseconds(100); //delay(5); stop_time = micros();
-
Thread
USB -> SPI Adapter für PC?
schneller auch nicht als mit: https://www.ebay.de/itm/CJMCU-2232-FT2232HL-USB-TURN-UART-FIFO-SPI-I2C-JTAG-RS232-Module-External-Memor/282935227324?hash=item41e040f3bc:g:F1kAAOSwNMVagHPf Das was man nicht in den Mikrocontroller an Intelligenz reinstecken muss, muss man dann allerdings in den Treiber
kann, > wie die meisten STM32.. Für einen USB-SPI Interface tut es auch was kleineres - z.B. ein PIC16F145x. Aufbau wäre sehr einfach. https://hackaday.io/project/6258/gallery#ce5db455c4aad2b6bf7d99e26a6976f4 HID oder CDC Demoprojekte, wären in den Microchip Libraries for Applications enthalten
-
Thread
Was kennt ihr für Elektronikläden (aktuell oder Geschichte, egal)? Gesperrt
&tbm=lcl&q=Chipcad+Kft.&rflfq=1&num=20&stick=H4sIAAAAAAAAACWQPU5DQQyElQZR85CQXvWO4N-xXXKUKERKlQLEvTgXp2A2FKtdWeOZb_b5aX_VFCk1Gy_IOp3Daau0YDIGLqNo8X3TNrFJSfMphJk3pV6lFebaERZjLWsaqeVcHig8YioeWkVGQCVBBQUT-zaRbkh38aBJhuj-Am-lmU6IuFoPuM5cByHEhfGN6VwNoCpCOE22IMg4p2Xg0oTRxmlc1vuWrGsCcjAL5dRSCkgE6UXdWLbGjFOGBASw0ChVT__vhaKVVlo56DRraoUBSaENEbH2hcuHDkTDLREke3wiO2cNO_AjvHui9s0ZTBOa2lomy-Iq70STWcOWXEJ_Tqff09v7_eP6eT2-vi-36_048zru58vtD0m0N5XQAQAA&ved=0ahUKEwjM4Kv764fcAhVMe8AKHSHQBIEQjHII-wEwHQ&rldimm=15007122937603760859&tbs=lrf:,lf:1#rlfi=hd:;si:1994579003446388947
-
Thread
Wer von euch hat auch eine F-15 gehört? Gesperrt
und Flinten-Uschi stellt unverschämte Geldforderungen... ¹) https://de.wikipedia.org/wiki/Milit%C3%A4rische_Lastenklasse
LLLLL 5* dit da dit dit auf der Schiffsalarmanlage (Tröte) gemorst Luft! Namaste
-
Thread
Analogsignal galvanisch trennen
Würde so was in frage kommen ? https://www.ebay.de/itm/5-X-Audio-Transformer-600-600-Ohm-1-1-EI14-Kupplung-Isolation-Transformator-ER/112143869748?hash=item1a1c4ba734:g:3R8AAOSwOyJX4kAz
besten noch galvanisch vom Rest der Schaltung getrennt > ist. dann versorge deine Messschaltung PIC+ADC galvanisch getrennt mit einem SIM1 und takte das Signal per SPI aus dem PIC über Optokoppler zum DAC der an einer anderen Versorgung hängt.
-
Thread
8h Timer mit attiny85 - Genauigkeit ohne Quarz
= 0x0; set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_enable(); sleep_cpu(); sleep_disable(); } // Schaltet die LED recht genau eine Minute ein... [/c] Bis 2-3 Minuten passt das so
nur etwas(?) modifiziert. Wirklich gebraucht, habe ich die volle Optimierung nur, wenn ich einen PIC16F84 mit C vergewaltigt habe. :)
-
Thread
Stoppuhr mit 16F84A
mit PIC 16F84 gelandet. Habe die Schaltung exakt nachgebaut und siehe da, sie funktioniert. Meine Idee war, die kleinen 7-Segment Anzeigen durch große 100mm Anzeigen zu ersetzen. Habe die Schaltung modifiziert
Was hast du letzendlich alles geändert? Ich versuche seit fast einer Woche den selben kode mit pic16f84a und bin dabei erfolgslos. Hat jemand vielleicht noch in Tipp?
-
Thread
Welche MCU für Drumcomputer
Ich hatte zum Beispiel an den hier Gedacht: PIC24FJ256GB210-I/PT Ein PIC24 16bit mit 32MHz
? Warum für eine Rechen aufwändige Aufgabe auf einen 16bit 32Mhz Controller mit 16MIPS beschränken wenn es viel schnellere gibt? Der F7 hätte 32bit, 216 MHz, 462 MIPS, eine FPU, 2x I2S, QSPI und SDMMC für das Laden der Samples.
-
Thread
4 Bit 8051 gesucht
preislich bis unter 0.01€ / Stück. Sie sind etwas umständlicher zu programmieren als manch anderer µC (ähnlich MCS-51, damit einfacher als pic). Der STM8 ist auch ein billiger 8-Bitter. Er ist einfach zu programmieren (die Architektur passt sehr gut zu C), und lässt sich auch auf dem Target debuggen
Bit-Controllerfamilie > untergekommen. Es gab allerdings Versuche von Intel und Philips, den 8051 auf 16Bit aufzubohren. Benutzt wurde dazu der freie Opcode 0xA5 als Prefix.
-
Thread
Arduino Maker Irrsinn
lösen! Tun sie > das? JA! In meiner Ausbildung wurde als Einstieg Assembler beigebracht mit dem PIC16 und später kam der Arduino mit C. Mit Arduino hat mir das programmieren mehr Spaß gemacht als mit irgendeinen PIC. Und ohne den Arduino hätte ich heute nicht mehr programmiert. Heute programmiere ich den dsPIC33EP512MU810 mit CAN,I2C, usw..
-
Thread
Quarzoszillator Programmierbar
Du kannst auch den Si5351 nehmen mit einem externen Quarz/TCXO, der ist per I2C programmierbar.
Programmierung, also die Frequenzeinstellung nicht gespeichert wird. Dann setzt Du eben noch einen kleinen PIC daneben. Z.B. PIC16F15313 mit 8 Pins. fchk
-
Thread
PicKit2: Busy blinkt permanent
demselben Ergebnis: Die Busy-LED blinkt. Das letzte funktionierende Kommando war: pk2cmd -P pic16f887 -M -Finterrupt_test.hex -B/usr/share/pk2 -T -A5 -R Ist das PicKit2 noch zu retten oder hat sich die Firmware verabschiedet? Im Netz habe ich gelesen, dass wenn die Busy-LED blinkt, das PicKit
Netz steht, dass das MPLAB X die Firmware updaten kann, also MPLAB X installiert und siehe da: Das funktioniert NICHT (ein Update ist mit PicKit4 scheinbar möglich). Die (alte) Programmersoftware für PicKit2 soll das können,
-
Thread
Unbekannter Assembler erzeugt große Änderungen bei kleinem Programm
Max M. schrieb im Beitrag #5393136: > und nach den Hexzahlen 0x48414C4C4F und 0x4F4C4C4148 gesucht - leider > keine Ergebnisse. Das überrascht nicht unbedingt. Dein Array ist vom Typ WORD (was recht wahrscheinlich ein 16-Bit-Typ ist) und Du befüllst es mit einzelnen
wenige Assembler-Befehle mit den zugehörigen Opcodes angegeben (im Kontext der Optimierung durch den C-Compiler, wenn google translate nicht lügt): 5E0A MOV A BB1 1B21 COMP A #0x21 2040 T0SN CF 5C0B MOV BB2 A Weiter vorne finden sich noch (S. 73): C028 GOTO 0x28 0030 WDRESET 1F00 MOV A #0x0
-
Thread
Kostenloses Target?
Timo schrieb im Beitrag #5388565: > Wenn die Fläche 200x200cm betragen würde, wäre aber alles ok..nur weil > die sehr viel mehr offen gelassen haben ist es voll die Verarsche.. Seit wann ist 200x200cm _weniger_ wie 2x2m ?? lo..merkst du was.. :-))
mussten. D.h. Baugruppe, Netzteil und Mikrocontroller auf ein Brett, paar Bytes nach Vorgabe per I2C/CAN/SPI etc. hin schieben und fertig. Dazu hatte ich mir einfach mal einen Arduino bestellt. Denn mit den ganzen fertigen Bibliotheken war es super einfach, eine x-beliebige Schnittstelle aufzusetzen
-
Thread
Reparaturanleitung Bosch Küchenmaschine MUM44 MUM45 MUM46 etc: Motor dreht kurz und geht wieder aus
Ein bekannter Defekt: auf der Platine ELRAD 5.02.00001 435092-2 435 092-2 befinden sich neben einem PIC16C521A, Triac ST T435 600T T435600T eine kleine grüne Drossel (Festinduktivität) mit 4700µH 4,7mH (gelb violett rot silber), die von einem Magneten
Joachim B. schrieb im Beitrag #5704361: > meine kaputte mit der 'C' Bezeichnung, > das Ersatzteil PIC ohne C Ein PIC16F... halt, ist aber auch CMOS. > ist mir nicht bekannt Daran liegt eben.
-
Thread
Doppel Lichtschalter mit Tastern und Timer-Funktion
www.reichelt.de/Wippschalter/WIPPE-1808-6302/3/index.html?ACTION=3&GROUPID=7596&ARTICLE=108240&START=0&OFFSET=16& https://www.conrad.de/de/kippschalter-250-vac-2-a-1-x-einausein-eledis-1a14-nf1stse-tastend0tastend-1-st-705049.html Dann brauchst du nur einen FET zum Schalten, vor dessen Gate ein RC-Glied mit
minimalen Leckstrom ausgelegt. Den Strom für die LED kann man mit den Reihenwiderständen R4 und R5 einstellen. R5 dienst als Stromgegenkopplung, um den Dimmbereich zu vergrößern. Gruß Öletronika
-
Thread
Strommessung mit INA219
Einen Scanner für den I2C Bus habe ich (nicht Arduino) in C geschrieben. Anzeige ist auf einem Display mit 4x16 Zeichen. Das ist immer der erste Test um zu schauen was los ist. Verwende den Atm 128 und für grössere Sachen den
einstellen was gelesen werden soll? Datenblatt lesen: http://www.ti.com/lit/ds/symlink/ina219.pdf Seite 16 > Kommen beide Werte als 16 Bit? Ja. > Was kommt ich am Power lesen? Erstmal 0x0000. Schreib Dir mal zwei Funktionen, damit Du Struktur in Deinen Code bekommst: [c] uint16_t ina219_read_word
-
Thread
Funktionsgenerator
Ja ok, klar. Ich brauche einen PIC mit Speicher. 2x16 LCD Eingabe über Tastatur evtl. 4x3 oder speziell entwickelt. Eingabe der Frquenz von 1Hz bis 1 MHz (vorzugsweise mit 2 Nachkommastellen) Ausgabe Sinus und Rechteck.
schrieb: >> 1 MHz >> Sinus mit hoher analoger und zeitlicher Auflösung rausjagen. > > dspic33fj16gs502 1.04ns PWM Auflösung könnten auch dafür reichen. Vermutlich liegt der dsPIC ausserhalb der Fähigkeiten des Programmierers und es muss ein PIC16 werden ;).
-
Thread
Alternativen zur Arduino IDE!
OS-abhängigen gcc aufzurufen. Der ganze Fensterkram kann ja gleich aussehen, da wird m.E. nicht x86 oder arm drin stecken. Die Wege zu den LIBs und Boards können IMHO auch gleich sein, allenfalls müsste aus "C:\" noch "/home/pi" werden
Übung überlassen bleiben. Ich hab der Einfachkeit halber einfach mal die Binärdistribution von 1.8.5 genommen für x86-64. Damit läuft es dann zumindest mal auf jedem beliebigen Desktop-PC.
-
Thread
PIC SPI-Receive liefert immer null
Habe folgendes vergessen: spi_init() wird folgendermaßen aufgerufen [c] spi_init(0x00); [/c]
Der unbekannte PIC hat auf dem Pin für den SPI Eingang eine Analogfunktion, die nicht deaktiviert wurde? So, oder ähnlich... [c]ANSELBbits.ANSB2 = 0;[/c]
-
Thread
Wie hoch ist der "München-Bonus" wirklich?
Einkommen Familie (2+2) Raum München bei 1,5 Stellen: Brutto 120.000 netto ~73.000 Einkommen Familie (2+2) Raum Chemnitz bei 1,5 Stellen: Brutto 65.000 netto ~43.000 Miete Haus Raum München 2500 warm x12 = 30000 Miete Haus Raum Chemnitz 1000
(mit-) geschaffen. http://www.dtoday.de/cms_media/module_img/1010/505221_1_lightbox_5465eedf7a4a5.jpg http://www.mb-research.de/_pic-kaufkraft/MBR-Kaufkraft-Karte.png
-
Thread
DDS AD9834/ PIC SPI Problem
//RESET muss für den gesamten Zyklus (beim Daten senden) an bleiben SPI1_Write(0x4000); //LSB für 100kHz laden 0x0 while(SPITBE == 0){} //solange der Buffer nicht leer ist warte SPI1_Write(0x40C8); //MSB für 100kHz laden while(SPITBE == 0){} //solange der Buffer
= 1; RPOR12.RP24R2 = 1; RPOR12.RP24R3 = 0; RPOR12.RP24R4 = 0; RPOR12.RP24R5 = 0; //RP24 auf SDO1OUT zugewiesen [/c]
-
Thread
Audio ausgeben mit µC
obere byte nur auf 240 beschränkt: so ist bequemer, gängige Obertöne für Wave-Tabelle zu berechnen: 16' = 480, 8' = 240, 5 1/3' = 160, 2/3' = 20): [c] // main.h #ifndef MAIN_H #define MAIN_H 1 #ifndef F_CPU // Quarz 20 MHz. #define F_CPU 20000000UL // CPU_F fuer Verzoegerungen #endif
aa >> 1; SPDR = aa; ton_1 += kton_1; // max MSB = 240 if((unsigned char)(ton_0 >> 16) >= 0xf0) ton_0 -= 0xf00000; bb = (ton_1 >> 8)&& 0x1ff; aa = 0; if(FLAG_REG & (1<<F_GED16)) aa = ged_16[bb]; if(FLAG_REG & (1<<F_PR8)) aa += pr_8[bb]; while(!(SPSR & (1<<SPIF)));
-
Artikel
ARM-elf-GCC-Tutorial
VIC Channel # Watchdog 0 RESERVED 1 ARM Core (DbgCommRx) 2 ARM Core (DgbCommTx) 3 Timer0 4 Timer1 5 UART0 6 UART1 7 PWM0 8 I2C 9 SPI0 10 SPI1 11 PLL 12 RTC 13 EINT0 14 EINT1 15 EINT2 16 EINT3 17 A/D-Wandler 18 RESERVED 19 Für weitere Informationen hilft ein Blick ins Datenblatt. Die ISR wird wie folgt
Grundsätzlich gilt: Jeden n. Takt vom Prozessortakt kommt ein SPI-Takt. Beispiel: 60 MHz Systemclock / 16 = 3,75 MHz SPI-Takt. Allerdings muss der Teiler größer oder gleich 8 sein. Das Senden eines Bytes per SPI sieht so aus: I2C. In der "Codesammlung" befindet sich eine I2C-Master-Bibliothek für den Polling-Betrieb
-
Thread
AVR stürzt ab nach PCINT
das merkt, ganz einfach: Es wird vor dem ganzen Init die IOs eingestellt, und 2 Ausgangspinne auf 5V geschaltet. Und da hängen LEDs dran über einen Mosfet. Und die flackern halt 2-3x bevor alles normal läuft. Man sieht es auch am Osci. ISR habe ich natürlich. In der ISR ist eine recht große
Das habe ich mit PIC erlebt.: Unbenutzte Pins vom Mikroprozessor als Fehlerquelle.
-
Thread
Ist es noch sinnvoll, mit Controllern zu arbeiten?
fertig gewordener MP3-Player mit S8515, MAS3507, 2x16 LCD und einer 2,5" HD mit Amiga-FFS. Amiga war vorhanden und die Struktur des Amiga-FFS ist viel µC-freundlicher als FAT. Um hier jetzt den Bogen zu schlagen: SD-Card am ESP32, MP3/FLAC/... Decoder
gehört jedoch auch zu betrachten was die eigenen Fähigkeiten & Ressourcen hergeben. Wer z.B. kein C oder Assembler mag ist ggf. mit einem MicroPython-fähigen µC besser aufgehoben (z.B. stm32, teensy, nRF51 16bit-PIC). Ein Video welches mir parallel zum lesen dieser Frage durch purzelte: https:/
-
Thread
Absoluter Anfänger
ich. Ich mag einfach nur keine dummen Vergleiche, die aus Engstirnigkeit resultieren. Wenn PIC<>AVR müsstest du PIC16/PIC18 <> ATMEGA vergleichen. Und PIC12, PIC16 mit ATTINY. Selbst das ist schwierig, denn es gibt steinalte PICs, und nagelneue, schlechte AVRs und gute. Weder AVR noch PIC16
werden, nur weil Jemand bzgl. irgendeiner Mikrocontroller-Familie eine andere Meinung hat. > Wenn PIC<>AVR müsstest du PIC16/PIC18 <> ATMEGA vergleichen. > Und PIC12, PIC16 mit ATTINY. Selbst das ist schwierig, denn es gibt > steinalte PICs, und nagelneue, schlechte AVRs und gute. > Weder AVR noch
-
Thread
STM32F103: Problem mit ChanFat und SD karte
, die Plattformabhängig sing. Mosi steht richtig: [c] /*-------- SCK (PA5 Out), MOSI (PA7 Out), MISO (PA6 In) -------------*/ GPIO_StructInit (&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
Da stimmt was nicht..... [c] SPI_8Bit(); FCLK_SLOW(); CS_LOW(); xchg_spi(0x11); xchg_spi(0x22); xchg_spi(0x33); xchg_spi(0x44); CS_HIGH(); CS_HIGH(); [/c] ergibt
-
Thread
Selektion von Funkmodulen in einem RFM69 Netzwerk
Leerlauf. Stimmt, aber die überwiegende Anzahl der Komponenten verträgt maximal 3V6 und nicht 4V5 (Lithium). Und bei 3x Ni-MH bin ich bei 3V6, der Sensor (genauer die Batterie) funktioniert dann aber nicht bei unter -10°C. Alle Komponenten sind übrigends mindestens von Tmin -40°C bis Tmax +
power-down-modes sind für das Modul ja eher die Regel als die Ausnahme. Aber: Das Design ist mit einem PIC16F690 als Controller angegeben. Den kenne ich nun sowas von gar nicht. Wenn dessen pins sich im power-down-mode anders verhalten, nützt das bei einem LPC8xx natürlich nix. Also muß ich beim nächsten