-
Thread
Per Php zum Rs232-Lan Wandler
Pragma: no-cache Cache-Control: no-cache Connection: Keep-Alive Darauf antworte ich mit einem Avr am Rs232 HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win32) Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT Content-Length: 55 Content-Type: text/html Connection
Dadurch bekomme ich gewünschtes Hallo welt auf den Browser Da das gerät aber nicht über den Avr die ganze Seite stellen soll kommt meine eigentliche Seite von einem Nas. Ich möchte lediglich einige Variablen per Php holen und diese in die Seite einbinden
-
Thread
in_addr_t - Datentypen Umwandlung Sinnfrage
ansahen. Und Microsoft sich folglich nicht traute, das nahe liegende zu tun, statt dessen long long für 64 Bits benötigte. Auf anderen 64-Bit Systemen ist long ein 64-Bit Typ (LP64). Es gibt (oder gab) auch Systeme, auf denen int 64 Bit breit ist (ILP64), sogar mit short in 64 Bits (SILP64). https://de.wikipedia.org
mindestens den Bereich -32767 bis +32767 abdecken können, darf aber auch beliebig mehr. Auf einem AVR ist int 16 Bit breit, auf deinem PC aber 32 Bit. Das gleiche gilt ja auch für andere Typen wie Zeiger. Ein AVR braucht auch viel kleinere Zeiger als ein 64-Bit-PC, da der Adressraum ja viel kleiner
-
Thread
S/P-DIF Mixer - lohnt sich selbst bauen?
, der von der Technik abhängt, die im Wohnzimmer steht. Da kommt es eben drauf an, ob es ein guter AVR ist oder ein Billigteil. Es gab mal einen Aufnahme- und Pressjitter bei Audio-CDs der infolge der digitalen Abspielmethodik aber praktisch weg ist und durch den obigen ersetzt wurde. Und es gibt
Filterkoeffizienten aus einer kleineren Tabelle interpoliert werden - linear?), dann verwenden die einen 64-Tap-FIR (wieder einfach). Das schreibt sich leicht, aber wenn man das codiert und zum Laufen bringen will, kommt, schätze ich, so manches "Ach du Schei..., was nun?"-Erlebnis. Beispiel: Es geht nicht
-
Thread
Geschwindigkeit Arduino > C
braucht auf normalen AVRs 2 Takte, auf den tinyAVRs ("Number of clock cycles for Reduced Core tinyAVR") einen Takt.
LunaAVR? Musste erst nachgucken, was das sein soll: Modernes Basic. Da schaudert es mich. Basic habe ich seit 1985 nicht mehr angefasst - da gab es auf dem C=64 für uns Kinder vom Lande noch nichts anderes
-
Thread
Hilfe bei Zeitmessung mit Interrupt
INTx für den Start eines Timers, z.B. Timer1 zuständig, den man per Software beliebig auf 32 Bit oder 64 Bit erweitern kann. Die nächste steigende Flanke am INTx stopp den Timer und man setzt ein Flag "Messung beendet" auf true. Im der Mainloop wird dann das Ergebnis ausgewertet und verrechnet.
Problem lässt sich aber lösen (siehe z.B. hier: http://rn-wissen.de/wiki/index.php?title=Timer/Counter_%28Avr%29#Input_Capture). Für einfach nur besser als 1 ms Auflösung könnte man ggf. einfach den Timer langsam genug laufen lassen, dass man mit der 16 Bit Auflösung des Timers auskommt. Der geziegte
-
Thread
automatischer Vorschub für Drehbank
und eine Einstellmöglichkeit für das Verhältnis. Dann kann ich endlich meine 20mm/Umdrehung bei 28/min fahren :-)
Schleifscheibenaufsatz spezielle Geometrien schleifen, da nehme ich vermutlich nur die niedrigste Drehzahl von 28/min, was dann nicht ganz 10mm/s an Vorschub bedeuten würde.
-
Thread
WordClock mit WS2812
den Pins rumpatsche... [c] #?n?<4>?;<24><2><14><2>nr???;<2>??<\f> <18><2>l`<27><4>nn???<\0><\f><28>?r?<28>??<27><2>?<28>?<\f><31>p<\f><24>p??<<2>??<\f>??<\f>b???~?n?<3>??<\f><24>r<24><2>?<18>?#?n?<4><15>r<24><2><14><2>nr???;<2>??<\f>?<14><2>?;?<2><14>r???n?<4><14>?r??l`<27>$`<27>??|??<\0>?8~?n?<2>
11 23 22 21 20 19 18 17 16 15 14 13 24 25 26 27 28 29 30 31 32 33 34 45 44 43 42 41 40 39 38 37 36 35 46 47 48 49 50 51 52 53 54 55 56 67 66 65 64
-
Thread
CARRY schnell invertieren Assembler ATmega8 ?
. empfängt, speziell im Search-Modus, 2 Bits empfangen, danach ein Bit senden und das ganze 64 Mal.
gibt außerdem deutlich bessere Busse für Busspeisung, z.B.: https://de.wikipedia.org/wiki/M-Bus_%28Feldbus%29
-
Thread
mikroc pro for avr interrupt & DCF77
ein kleinen Überblick über meine Software und Hardware. Programmieren tue ich mit Mikroc pro for AVR Als Mikrocontroller habe ich ein Entwicklungsboard von Mikroelektronika "Ready for AVR" mit einem Atmega 16 8Mhz. Mit dem Mikrocontroller Steuere ich einen GLCD, DS1820, RTC und den DCF77 an.
TimerCalculator" Das tool gibt mir den code aus für die einstellungen: //Timer0 Prescaler = 64; Preload = 124; Actual Interrupt Time = 1 ms //Place/Copy this part in declaration section void InitTimer0(){ SREG_I_bit = 1; OCR0 = 124; TCCR0 = 0x28; TCCR0 |= 0x03; OCIE0_bit
-
Thread
Empfehlung uC für Display
Verwendung eines externen Speichers wie z.B. einer SD-Karte lösen lässt. Dann reicht auch ein 8-Bit-AVR. Überleg' doch mal, was man in den 80ern mit einem VC64 oder anderen Homecomputern angestellt hat. Die hatten zwar mehr RAM als ein 8-Bit-AVR, waren aber sonst durch die Bank langsamer, und haben
AVR ist ungünstig, weil 5V-Technik. Ja, das Zeugs läuft auch mit 3.3V, dann aber nicht mit voller Geschwindigkeit. Dann eher Dein PSOC4. Oder wenn Du selber löten willst: PIC32MX270F256B-50I/SP. 28
-
Thread
AVR-GCC selbst bauen - Unter Linux für Windows?
464.538 avr-gcc-5.3.1-win64\avr\lib\tiny-stack 458.326 avr-gcc-5.3.1-win64\avr\lib\avr31 405.986 avr-gcc-5.3.1-win64\avr
3.507.416 avr-gcc-5.3.1-win64\lib\gcc\avr\5.3.1\avr3 3.500.950 avr-gcc-5.3.1-win64\lib\gcc\avr\5.3.1\avr35 3.487.948 avr-gcc-5.3.1-win64\lib
-
Thread
MSP430F55 LCD Ansteuerung
AMHM M. schrieb im Beitrag #4393923: > if (cmd & 0x64) iat binär 01100100, also Bit 6,5 und 3 Habe ich 0x64 geschrieben? Sieh nochmal genau hin.
hate this schrieb im Beitrag #4394401: > Wir haben hier kein AVR Krimskarms und sollten daher die besseren > #define nutzen. Kann man so machen (würde ich selbst auch so handhaben, aber mein Code dient nicht Lehrzwecken), da hier aber auch viele AVR-affine Menschen
-
Thread
Einstieg in C - komische Fragen
Jörg W. schrieb im Beitrag #4391272: > Zwar gibt's für > den AVR keine 64-bit-double Gibt es doch, man muß sie nur nehmen: IAR-Kickstart für AVR bietet double. Daß AVR-GCC es nicht kann, bedeutet doch nicht, daß es nicht ginge oder geht.
msx schrieb im Beitrag #4391360: > Gibt es doch, man muß sie nur nehmen: IAR-Kickstart für AVR bietet > double. Wie weit kommt man denn mit einer amputierten Version für gerade mal 4 KiB Code bei 64-Bit-double-Berechnungen? Ich denke nicht, dass das eine wirklich sinnvolle Option ist
-
Thread
Arduino,Atmega328 mit einem UART erweitern
nimm doch den neuen AVR128DA28, der hat pdip28 3x uarts 128KB flash 16K ram 12bit adc 10bit dac ...
zeigefinger schrieb im Beitrag #6236478: > nimm doch den neuen AVR128DA28, der hat So ist das nun mal - nach fast 5 Jahren sieht die µC-Welt ein bisschen anders aus und der AVR128DA28 hat das Licht der Welt erblickt.
-
Thread
ATtiny13 verstehe Verhalten nicht
<main+0x26> 32: 80 e4 ldi r24, 0x40 ; 64 34: 8a bf out 0x3a, r24 ; 58 36: 8b b7 in r24, 0x3b ; 59 38: 80 64 ori r24, 0x40 ; 64 3a: 8b bf out 0x3b, r24 ; 59 3c: 10 92 60 00 sts 0x0060
<main+0x26> 32: 80 e4 ldi r24, 0x40 ; 64 34: 8a bf out 0x3a, r24 ; 58 36: 8b b7 in r24, 0x3b ; 59 38: 80 64 ori r24, 0x40 ; 64 3a: 8b bf out 0x3b, r24 ; 59 3c: 10 92 60 00 sts 0x0060
-
Thread
Schieberegister ohne SPi
dazu ein Programm geschrieben, aber es funktioniert nicht. Kann mit jmd. helfen? [c] #include <avr/io.h> #ifndef F_CPU #define F_CPU 8000000UL #endif #include <util/delay.h> #define LATCHCLOCK 1 #define OUTPUTENABLE 2 #define SHIFTCLOCK 4 #define A 8 #define RESET 16 #define SQH 64 void
ICc verpasst man einen Kondensator. (siehe Entfernung der mehrfachen Versorgungspins von manchen 28/32- und 40/44-poligen AVRs.
-
Thread
AD9833 will einfach nicht.
FREQ register value //for given frequence in Hz // 2^28 / 4194304Mhz = 64 uint32_t regval = frq * 64; //Split 32Bit value in two 14Bit transfers //D15 and D14 define the frequency register. //Fixed to D15 D14 = 01 means using FREQ0 DDS_write
FREQ register value //for given frequence in Hz // 2^28 / 4194304Mhz = 64 uint32_t regval = frq * 64; //Split 32Bit value in two 14Bit transfers //D15 and D14 define the frequency register. //Fixed to D15 D14 = 01 means using FREQ0 DDS_write
-
Thread
Telnet Ulrich Radig
127.0.0.1' password='DB'") cur = conn.cursor() cur.execute('''DROP Table IF EXISTS PollinAVR''') cur.execute('''CREATE TABLE IF NOT EXISTS PollinAVR (ID INT PRIMARY KEY NOT NULL, state boolean);''') conn.commit() cur = conn.cursor() #Default
Ja, meine Firmware benötigt 64KB. Wenn man den HTTP Server entfernt, kommst du auch mit 32KB aus, aber das würde ich nicht machen. Nimm den Code lieber unverändert - zumindest für den Anfang. Dann hast du eine potentielle Fehlerquelle
-
Thread
Define Makros in C
in die passenden Befehle umrubeln zu lassen, mit denen man dann entsprechend bspw. auf einem AVR auf DDRx und PORTx zugreift.
Port eines > theoretischen µC handelt oder eben immer wieder nur um den begrenzten > Horizont eines AVR. Ich kann dir versichern, das ich noch nie für einen AVR Programiert habe und meine Beispiele auch nicht für einen AVR gedacht sind ;) Außerdem wiederholst du dich ständig, und gehst überhaupt nicht
-
Thread
Atmega8 PORTB
hochdimmen erfolgt über SoftPWM und wird in einer ISR realisiert. Hardware: Atmega8 auf einem MyAVR- Board. Habe die Taster am PORTD und die LEDs am PORTC angeschlossen. NUN zum Problem: das Programm funktioniert soweit... nur wenn ich die LEDs an den PortB hänge, dann bleiben diese nicht an.
probiert.... Der Code den ich auf meinen Atmega8 gebrannt habe: [c] #define F_CPU 3686400 #include <avr/io.h> #include <util/delay.h> #include <stdbool.h> #include <avr/interrupt.h> #define LED0_ON PORTC |= (1<<PC0) #define LED0_OFF PORTC &= ~(1<<PC0) #define taster0 (PIND & (1<<PD0)) uint8
-
Thread
Was für eine Art von ROM?
Passend wäre wohl ein EEPROM - weil man die Löcheinrichtung spart. So etwas wie 28C64 (8 K x 8) bekommt man noch als DIP28. Wenn der Speicher seriell (SPI) sein darf, gibt es auch welche im DIP8 und sehr günstig.
Wenn ich 16 Bit benötige Eine TTL CPU mit 16Bit? Hut ab! > 3. Sind alle EEPROM-Programmer mit dem 28C64 kompatibel oder muss man > auf bestimmte Angaben im Datenblatt achten? Zwei Fragen, zwei Antworten: Nein. Ja: in der Liste der unterstützten Bausteine muss der 28C64 stehen. Idealerweise vom
-
Thread
hsv2rgb 8bit fehlerhaft?
which is faster? // ((ramp * 4) * othervalue) / 256 // or // ((ramp ) * othervalue) / 64 // It depends on your processor architecture. // On 8-bit AVR, the "/ 256" is just a one-cycle register move, // but the "/ 64" might be a multicycle shift process. So on AVR // it's faster
the "/ 64" might be a multicycle shift process. So on AVR // it's faster do multiply the ramp values by four, and then // divide by 256.
-
Thread
Codeblähungen beim Rechnen mit globaler Variable
haben Konstanten Kosten 0, was noch Denis stammt: http://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/avr/avr.c?revision=230016&view=markup#l9902 A. K. schrieb im Beitrag #4366535: > Wer mal sehen will, auf welche skurrilen Lösungen Compiler kommen > können, der sollte sich mal das Resultat für amd64
avr-gcc -mmcu=atmega328p -flto -Os -Wl,-Map=test.map test.o -o test.elf avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature test.elf test.hex avr-objcopy -j .eeprom --set-section-flags
-
Thread
Atmel AVR Toolchain for Linux
[pre] [user@linux avr8-gnu-toolchain-linux_x86_64]$ find ./ -name *.h ./x86_64-pc-linux-gnu/avr/include/plugin-api.h ./x86_64-pc-linux-gnu/avr/include/ansidecl.h ./x86_64-pc-linux-gnu/avr/include/dis-asm.h ./x86_64-pc-linux-gnu
iox64a1.h ./avr/include/avr/iom88.h ./avr/include/avr/iom644rfr2.h ./avr/include/avr/sfr_defs.h ./avr/include/avr/iom644p.h ./avr/include/avr/iox64a1u.h ./avr/include/avr/io86r401.h ./avr/include/avr
-
Thread
BCD auf C: was mache ich falsch?
wenigen Fällen ist ein Algorithmus kürzer UND schneller. https://www.mikrocontroller.net/articles/AVR-GCC-Codeoptimierung#Prinzipien_der_Optimierung https://www.mikrocontroller.net/articles/AVR-GCC-Codeoptimierung#Wie
Falk B. schrieb im Beitrag #4365754: > https://www.mikrocontroller.net/articles/AVR-GCC-Codeoptimierung#Prinzipien_der_Optimierung > > https://www.mikrocontroller.net/articles/AVR-GCC-Codeoptimierung#Wie Ich habe das gelesen... Also, die Variante ohne Schleifen hat auch Recht
-
Thread
3.2z Display (color) mit ILI9341 SPI controller. Gibt es das?
hochwertiges SPI-Display ohne Touch findst du bei Reichelt. http://www.reichelt.de/RASP-C-BERRY-28/3/index.html?&ACTION=3&LA=446&ARTICLE=144719&artnr=RASP+C-BERRY+28&SEARCH=c-berry28 Es hat 2,8" und einen Controller ST7789. Der ist nahezu mit einem ILI9341 kompatible. Der Preis für ein solches Display ist in Ordnung. Code gibt es hier: http://basteln-mit-avr.de/index.html Gruß G.G.
-
Thread
Shift mit Carry
c = rol32(data+16, c); c = rol32(data+20, c); c = rol32(data+24, c); c = rol32(data+28, c); } [/c]
mir damals bei der inline-ASM Geschichte geholfen. War für eine DCF77-Uhr, die alle Impulse in ein 64Bit Register schiebt und das neue Bit anhängt. Schiebt zwar nach rechts und hängt ganz links an, das zum links schieben umzubauen und auf 32 statt 64 Bit zu kürzen sollte aber ja kein Problem sein.
-
Thread
AVR-GCC 4.8.1 tiny841 nicht bekannt
dep/AudioSwitcher.o.d AudioSwitcher.c -o AudioSwitcher.o avr-gcc: error: unrecognized argument in option ‘-mmcu=attiny481’ avr-gcc: note: valid arguments to ‘-mmcu=’ are: at43usb320 at43usb355 at76c711 at86rf401 at90c8534 at90can128 at90can32 at90can64 at90pwm1
atxmega32a4 atxmega32a4u atxmega32c4 atxmega32d4 atxmega32e5 atxmega32x1 atxmega384c3 atxmega384d3 atxmega64a1 atxmega64a1u atxmega64a3 atxmega64a3u atxmega64a4u atxmega64b1 atxmega64b3 atxmega64c3 atxmega64d3 atxmega64d4 avr1 avr2 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega2 avrxmega4 avrxmega5 avrxmega6
-
Thread
myAVR Board light welcher Programmer ist verbaut? für Linux
anderen Programmer, aber nie eine Erklärung. Mit try and error kam folgendes raus: avr109 avr910 avr911 avrisp avrisp2 avrispv2 avrispv2 avrispmkII stk500 stk500v1 stk500v2 stk500pp stk500hvsp "timeout" oder "programmer is not responding", egal welchen ich nehme Wegen dem timout habe
Bootloader Kommunikator(so nenn ich das > jetzt einfach mal) nehmen, statt einem ISP Programmer(AVR911/stk500) der > ja gar nicht auf dem Board drauf ist? AVR109/AVR910 (aka. Butterfly bootloader) sind so ziemlich dasselbe Protokoll. Das eine war für einen Standalone Programmer gedacht,
-
Thread
Einen Header aus Variablen im Flash an bestimmte Adresse speichern.
Hallo, ich benutze AVR-Studio 6 (GCC) und habe einen ATXMega64 µC. Ich möchte für meine FW einen Header im Flash ablegen. Der Header soll Version, Name, CRC usw. beinhalten. Wie lege ich so eine Constante im Flash an
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59}, {0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,0x62,0x63}, {0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D} }; Welchen Weg gibt es bei GCC und AVRStudio 6 um dies zu bewerkstelligen? Danke. Gruß, Georg.
-
Thread
USBasp und ATMega 8
Auswahl: # http://www.atmel.com/images/doc0943.pdf # http://www.atmel.com/images/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf
also possible that your breadboard is a bit noisy. The last resort is to rewrite the firmware with 28-09-2009 firmware. If every connection is OK and the whole setup is correct I suspect that new firmware is buggy. I used to use USBasp until I made my AVR ISP MkII clone with AT90USB162, so othe sollutions
-
Thread
32Bit Division mit inline Assembler
Ich habe mal für einen reziproken Frequenzzähler in AVR-Assembler eine Kehrwertbildung gerechnet, 64/32 Bit aus der MATH32-Bibliothek von Andre Birua http://avr-asm.tripod.com/math32x.html (da ploppt eine aufdringliche Seite dazwischen) die 64 Bit waren
Problem, dass die Genauigkeit ja beim Umwandeln flöten ging. Meine Dateien haben folgendes Datum: avr_f64.c 29.05.2015 avr_f64.h 20.12.2008 er weigert sich gerade die funktionen f_sd und f_ds zu finden, obgleich sie in den Dateien vorhanden sind (undefined reference to f_sd) Stimmt das was
-
Thread
Servomotor steuern - C Routine von dieser Seite
www.mikrocontroller.net/articles/Modellbauservo_Ansteuerung#Signalerzeugung_f.C3.BCr_mehrere_Servos_mittels_Timer_.28C.29 // // Programm fuer einen ATmega32U4 // #define F_CPU 16000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> // // Der Prescaler muss so gewählt werden,
Karl H. schrieb im Beitrag #4345829: > Der nächst kleinere Prescaler wäre 64. Würde der auch noch gehen? > [code] > 16000000 / 64 -> 250000 > 250000 / 1000 -> 250 > [/code] > 250 ist schon zu gross. Die Bedingung im Servocode lautet: kleiner als > 128 und das ist nicht
-
Thread
OLED Display ssd1306 mit SPI arbeitet nicht
Hallo, ich versuche gerade das OLED Display 128x64 (SSD106 Controller) über SPI mit einem ATMega88 in Betrieb zu nehmen. Dafür verwende ich die Library u8glib: https://code.google.com/p/u8glib/wiki/avr mit dem Beispielcode: [c] #include "u8g.h" #include <avr/interrupt.h> #include <avr/io.h> u8g_t u8g; void draw(void) { u8g_SetFont(&u8g, u8g_font_6x10); u8g_DrawStr(&u8g, 0, 15, "Hello World!"); } int main(void) { /* select minimal prescaler
-
Thread
Assembler wieder auf dem Weg nach vorn Gesperrt
Peter D. schrieb im Beitrag #4352036: > Shit happens: > > Beitrag "Re: AVR ASM soll AVR GCC aufrufen" > > Assembler ist ne tickende Zeitbombe. Ohne AVR GCC wär das alles nicht passiert...
AVR" machen wir "AVR auf ARM" oder "AVR auf JS" und die Assenbler-Sause kann weiter gehen. Aber eigentlich sollte man die Diskussion mit einem so unfairen Typen lassen: - M.: ASM ist besser, weil man
-
Thread
Merkwürdige Sinunsaugabge
0x00,0x01,0x03,0x04,0x06,0x07,0x09,0x0A,0x0C,0x0E,0x0F,0x11,0x12,0x14,0x15,0x17, 0x19,0x1A,0x1C,0x1D,0x1F,0x20,0x22,0x24,0x25,0x27,0x28,0x2A,0x2B,0x2D,0x2E,0x30, 0x31,0x33,0x35,0x36,0x38,0x39,0x3B,0x3C,0x3E,0x3F,0x41,0x42,0x44,0x45,0x47,0x48, 0x4A,0x4B,0x4D,0x4E,0x50,0x51,0x53,0x54,0x56,0x57,0x59,0x5A,0x5C,0x5D,0x5F,0x60, 0x61,0x63,0x64,0x66,0x67,0x69,0x6A
und Runterzählen koordiniert und nutze das dann konsequent nur in der ISR. Als Tipp lies mal die AVR314 Application Note. Da werden per Sinustabelle DTMF Töne erzeugt, was hier nützlich werden könnte.
-
Thread
Kann man folgenden Code platzsparender schreiben
/files/avr-gcc%20snapshots%20%28Win32%29/
_64 -o foo.elf foo.c $ avr-size foo.elf text data bss dec hex filename 380 0 0 380 17c foo.elf [/pre] Hier ist die 64-bit-Rechnung also deutlich platzsparender