-
Thread
ATmega328p: timestamp beim Flashen ohne Zusatzhardware? Gesperrt
Vorschlag. Beispielsweise in den Sockel zum Flashen auch noch den UART an den PC durchverbinden. Der AVR wird beim Startup prüfen, ob bereits eine Zeit im EEPROM steht, wenn nein: - AVR sendet per UART kurzen Befehl an den PC, wo ein kleines Programm läuft - PC antwortet mit Uhrzeit - AVR schreibt
#4885874: > Für das Compile Datum kann man folgendes in den Code einfügen: > #define MCSOFTBUFSIZE 128 > .... Das muss ich mir in einer ruhigen Minute beschnüffeln, gute Idee das..
-
Thread
if condition schöner schreiben?
ich wollte fragen ob es eine schönere Lösung > dafür gibt? eventuell so [c] if ( i > 0 && < i 28 && ( i & 4 == 0 ) ) { } [/c]
Yalu X. schrieb im Beitrag #4885099: > Das hängt vom verwendeten Compiler ab. Der AVR-GCC 6.3.0 liegt mit > seinem Ergebnis schon sehr nahe am Optimum: > > andi r24, 0xE7 > cpi r24, 0x04 > brcc ... > > Er halt also das dahintersteckende System erkannt. Respekt
-
Thread
AVR: Pointer in Register - wie definieren?
gelassen. Dadurch ist dort auch der Offset 0x20 bei den IO-Registern verschwunden, den man sonst beim AVR zwischen Adressierung per IN/OUT und Adressierung per STS/LDS hatte.
r1, r1 ce: 1f be out 0x3f, r1 ; 63 d0: cf ef ldi r28, 0xFF ; 255 d2: d1 e2 ldi r29, 0x21 ; 33 d4: de bf out 0x3e, r29 ; 62 d6: cd bf out 0x3d, r28 ; 61 000000d8 <ramtest
-
Thread
Arduino - Speicheroptimierung?
und den Rest vom externen Server nachladen zu lassen. Zusammenführen macht der Webbrowser. Der AVR muss nicht Reverse-Proxy spielen. AJAX dann natürlich direkt zwischen Webbrowser und AVR.
ohne AVR, also "trocken", zu üben.
-
Thread
Buck-Converter Transistor-"Abschaltkurve"
circuitjs.html?cct=$+1+2e-9+10.20027730826997+50+5+50%0AR+96+256+64+256+0+2+150000+5+0+0+0.5%0Aw+96+256+128+256+0%0Ar+128+256+176+256+0+5000%0At+176+256+208+256+0+1+-17.879568247710594+-5.879568247786291+100%0Ar+208+272+208+304+0+100%0Ag+208+304+208+336+0%0Aw+208+240+208+176+0%0Ar+208+128+208+96+0+470%0AR
+336+0%0Aw+288+176+208+176+0%0Aw+208+176+176+176+0%0Aw+176+64+208+64+0%0Aw+208+96+208+64+0%0Aw+208+128+208+176+0%0Ad+368+304+368+256+1+0.805904783%0Ag+368+304+368+336+0%0Aw+128+256+128+224+0%0Aw+176+256+176+224+0%0Ac+128+224+176+224+0+4e-9+0.8795682477812568%0Ao+16+64+0+2083+80+3.2+0+-1+0%0A
-
Thread
ADC wandelt nicht
geschrumpft. Die Ausgabe über den Bus und den ganzen Rest habe ich rausreduziert: [C] #include <avr/io.h> #include <avr/interrupt.h> #include <inttypes.h> #include <stdbool.h> #define F_CPU 16000000ULL #include <util/delay.h> uint16_t uadc; void PORT_Init() { PORTE = 0b00011000
Vielleicht liest du den Wert des ADC nur falsch aus? --> http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#16-Bit_Register_.28ADC.2C_ICR1.2C_OCR1x.2C_TCNT1.2C_UBRR.29
-
Thread
Bitmanipulation beschleunigen
variant4 (uint8_t in) //------------------------------- { uint8_t a,b,c,d; a = __builtin_avr_insert_bits (0x11110000, in, 0); b = __builtin_avr_insert_bits (0x33332222, in, 0); c = __builtin_avr_insert_bits (0x55554444, in, 0); d = __builtin_avr_insert_bits (0xffff6666, in, 0);
eProfi schrieb im Beitrag #4849532: >> d = __builtin_avr_insert_bits (0xffff6666, in, 0); > aha, nach 6 kommt f > in diesem Fall schon: Input hat 7 (nicht 8!) Bits, Output daher 28 (nicht 32). Daher wollte ich in diesem Fall die obersten 4 Bits auf
-
Thread
SSD1306/1309 Library zum Darstellen von Text auf OLED Displays
D:\AAA Technik\Programme AVR Studio\ATB_I2C_OLED_L128\ATB_I2C_OLED_L128\oledl128.c 465 [/c] nicht klar warum das kommt.
] ATB_I2C_OLED_L128 D:\AAA Technik\Programme AVR > Studio\ATB_I2C_OLED_L128\ATB_I2C_OLED_L128\oledl128.c 465 > [/c] > nicht klar warum das kommt. Steht doch da (Tip: Besorg Dir ein C-Buch...): Der Ausdruck (x1
-
Thread
Kleinster und einfachster Linux Prozessor
Nicht ganz ernst gemeinter Beitrag: http://hackaday.com/2012/03/28/building-the-worst-linux-pc-ever/ erfüllt aber immerhin alle genannten Anforderungen ;-)
die Leute mit akademischem Interesse, und beliebig viel Elan... Allenfalls koennte man fuer einen AVR einen x86 Binary interpreter schreiben, und den dann auf einem Arduino laufen lassen...
-
Thread
Servosteuerung 30 A - H-Brücke verstärken?
mal quer durch die Datenblätter und die Vergleichstabelle https://www.mikrocontroller.net/articles/AVR_Typen#Vergleichstabelle.28n.29_.2F_Ausstattung geflogen. Ergebnis auf die Schnelle: Ich denke der AT90CAN.. hat die gleichen Timer wie Atmega64 und Atmega128 - 8-bit-Timer 0 und 2 ähnlich wie
, die Chips und Boards aus dem letzten Jahrhundert zum Schleuderpreis verticken :-) Und der atmega128 pinkomptaibel ist. Da finde ich nette *TQFP64 breakouts* : http://www.dhgate.com/product/5x-atmel-atmega128-avr-development-board/387214271.html#sd1-2-1b;rvw|1187532688 $2,50 das Board, Es ist
-
Thread
PROM lesen /schreiben / Programmiergerät
Oszillatorfrequenz auf einen Wert herunter, den das PLL-IC an seinem Eingang verarbeiten kann. Der Teilerfaktor ist 128 bzw. 129, gesteuert vom PLL-IC selbst.„ Verstehe ich so: Bsp: Frequenz: 803,550 MHz → wird durch 128 oder 129 geteilt, also bei 128 = 6,277734375 MHz (Der verbaute Quartz hat genau 6 MHz)
FR_Input.IntValue*1000; n2 := 0; n1 := 0; n0 := 0; fehler := false; repeat n2 := n2 + 1; tz1 := (128*n2+n1)*128+n0; ergebniss := OVR*tz1-freq; Until sign(ergebniss)<> -1; n2:=n2-1; if n2 >127 then fehler := true else fehler := false; repeat n1 := n1 + 1; tz1 := (128*n2+n1)*128+n0;
-
Thread
DTMF decoder
einmaligen Leistungsberechnung. Das wird wahrscheinlich drauf rauslaufen, dass man vielleicht 64x oder 128x vor sich hin goertzelt und danach die Leistungsberechnung vornimmt. Also hab' ich 64 oder 128 Samples vorliegen, beim AVR bestenfalls mit 10bit Aufloesung. Da kann ich mir gut vorstellen, dass da
304 8 7 15 0 15 3 710 Hz 5639 149 8 31 65 3 29 28 720 Hz 3294 8 128 14 15 7 8 3 730 Hz 1722 240 149 3 29 3 65 0 740 Hz 228 1942 93 35 22 182 1 45 750 Hz
-
Thread
Viel Information mit wenig Bytes übertragen
−32.768 bis 32.767 codieren. Das auf einen sinnvollen Temp Bereich gemappt (z.B. -40 bis +88 --> 128°) ergibt zB. folgendes: Wertebereich = 65.535 (dh. ich habe eine Auflösung von 128 / 2^16 = 1/512 = 0,0019° = mehr aus Ausreichend!!) Nullpunkt auf -40° Festgelegt, also 0 = -40°; 1=-39,998°;
auf Zehntel Grad genau auflösen? Wenn nein: Ein einzelnes Byte reicht für Temperaturwerte von +128 bis +127. Oder für einen halb so großen Bereich wenn man halbe Schritte zulässt, wie der Kollege über mir schon geschrieben hat.
-
Thread
SSD1306 Display Probleme bei Zahlendarstellung
Letter V {0x3C,0x40,0x30,0x40,0x3C}, // ( 87) w - 0x0077 Latin Small Letter W {0x44,0x28,0x10,0x28,0x44}, // ( 88) x - 0x0078 Latin Small Letter X {0x0C,0x50,0x50,0x50,0x3C}, // ( 89) y - 0x0079 Latin Small Letter Y {0x44,0x64,0x54,0x4C,0x44}, // ( 90) z - 0x007A
I2C_LCD.c * * Created: 02.12.2016 10:55:04 * Author : */ #define F_CPU 8e6 #include <avr/io.h> #include <avr/eeprom.h> #include <avr/pgmspace.h> #include <util/delay.h> #include <stdlib.h> #include <string.h> #include "i2c.h" #include "SSD1306.h" #include "light_ws2812.h" struct
-
Thread
Verkettete Liste für Mikrocontroller Gesperrt
Stefan U. schrieb im Beitrag #4814015: > Welcher kleine Mikrocontroller (wie AVR's) hat denn 64kB RAM? Silabs EFM32GG hat bis 1M Flash und 128kB RAM. Als Cortex-M3 mit maximal 48 MHz ist der noch in der AVR Klasse. Ein NRF52 von Nordicsemi hat 64 kB RAM (Cortex M4F mit 64MHz
Ich hab von nem Kollegen die AVR-ENC28J60-Lib includiert, der benutzt darin auch malloc. Funktioniert, also mache ich mir da keinen Kopp. Selber habe ich aber noch keine Applikation gehabt, die von malloc profitieren würde.
-
Thread
Auslesen von 48 Tastern mit AVR
würde ich es gerne auf einem ATMega2560 mit 16MHz laufen > lassen. Das kann noch ein Tiny mit 128 kHz.
siehe auch: https://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister
-
Thread
WS2812 LED-Streifen mit Raspberry Pi 3 ansteuern?
ware das Prinzip (egal ob SPI oder UART) leider deutlich komplizierter umzusetzen als beim AVR. Jedenfalls wenn Linux als OS die Basis sein soll... Dazu würde nämlich der Kern meiner AVR-Lösung als Treiber umgesetzt werden müssen, sonst grätscht das nicht echzeitfähige System für den userspace
des Rechenzeitverbrauchs nicht zu verstehen vermagst... Natürlich wäre es dafür sinnvoll, in ws28xx_user nicht gerade den Democode zu verwenden, der ja einen (zumindest auf einem Tiny) erheblichen Teil der von der eigentlichen WS28xx-Ausgabe freigesetzten Rechenzeit gleich wieder für die Berechnung
-
Thread
Leistungsstärkere Alternative für Atmega/Arduino
Gibt es denn schon eine Richtung wo du hin willst? AVR oder mehr? Welche Sprache? ASM, C, C++ ? Welche Frequenz - bis 16 MHz oder bis ca. 50 MHz? fertig kaufen oder selber bauen?
Realisierbarkeit kommt, funkt schon alles ;-) Ich such nur was mit mehr RAM weil der 328 und 2560 für ein 128x128x65k OLED Display leider zu wenig davon haben und es wär halt schon cool, wenn der Helligkeitsbalken des jeweiligen Farbkanals in der jeweiligen Farbe angezeigt werden würde. Arduino F. schrieb
-
Thread
Grosses Display (ev. 7-Seg.) für CO2-Anzeige gesucht
batterietauglich. Naja, wenn das das einzige Problem ist, die Schrittmotoren sehen schwer nach 28BYJ-48 aus, zum Beispiel wie die hier: https://www.amazon.de/28BYJ-48-28BYJ48-4-Phase-Arduino-Stepper/dp/B00ATA5MFE Die Dinger haben ein Getriebe drin, die verdreht man stromlos nicht einfach so,
Application Note AVR340 bschreibt, wie man ein multiplexed LCD, wie MaWin es vorschlägt, einfach mit jedem AVR, der genügend I/O Pins hat, ansteuern kann: http://www.atmel.com/images/doc8103.pdf
-
Thread
Neue 8-Bit Tinys vorgestellt: 417/814/816/817 Gesperrt
Der klassische Microchip TinyAVR.
Tatsache, dass die AT90CAN* mittlerweile auf not recommended for new designs stehen und es für den 128er keinen wirklichen Ersatz gibt. Zur weiteren Zukunft hieß es sinngemäß: wir glauben an AVR, sie werden nicht sterben. Von anderer Stelle habe ich allerdings mitbekommen, dass die Atmel-übernahme
-
Thread
"Universalprogrammer" für Linux
struct ftdi_context *ftdi; struct ftdi_device_list *devlist, *curdev; char manufacturer[128], description[128], serialnumber[128]; int retval = EXIT_SUCCESS; if ((ftdi = ftdi_new()) == 0) { fprintf(stderr, "ftdi_new failed\n"); return
Checking device: %d\n", i); if ((ret = ftdi_usb_get_strings(ftdi, curdev->dev, manufacturer, 128, description, 128, serialnumber, 128)) < 0) { fprintf(stderr, "ftdi_usb_get_strings failed: %d (%s)\n", ret, ftdi_get_error_string(ftdi)); retval = EXIT_FAILURE
-
Thread
Wieso gibt es keine gute Programmiersprache?
Torsten C. schrieb im Beitrag #4784922: >> Was auf ARM64 schnell ist, ist auf AVR langsam /und >> umgekehrt/. > Wenn der p-code gut ist, dann holt er überall raus, was rauszuholen ist. Das ist prinzipbedingt unmöglich. Schaue dir die üblichen Programmierstile für AVR und x86
zwischen beiden nicht unterschieden hat, waren halt alles Daten. So macht's ja am Ende auch der AVR-GCC.
-
Thread
mal wieder: Spass mit Linux Gesperrt
abgeschmiert als der NETIO und beim NETIO habe ich nun die Designmacke, fehlende KerKos an VCC vom ENC28J60 nachgerüstet.
handelsübliche Paketverwaltung (z.B. unter Ubuntu oder Arch) bringt sogar so exotische Pakete mit die den avr-gcc/avr-libc/avrdude oder boost in der gewünschten Version und viele andere Softwarepakete, deren Installation unter Win regelmäßig zum Krampf ausartet. Das einzige Tool was ich a weng vermisse unter
-
Thread
Inbetriebnahme ENC28J60 Radig/RoeBue Arduino nano3
ein ENC28J60 hängt am Arduino nano3 - siehe Bild. Die Codebasis ist der Webserver von Radig/RoeBue. Der C-Code übersetzt fehlerfrei. Nach Direkt-Verbindung des ENC-Moduls zum Laptop kommen über die serielle Schnittstelle
192.168.178.90 mit 32 Bytes Daten: Antwort von 192.168.178.90: Bytes=56 (gesendet 32) Zeit=1ms TTL=128 Antwort von 192.168.178.90: Bytes=56 (gesendet 32) Zeit=1ms TTL=128 Antwort von 192.168.178.90: Bytes=56 (gesendet 32) Zeit=1ms TTL=128 Antwort von 192.168.178.90: Bytes=56 (gesendet 32) Zeit=1ms
-
Thread
ATMega168 @ 20Mhz ADC dauert zu lange DCC NMRA
ADC-Wert von 120 habe, dann entspricht dies 2,578A. Mit der obigen Berechnung komme ich auf 26,28dA. Ich verstehe auch die +128 nicht, wenn ich die nicht habe, dann habe ich 25,78dA dass passt schon besser. Die korrekte Berechnung müsste doch so lauten: [c] uint16_t current = ((55 * ADCW) /
von 120 habe, dann entspricht dies 2,578A. Stimmt. >Mit der obigen Berechnung komme ich auf 26,28dA. Stimmt auch, ist halt gerundet. >Ich verstehe auch die +128 nicht, Das ist zum Runden. 128/256 = 0,5. Wenn man die addiert, wird mathematisch korrekt gerundet. Ist aber akademisch. >uint16
-
Thread
C-Code von AVR-NET-IO zu bekommen?
ich habe ein ENC28J60-Modul und möchte ihn mit einem Arduino nano3 in Betrieb nehmen. RTC und SD-Card laufen mit WinAVR und C. Nun suche ich eine Software in C zum Ansprechen des ENC. Es gibt den Code für die Register
leider nicht so ermutigend aus: https://www.mikrocontroller.net/topic/308495 "Ich habe mir nun einen AVR-NET-IO von Pollin besorgt, und suche nun "nur noch" nach einer Ethernet-Bibliothek für Atmega32/Enc28j60 mit DNS- und TCP-Client-Funktionalität. Darüber bin ich schier am Verzweifeln." "Ist zwar
-
Thread
Mikrocontroller von Atmel der I2C und CAN kann
29%29,%28i:8392,v:!%280,1%29%29,%28i:8378,v:0%29,%28i:8445,v:!%281,4,5,6,7,9%29%29,%28i:8236,v:!%280,36%29%29,%28i:8449,v:!%281,11%29%29,%28i:8474,v:!%280%29%29,%28i:8248,v:!%280,1%29%29,%28i:8264,v:!%280,5%29%29,%28i:8447,v:!%280,1%29%29,%28i:8256,v:!%281,2,3,4%29%29,%28i:8254,v:!%283,18%29%29,%28i:8286,v:!%280,3%29%29,%28i:8462,v:!%280,10%29%29,%28i:8429,v:!%280,10%29%29,%28i:8458,v:!%281,8%29%29,%28i:8466,v:!%
-
Thread
AVR als EPROM benutzen (C-Optimierung)
Ersatz-Chips nicht stimmt? Das hat mich auch schon gewundert. Ich hätte nen (fast) pinkompatiblen 28C256 genommen. Und wenn man kein Programmiergerät hat, ist das mit nem AVR auf Lochraster auch schnell hingefrickelt.
Sub-Platine untergebracht die ich komplett neu mache, also Pinout ist egal. Abgesehen davon finde ich den AVR einfacher zu routen als den 27er, wer hat sich nur so ein Pinout ausgedacht. > Ich hätte nen (fast) pinkompatiblen 28C256 genommen. Und wenn man kein Der dann auch gerne mal das dreifache des AVR
-
Thread
Asuros fahren nicht
************************************************/ #ifndef ASURO_H #define ASURO_H #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #define FALSE 0 #define TRUE 1 #define OFF 0 #define ON 1 #define GREEN 1 #define RED 2 #define YELLOW 3
**********************************************/ #ifndef ASURO_H #define ASURO_H #include <avr/io.h> #include <avr/interrupt.h> #ifndef SIGNAL #include <avr/signal.h> // header file obsolete in actual avr-libc #include <inttypes.h> #endif #include <avr/pgmspace.h> #include <stdlib.h
-
Thread
Zeigt her Eure interessanten historischen Bauelemente
, meinen Bestand an VQC10 durch einen Z8 ansteuern zu lassen, habe mich dann aber doch für einen AVR entschieden. ;-) Platine ist allerdings noch nicht in Betrieb genommen.
gestern nicht dazu gekommen, meinen Freitags Beitrag zu schreiben. So tue ich es halt am Samstag bei -28 Grad Kälte. *) PIA = "Pain in the A.."
-
Thread
(Umfrage) Was war eure erste Programmiersprache usw.?
versucht es in einer kindlichen Rolle zu verstehen? https://docs.racket-lang.org/reference/module.html#%28form._%28%28quote._~23~25kernel%29._module%2A%29%29 ) Kennst Du LOGO?
Fortran Turbo Pascal unter CP/M Turbo Pascal unter DOS Prolog unter DOS 8051 Assembler Delphi AVR Assembler AVR GCC
-
Thread
kleiner Webserver mit LAN8720 oder ENC28J60?
: > Der LAN8720 hat jedoch lt. > Datenblatt 3.3V. Das geht so wohl nicht. Keine Ahnung ob der ENC28J60 da > günstiger ist. Der ENC möchte auch mit 3V versorgt werden. Sein IO passt aber zu einem 5V AVR.
Plus: das eingebaute Ethernet ist doppelt so schnell wie der über den SPI-Flaschenhals angebundene ENC28J60. > Größere Controller auf Platine scheinen deutlich mehr als 15cent teurer > zu sein. Wo gibt es einen Atmega128 für 2.65 auf Platine? Wie hoch sind die benötigten Stückzahlen? 100? 1000?
-
Thread
ATtiny85 mit Arduino ISP flashen
: skipping page 28: no interesting data avrdude.exe: avr_read(): skipping page 29: no interesting data avrdude.exe: avr_read(): skipping page 30: no interesting data avrdude.exe: avr_read(): skipping page 31: no interesting data avrdude.exe: avr_read(): skipping page 32: no interesting data avrdude.exe: avr_read(): skipping page 33: no interesting data avrdude.exe: avr_read(): skipping page 34: no interesting data avrdude.exe: avr_read()
-
Thread
AVR GCC Debug Möglichkeiten , nicht nachvollziehbarer Fehler
Es kommt dann nur die Meldung "avr-objdump: can't use supplied machine -avr4"
[c] #include <stdio.h> #include <stdlib.h> #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/pgmspace.h> #include "define.h" #include "RX5808.h" #include "max7456.h" #include "uart.h" //**********************
-
Thread
AVR mit zu wenig Spannung betreiben
nicht: "Mit Vorteiler tuts das" Wer unbedingt 3,3V und 16MHz will, wird offensichtlich in der AVR Welt nicht glücklich. Viele (alle?) ARM können das. Also? Dem findigen Entwickler fällt schon was ein.....
Versorgungsspannung richtig funktioniert. > Wer unbedingt 3,3V und 16MHz will, wird offensichtlich in der > AVR Welt nicht glücklich. mir würden 1Mhz reichen, aber die Module sind mit 16Mhz Quarz bestückt. Ich möchte klären, ob ich unbedingt den Quarz auswechseln muss.
-
Thread
Befehlssatz der bo8-CPU - was ist gut, was ist schlecht
wir können durchstarten! Jetzt wird sich bo8 durchsetzen, und in zwei Jahren kennt keiner mehr ARM, AVR und x86.
Erklärung, was denn dort genau zu sehen ist. Nein "Ein Demo-Programm" und "Conway's Game of Life 128*128" ist nicht ausreichend.
-
Thread
NETIO Webcambilder abrufen & speichern
Bei mir arbeitet ein AVR-NETIO Server mit der Software von U.Radig. Im gleichen Netz habe ich zwei Webcams deren (Stand)Bilder ich abrufen und auf der SD-Card des NETIOs speichern möchte. Wer kennt sich mit der Radig-Software
der Kamera, die sendet mit 921kBit das komplette Bild ohne Pause. Notgedrungen speichert er jeweils 128 Byte vom Bild und schickt es per Webserver raus. Dann fordert er das Bild wieder an und bearbeitet die nächsten 128 Byte bis er alles rausgeschickt hat. Bei TCP kann man sich die Pausen zum Verarbeiten
-
Thread
avrdude , mega8a lässt sich nicht programmieren.
avrdude.exe: Send: 0 [30] [20] avrdude.exe: Recv: . [14] avrdude.exe: Recv: . [10] AVR Part : ATmega8 Chip Erase delay : 10000 us PAGEL : PD7 BS2 : PC2
---- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 4 20 128 0 no 512 4 0 9000 9000 0xff 0xff Block Poll Page Polled Memory Type Mode Delay Size Indx
-
Thread
Atmega8, DCF an Interrupt. Ungültige Signaldauer mit externem Quarz
DCF_Debugging * * Created: 19.09.2016 17:57:22 * Author : devpap */ #include "uart.h" #include <avr/io.h> #include <avr/interrupt.h> #include <stdlib.h> #include <stdio.h> volatile uint16_t g_millis; /* Zähler für Millisekunden der kurzen Signale 0 oder 1*/ volatile uint16_t g_breakMillis
c * * Created: 08.10.2016 15:26:48 * Author : devpap */ #include "uart.h" #include <avr/io.h> #include <avr/interrupt.h> #include <stdlib.h> #include <stdio.h> uint8_t g_dcfRegisterFlags[2]; #define DCFACTIVE 0 #define NEWSECOND 1 uint16_t g_millis; /* Zähler für Millisekunden
-
Thread
ItoA mit Uint64_t
1cd bm03a.elf > [/c] > > bm02a: meine template Variante (auch die schnellste) > bm03a: aus avr-libc Lass einfach mal "constexpr uint8_t Base = 10;" weg und übergib Base als Parameter, das mach den Vergleich mit der avr-libc etwas realistischer.
das dieser Thread wieder etwas belebt wird. Ich werde bald ein anderes Zahlenformat benötigen. 128-bit (64.64) signed fixed-point arithmetic. https://github.com/fahickman/r128 Da dürfte es sinnvol sein, für dieses Format meine Routinen zu erweitern.
-
Thread
AVR und der Umgang mit C++
sbci r23, 0x01 ; 1 124: cb 01 movw r24, r22 126: 96 95 lsr r25 128: 87 95 ror r24 N = frequency / 32; A = frequency % 32; 12a: 28 2f mov r18, r24 12c: 2f 71 andi r18, 0x1F ; 31 N = frequency / 32; 12e: cb 01
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
SD-card mit FatFs auf Arduino nano3 in Betrieb nehmen
sein. Außerdem ist ein RTC-Modul mit DS1302 vorhanden. Der Treiber dazu läuft. Als Software ist WinAVR installiert WinAVR-20100110-install.exe und Codeblocks als Editor. Die Umgebung arbeitet. aus der FatFS-Datei ffsample.zip habe ich den Ordner "generic" gewählt. Die Dateien dort haben den aktuellen
mit weniger MB scheinen laut ChaN schneller zu sein: "Write: 77kB/sec, Read: 328kB/sec on the 128MB SDC, Write: 28kB/sec, Read: 234kB/sec on the 512MB SDC and Write: 182kB/sec, Read: 312kB/sec on the 128MB MMC.." MMC scheint schneller als SD zu sein.
-
Thread
Neues SDK für ESP32 Gesperrt
befasst. Hat der ESP32 eigentlich endlich mal sowas wie Lockbits? Also eine Art Kopierschutz wie beim AVR?
28 ili geht aber auch..
-
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