-
Thread
ItoA mit Uint64_t
Eigentlich war doch uint64_t gefragt und nicht int64_t.
Rolf M. schrieb im Beitrag #4724637: > Eigentlich war doch uint64_t gefragt und nicht int64_t. Eben. Daher sollte man die Funktion auch UtoA() nennen.
-
Thread
AVR und der Umgang mit C++
jmp 0x7c ; 0x7c <__bad_interrupt> 60: 0c 94 3e 00 jmp 0x7c ; 0x7c <__bad_interrupt> 64: 0c 94 3e 00 jmp 0x7c ; 0x7c <__bad_interrupt> 00000068 <__ctors_end>: 68: 11 24 eor r1, r1 6a: 1f be out 0x3f, r1 ; 63 6c: cf ef ldi r28, 0xFF ; 255
r24 ; 0x03 spi_init(); 282: 0e 94 04 01 call 0x208 ; 0x208 <_Z8spi_initv> __builtin_avr_delay_cycles(__ticks_dc); 286: 8f e3 ldi r24, 0x3F ; 63 288: 9c e9 ldi r25, 0x9C ; 156 28a: 01 97 sbiw r24, 0x01 ; 1 28c: f1 f7 brne .-4 ; 0x28a
-
Thread
Mikrocontroller für USB to PS2
Nimm den PIC24FJ64GB002. 28 Pins, USB OTG, 64k Flash, 8k RAM. Gibts bei Reíchelt. Dazu MPLABX, den XC16 Compiler, ein PICKIT3 und die Microchip Libraries for Applications (MLA). Da ist ein USB-Host Stack und ein USB
Der Vorschlag mit dem PIC24FJ64GB002 ist für mich bisher der am ehsten zu gebrauchende. Ich konnte in meiner Mittagspause erst grob über das Datenblatt schauen aber alles in allem scheint der alles zu können was ich brauche. Werde
-
Thread
AVR TTiny 461 Pullup nicht aktiv?
Wiederstände anklemme geht es aber > nicht mit den internen Pullup. > Könnte sich einer mal das Projekt AVR Studio ansehen? > Im projekt sind die Pullup doch aktiviert. Da könnte man doch mal das Multimeter hervorholen und im "Projekt AVR Studio" nachmessen, dann sähe man klarer.
[32], 0x11); eeprom_write_byte (&eebyte [33], 0x28); eeprom_write_byte (&eebyte [34], 0x18); eeprom_write_byte (&eebyte [35], 0x28); eeprom_write_byte (&eebyte [36], 0x34); eeprom_write_byte (&eebyte [37],
-
Thread
Schaltung korrekt für LED Fader mit ATMega32?!
//************************************************************************** #include <avr/io.h> #include <avr/pgmspace.h> #define F_CPU 8000000L #include <util/delay.h> #define STK500 0 #if STK500 // inverted PWM on OC1A for STK500 #define INVERT_PWM (1 << COM1A0) #else //
, 10, 11, 11, 12, 12, 13, 13, 14, 15, 15, 16, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 38, 40, 41, 43, 45, 47, 49, 52, 54, 56, 59, 61, 64, 67, 70, 73, 76, 79, 83, 87, 91, 95, 99, 103, 108, 112, 117, 123, 128, 134, 140, 146, 152, 159, 166, 173, 181
-
Thread
Vergesslicher, ungeduldiger atmega bei UART
push r28 98: df 93 push r29 9a: cd b7 in r28, 0x3d ; 61 9c: de b7 in r29, 0x3e ; 62 9e: c8 5c subi r28, 0xC8 ; 200 a0: d1 09 sbc r29, r1
out 0x3e, r29 ; 62 a8: 0f be out 0x3f, r0 ; 63 aa: cd bf out 0x3d, r28 ; 61 ac: ce 01 movw r24, r28 ae: 01 96 adiw r24, 0x01 ; 1 b0: 28 ec ldi r18, 0xC8 ; 200 b2: fc 01 movw r30, r24 b4: 11 92 st Z+, r1
-
Thread
Serielles TFEL-Display (GPIO) an RaspberryPi
? Kann mir jemand Schlagwörter nennen, mit denen ich Suchen kann? Oder gar eine Lib für den AVR ganz egal ob C oder ASM oder Bascom!??? Wie heißt diese Art der Ansteuerung des Displays? Wenns mit Raspberry und AVR und einigen Bastlern, die bereits Erfahrungen damit haben nicht läuft, und keiner
von mir stimmt, oder ob das mit SPI läuft. Und daher versuche ich es lieber gleich am AVR. (So, wie es dann auch "fertig" laufen soll) Da das mein aller erstes Programm für AVR ist, und quasi mein "Einstiegs-Projekt", denke ich, dass erstmal überhaupt nichts passt oder passiert. ALLES
-
Thread
P-Ch Mosfet mit integriertem Logikpegel-Gatter
Wenn ich einen P-Ch Mosfet zum schalten von 10V verwende, kann ich diesen ja nicht direkt an 5V vom AVR schalten da dann immer noch GS -5V ist und der Mosfet noch durschaltet. Jetzt bleiben mir zwei Möglichkeiten, wenn ich es richtig verstanden habe: - Einmal einen Gate Treiber z.B. MC34151 Oder
Hier mal ne Treiberstufe für nen Step-Down. Die PWM macht ein ATtiny261: 64MHz / 256 = 250kHz
-
Thread
M28P128 Erasefehler bei 0xf0000 mit TL866
Halo Christian, danke für deine schnelle Antwort. Ich habe den W25Q64FVSIG mit 8 Pins (SOIC-8, 208 mil) (https://cdn.sparkfun.com/datasheets/Dev/Teensy/w25q64fv.pdf), den ich in MiniPro auch ausgewählt habe. Die Varianten habe ich natürlich auch schon durch. Der EN25Q64
dann wirklich schreibt, wenn er 0xFF sieht. Sieht nach demselben Effekt aus wie bei mir mit dem M28P128. Gruß Christan
-
Thread
Display: Unterschied zwischen character mode und graphic mode?
Byte des Strings nach R0 lesen ist bloß ungenügend klar formuliert Zitat: "http://www.avr-asm-tutorial.net/avr_de/testlpm.html" lesen: LPM ; Lese das Byte, auf das Zeiger Z zeigt in Register R0 Zufrieden?
Operanden. Sieh dir mal die Tabelle '3. Conditional Branch Summary' in www.atmel.com/images/Atmel-0856-AVR-Instruction-Set-Manual.pdf an. Einfach so: [avrasm] ldi r16,10 aaa: dec r16 brne aaa [/avrasm] MfG Spess
-
Thread
Web Server mit ATMEGA328-ENC28J60 + MODBUS
ENC28J60 ATmega328 slave master SI → MOSI SO → MISO SI slave in, MOSI master out slave in, passt!
und muß. Wenn ENC und AVR auf einer Leiterplatte sind, ist auch ein Pegalwandler an SO und /INT nicht zwingend nötig, der AVR erkennt mit 5V den H-Pegel des ENC sicher, auch bei den möglichen 8MHz SPI-Takt. Allerdings sollte
-
Thread
AVR-LAN-Sensor
alt, lag noch rum), einen DHT11 hatte ich auch kurz dran. Natürlich kann man auch Relais o.ä. an den AVR hängen, der LAN-Adapter belegt nur SPI. Alternative wären den WS5100 zu nehmen, aber da war preislich nichts in der Gegend zu finden und dadurch ungenutzer Flash im AVR wird nicht verrechnet... Schaltplan habe ich keinen, außer daß SPI vom LAN-Modul eben an SPI vom AVR muß und die Stromversorgung entsprechend ran, gibt es da nichts. Der ENC28C60 hat 5V-tolerante Eingänge, will aber 3,3V ca. 250mA haben. Stromversorgung ist ein 5V/600mA Steckernetzteil, das gerade
-
Thread
Physikprojekte
man vielleicht einen Instrumentverstärker mit folgender Analog Spitzenwert Schaltung dem internen AVR ADC vorschalten. Dann kann sich der ADC Zeit lassen. Da der interne AVR ADC viel schneller ist, wäre es möglicherweise auch ausreichend den Instrumentverstärker einfach dem AVR vorzuschalten und
variiert (Gibson Les Paul: 24,75 Zoll, etwa 62,9 cm, Fender Stratocaster und Telecaster: 25,5 Zoll etwa 64,8 cm) habe ich fiktiv 64 cm angenommen. Richtig gestimmt benötigen wir 93.653 N und natürlich sind die Eigenvektoren (Schwingungsformen) nicht von der Zugkraft abhängig (siehe Lösung zur Wellengleichung
-
Thread
Brauche Uhr/Zähler/Generator mit Frameanzeige und 100stel Sekunden, RS232 Anschluß
, welches ist die älteste Software, mit der man das Projekt >compilieren kann? Ich hab es mit AVR-Studio 4.18 und avr gcc 2010??? erstellt, sollte aber auch noch mit deutlich älternen Versionen laufen, hat ja keine besonderen Tricks drin.
haben kein Loch für den linken DP1. http://cdn-reichelt.de/documents/datenblatt/A500/SA08-11SRWA%28V7%29.pdf
-
Thread
csv-viewer Portierung
;Ruecklauf 2018.08.15;00:01:00;20,1;24,9;30,9;28,9;28,0;24,3;25,8;27,5 2018.08.15;00:02:00;20,2;24,9;31,0;28,9;28,0;24,3;25,8;27,5 Habe zum Test das Datum ins passende Format gebracht. Aber das ist auf Dauer keine Lösung. Schön wäre ein weiteres
Server1;Server2;Server3;Heizungskeller;V > orlauf;Ruecklauf > 2018.08.15;00:01:00;20,1;24,9;30,9;28,9;28,0;24,3;25,8;27,5 > 2018.08.15;00:02:00;20,2;24,9;31,0;28,9;28,0;24,3;25,8;27,5 > > Habe zum Test das Datum ins passende Format gebracht. Aber das ist auf > Dauer keine Lösung. > Schön wäre
-
Thread
Mal wieder: _delay_ms() Zeit stimmt nicht
Welcher AVR ist es denn eigentlich? Es gibt auch welche, deren int. Osc.auf 9.6 MHz laufen kann, z.b Tiny13 als kleinstes Beispiel.
können. Denn ich weiß, daß man mit _delay_us() auch 0.1µs warten kann. [c] __builtin_avr_delay_cycles(__ticks_dc); 28e: 00 00 nop _delay_us(0.1); [/c] Kompiliert mit 10MHz. [c] __builtin_avr_delay_cycles(__ticks_dc); 2a0: 00 c0 rjmp .+0 ;
-
Thread
avrdude schreibt keine Fuses bei ATmega8
Und so: [c] "avrdude -c avr911 -P/dev/ttyUSB0 -p m8 -U hfuse:w:0xD9:m -U lfuse:w:0x3F:m" [/c] ?
Hallo! Habe nun von myAVR das myAVR-ProgTool heruntergeladen und auf Windows 7 versucht die Fusebits zu schreiben. Es hat tatsächlich geklappt. Das Programm kann die Fusebits aber nicht auslesen, deshalb wollte ich mit Burn-o-mat
-
Thread
Umstiegsbreatung uC Atmel/STM
natürlich zur Abpufferung der schnellen Schaltvorgänge trotzdem viel besser sein als beim gutmütigen AVR.
aktuell nirgends anders gibt. Und das zu einem unschlagbaren Preis. Hier der faire Vergleich ATXMEGA64AU und EFM8LB12F64 Preis bei Mouser: 5,57 / 1,76 Flash: 64k RAM: 4k CPU: 32 MHz / 72 MHz ADC: 12-Bit / 14-Bit DAC: 12-Bit 2x / 4x PWM: AWeX 11-Bit nur über Timer / PCA 16-Bit integrierte CPLD-Blöcke
-
Thread
Sinusberechnung auf Controller STM32F030
fürs > Programm. Im AVR wäre das so nicht ein Problem, weil ein 8 Bit breit, bei einem ARM dieses jedoch 32 Bit breit. Es wäre mal einen Vergleich wert, wie groß der Code auf einem AVR und wie groß der Code auf einem ARM
Die Tage habe ich auch auf einem STM32F030 für ein eichfähiges System eine interne Berechnung in int64_t statt in double durchgeführt. Plötzlich reichen auch 16k statt 32k Flash. Und int64_t war schon der Ansatz für Faule. ;)
-
Thread
ATmega 328P Timer1 falsche Interrupts
Hallo, ich habe ein Problem mit einem ATMega328p, ich bin mit AVR Studio 4.19 und debugWire über AVR Dragon auf dem Gerät. Ich habe in dem Mega eine Soft PWM Programmiert, und das Problem, das die Flags OCF1B und OCF1A gesetzt werden, obwohl die werte in den Compare Registern unterschiedlich zu dem Timer wert sind. Ich habe einen Screenshot aus dem AVR Studio angehangen. OCF1A ist schon wieder gelöscht, da der Interrupt betreten wurden. OCF1B ist aber noch gesetzt. Laut Datenblat werden diese aber nur gesetzt, wenn: > This flag is set int the timer
-
Thread
NRF24L01 - Testprogramm für Windows PC
wichtigste in Kürze vorweg: das ist eine 32-Bit Applikation. Das Programm funktioniert *nicht* unter 64-Bit Windows. Wegen Fehlen eines 64-Bit I/O Drivers ist die Anwendung beschränkt auf 32-Bit Betriebssysteme. Falls ich mal Zeit habe und einen I/O Driver für 64 Bit finde und einbinden kann, dann .
aktueller zu werden (obiges war mein Zeitvertreib in den 80ern), ziemlich geschafft hat es mich den ENC28J60 am AVR in Gang zu bekommen, da haben ich letztlich aber dann aber die Bibliotheken anderer zurückgegrifen. Den ganzen TCP/IP-Stack zu schreiben war mir dann doch zuviel Aufwand. Ich wollte den Kram
-
Thread
WS2812b LED Matrix maximale Länge der Datenleitung
allein die Datenleitung über 40m lang werden. Nein. Wenn du Depp auch nur die Grundlagen der WS28xx begriffen hättest, wüsstest du, das es "die" Datenleitung da überhaupt nicht gibt, sondern vielmehr viele davon. Nämlich so viele, wie LEDs angesteuert werden, weil diese in einer Daisy-Chain geschaltet
512 Kanäle reichen, dass jedes pixel einen Kanal hat. Und dann baut man halt pro pixel einen kleinen avr (tiny2313?) und einen max485 ein. Versorgung mit 12/24v und als Lichtquelle normalen led stripe.
-
Thread
Problem mit C struct auf ARM
Hallo, ich portiere gerade meinen Code für den ENC28J60 von 8-bit (AtMegea1284p) auf 32-bit (AtSamD20E17). Ich habe inzwischen alles zum Laufen gebracht, stehe jetzt aber vor einem mir unerklärlichen Phänomen. In meinem Code für den NTP-Request
Hallo, also zu Jays 1. Beitrag. Ja den Code habe ich aus avr-uip übernommen. Ich hatte aber nicht damit gerechnet dass sich hier ein solcher Fehler beim Portieren einstellt :). Ich werde es jetzt wohl so machen dass ich direkt aus dem Buffer uip_appdata (hier
-
Thread
Suche ein 28 Pin Mikrocontroller mit mehr als 32 kBit Flash Speicher
128k Flash und 16k RAM, ein ATMega2560 hat 256k > Flash und 8k RAM (trivial extern erweiterbar auf 64k). Sind aber beide keine 28-Pinner mehr.
einen "größeren" AVR8 braucht, noch dann, wenn man auf was völlig anderes wechselt, selbst wenn das dann tatsächlich 28 Beine hat. Der Wechsel auf einen größeren AVR8 ermöglicht aber immerhin, den gesamten (oder zumindest
-
Thread
ATtiny841, onboard Temp auslesen
= ADCH; // message.wert[3] = ADC; // [/c] bekomme ich momentan ausgelesen für ADCL = 28 ADCH = 1 ADC = 28 Wenn die ADC = 28 der Rest vom Byte Überlauf ist, dann stimmt das irgendwie nicht. Das müssten ca. 45 sein, wenn 25°C = 300 LSB sind. [c] void set_onboard_Temp_Measurement(
Aus ADCL = 28 und ADCH = 1 (BYTE) würde ich ADC (WORD) ADC = ADCL + 256 * ADCH = 28 + 256 * 1 = 284 zusammensetzen. Das ist etwas unter 300 (< 25 °C) Keine Ahnung, wie deine Prog-Bibliothek den Wert ADC
-
Thread
DS 1307 via I2C an atmega328-brauche Hilfe
|__________|--|_____| CPU-FREQ ist 1mHz als Programm auf dem avr habe ich zum schreiben der Daten folgendes: void write_RTC() { power_twi_enable(); PORTC |= (1<<PORTC5) | (1<<PORTC4); TWBR = 2; _delay_ms(5); TWCR = 0xA4; //start while
TWDR = Registeradresse TWCR = 0x84 ; Abschicken Warte auf TWINT-Flag TWSR AND 0xF8 = 0x28 ? ; Erfolg? TWDR = Daten TWCR = 0x84 ; Abschicken Warte auf TWINT-Flag TWSR AND 0xF8 = 0x28 ? ; Erfolg? TWCR = 0x94 ; STO senden [/code] Gruß Jobst
-
Thread
DIL-Switch EEPrommer
auch den Nachteil, das man aus dem RAM keine Programme ausführen kann (Harvard-Architektur, wie beim AVR). Wenn der externe RAM auch mit ~PSEN lesbar ist, geht das. Daher hab ich in die alte Stulle für jeden Controller/Speichertyp das passende "Plugin" geladen. mfG
vorgesehen. Den AT89S52 kannst Du mit hiermit http://www.ehajo.de/baus%C3%A4tze/smd-baus%C3%A4tze/avr-isp-stick.html und AVRDUDE programmieren (Reset invertieren).
-
Thread
Kleiner Generator in Planung
Bei gleicher Umfangsgeschwindigkeit (3cm Flügelrad) hat das 28'-Rad noch 421 U/min. Wenn schon Äpfel mit Birnen vergleichen wollen, dann passende Vergleichsgröße nehmen.
Ingo L. schrieb im Beitrag #4643574: > Der Umfang eines > 28-Zoll-Fahrradreifens beträgt je nach Mantel rund 67 cm. Aha - interessant, dann hat der ca. 21 cm Durchmesser - merkwürdig wenig für einen 28 Zoll Reifen ...
-
Thread
4x Nibbles auf 16 Bit Wert packen
D. schrieb im Beitrag #4615525: > Klar geht das mit schieben- dauert aber zu lange, Auf einem AVR 'inline' 24 Takte.
daran liegen, dass eine solche nicht > existiert. Ich kann das hier zwar nur für den gcc auf einem AVR nachvollziehen... Aber von den Schiebeoperationen im Quelltext bleibt im Assemblercode nichts mehr übrig.
-
Thread
Mikrocontroller Einstieg (AVR,PIC)
funktioniert. Also ich möchte eigentlich gar nicht von AVR-Weg habe dahin gehend aber auch keine präferenzen. Zumindest habe ich bislang keine stichhaltigen Argumente für oder gegen PIC und AVR gefunden. (So wie ich es verstanden habe ist AVR etwas besser für
PIC18F43K20, PIC18F44K20, PIC18F45K20, PIC18F46K20 Die Zahl hinter dem F gibt das Package an: 2 -> 28pin mit 25 IOs, 4 -> 40/44pin mit 36 IOs. Die Zahl vor dem K gibt den Speicher (Flash/RAM) an: 3 -> 8kB/512B, 4 -> 16kB/768B, 5 -> 32kB/1536B, 6 -> 64kB/3936B. Abgesehen von IOs und Speichergröße sind
-
Thread
Assembler Programm zu umständlich
übergeben und den Assembler/Compiler anhand der CPU-Frequenz die nötigen Variablen ausrechnen lassen. Der AVR-Assembler kann intern bis 64Bit Ganzzahl und der C-Compiler double float rechnen.
r25,0 brne 1b rjmp . nop subi r24,lo8(-(-1)) rjmp .L2 .L5: ret main: push r28 sbi 0x18,2 sbi 0x12,0 sbic 0x13,4 rjmp .L9 ldi r28,lo8(8) rjmp .L8 .L9: ldi r28,lo8(10) .L8: in r24,0x15 andi r24,lo8(15) or r24,r28 out 0x15,r24 ldi r24,lo8(60)
-
Thread
Seltsames Verhalten von avrdude für EEprom Programmierung
^^ < /dev/ttyUSB4 14 10 .. > /dev/ttyUSB3 64 00 04 45 72 6C 64 20 20 d..Erld < /dev/ttyUSB4 14 10 .. > /dev/ttyUSB3 55 0C 00 20 U.. < /dev
] . [02] . [00] [20] avrdude: Recv: . [14] avrdude: Recv: . [10] avrdude: Send: d [64] . [00] . [04] E [45] o [6f] [20] W [57] o [6f] [20] avrdude: Recv: . [14] avrdude: Recv: . [10] Writing | ############## | 28% 0.04savrdude: Send: U [55
-
Thread
Womit anfangen?
einfach mal den Artikel zu AVR https://www.mikrocontroller.net/articles/AVR und die beiden Tutorials https://www.mikrocontroller.net/articles/AVR-Tutorial https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial durch.
Bausaetze/ATMEL_Evaluations_Board_Version_2_0_1_Bausatz.html Dazu hab ich mir dann noch ein 128x64 LCD gekauft und schon viele Bastelein durchgeführt. Auf Arbeit habe ich mit den Atmel ARM µc zu tun (SAM4), jedoch würde ich nicht direkt mit ARM µc beginnen. Meine Meinung: C + Atmel AVR = guter
-
Thread
Atmega8 und I2C-Display startet nicht
wie viele > Lötstellen Du da siehst. Es ist ein fertiges Modul welches 1:1 auf LCD geht und von AVR per I2C angesteuert wird. Deswegen kann er auch Hintergrundbeleuchtung mit einem Pin aus- oder einschalten. Sein AVR sitzt auf der Lochrasterplatine. Frickelfritze schrieb im Beitrag #4601108
Codeblock ausprobiert. Es scheint zu funktionieren, obwohl Kommentare falsch sind. Sogar mit 128x64. Unglaublich. Nur der Text auf dem Display nervt mich ein bisschen... Kannst du mir mit deinen LCD-Kenntnissen helfen ?
-
Thread
Serielle Kommunikation mit 7x7 LED Matrix
übertragenen Daten seit ca. 10 Minuten Laufzeit im Loop. Verlorene Bytes passieren da schneller, wenn der AVR noch mehr zu tun hat, dann reicht sein serieller Puffer gern mal nicht aus, wenn man nicht aufpaßt im Programm. Gruß aus Berlin Michael
-33 -32 -31 -30 -29 -28 -27 -26 -25 -24 -23 -22 -21 -20 -19 -18 -17 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 Die Daten werden alle doppelt übertragen? Und wieso zuerst "instant" und