-
Thread
Problem mit ASCII umwandlung
, ich habe ein kleines Problem. Wir müssen für ein Studienprojekt ein Sensornetzwerk mit ATMEGA128RFA aufbauen. Ich nutze AVR Sudio 4.0. So nun zum Problem. Ich empfange serielle Daten über die UART. Das funktioniert auch alles gut. Das einzige Problem das ich habe ist das ich, wenn ich
glaube ich nicht. Es ist beides das gleiche. Es ist nur entscheident wie du es darstellt. '0' = 48 = 0x30 = 060 = b00110000
-
Thread
gcc und Optimierung
, bit_nr); avr.c: avr_output_bld (operands, bit_nr); avr.c: AS2 (bld,%3,%2-1))); avr.c: AS2 (bld,r1,5) CR_TAB avr.c: return (AS2 (bst,%0,6) CR_TAB avr.c
the source and avr.c: sprintf (buf, "bst r%d, 7", rsource + tlen[1] - 1); avr.c: hadbst = 1; avr.c: if (hadbst) avr.c: sprintf (buf, "bld r%d, 7", rdest + tlen[0] - 1); avr.c:avr_output_bld
-
Thread
DDS erster Versuch
funktioniert prima. Übrigens ist hier noch Einer von Etlichen, der es so gemacht hat: http://www.avr-asm-tutorial.net/avr_de/avr_dac.html MfG Paul
Hi Andreas Eine der möglichen Lösungen http://elektronik-labor.de/AVR/DDSGenerator.htm LG Rudi
-
Thread
Übersicht Controller und Einstiegskosten (Debugger, Compiler)?
Mark T. schrieb im Beitrag #2391369: > Die Wahl eines Prozessors steht an, es muss nicht AVR sein. Warum nicht AVR? Da kriegst Du mit AVRStudio4 und WINAVR ne recht leistungsfähige Toolchain für umme. Nur der Programmieradapter kostet was. Ob man nen Debugger braucht, weiß ich nicht
#2391479: > Die Anwendung erfordert <100 kB Programm Bei bis zu 100 kB Programm müsstest man bei den AVR schon die ATmega nehmen und zu dem Preis bekommt auch schon Cortex-M0 und M3 Controller. Die Renesas M16C/M32C sind trotz 16 Bit und teilweise höheren Takt im Performance Bereich der AVR. Gestern
-
Thread
ATmega8 lässt sich nicht mehr flashen
paar Pins vertauscht. Seitdem krieg ich in Eclipse immer diese Fehlermeldung: Launching C:\WinAVR-20100110\bin\avrdude -pm8 -cavr910 -PCOM3 -Uflash:w:TimerTest.hex:a Output: Found programmer: Id = "AVR ISP"; type = S Software Version = 2.5; Hardware Version = 2.0 Programmer supports auto
Device code: 0x41 = ATMEGA103 Device code: 0x42 = (unknown) Device code: 0x43 = ATMEGA128 Device code: 0x44 = (unknown) Device code: 0x45 = ATMEGA64 Device code: 0x46 = (unknown) Device code: 0x47 = (unknown) Device code: 0x48 = (unknown) Device code: 0x49 =
-
Thread
AVR als SD-Karte betreiben
USB ist keine Loesung fuer mich, da es im SD-Slot verschwinden soll (ausserdem ist der AVR eine ATmega128RFA1 - leider kein USB dran) Low-speed V-USB ist leider fuer fuer mass-storage nicht zugelassen ... aber genau so stelle ich mir den Betriebsmode als SD-Karte vor.
Fall schaltet er nach der Initialisierung auf 25 MHz hoch (20 MHz bei MMC) - so schnell kann dein AVR bestimmt nicht mehr auf Pin-Änderungen reagieren. Ich lese beim ATmega128RFA1 was von 16 MHz maximalem Takt. So wie ich das lese, wäre selbst ein 50MHz µC überfordert, wenn er das SD-Protokoll in
-
Thread
Speicher Schreibgeschwindigkeit
die Parallele Ansteuerung einer IDE-Festplatte auch bei Frequenzen < 32MHz schneller ist. Und AVR oder AVR32 Beispiele mit Festplatten gibt es ja auch manche. > Forensuche. Hier gibts viele Threads über SD. Ja, die habe ich auch schon gefunden, nur leider finde ich so gut wie nie Angaben über
anscheinend > knapp ist und mit Dateisystem nicht gereicht hätte. Mit mehr RAM (ich verwendete 128kB Pufferspeicher) sollte es auch mit Dateisystem funktionieren oder gar mit höherer Samplerate. Bei einem nächsten Projekt habe ich 512kByte benutzt und das reicht schon für gut 2s bei 48kHz/16Bit stereo
-
Thread
DOGXL Fontgenerator (SW+Graustufen)
kurz damit gespielt. Solche Beiträge sind ein sehr wohltuender Ausgleich zu manchen Anderen. avr PS: Du solltest das Programm evtl. bei den Tutorials verlinken.
Funktionierte das was anders, weil kein "normales" Display verwendet hab, und die Bit-Operationen nicht im AVR liefen) Vllt stell ich das Tool auch nochmal bereit.
-
Thread
Wittig(welec) DSO W20xxA Open Source Firmware (Teil5)
86<\r><\n> Channel 3: ADC average value = 0 Diff = -128<\r><\n> Channel 4: ADC average value = 0 Diff = -128<\r><\n> Calibration run 3<\n><\r> Channel 1: ADC average value = 126 Diff = -2<\r><\n> Channel 2: ADC average value = 51 Diff = -77<\r><\n> Channel 3: ADC average value = 0 Diff = -128<\r><\n> Channel 4: ADC average value = 0 Diff = -128<\r><\n> Calibration run 4<\n><\r> Channel 1: ADC average value = 126 Diff = -2<\r><\n> Channel 2: ADC average value = 65 Diff = -
-
Thread
ADC Dynamikumfang 46dB mit Atmega?
--------------- + 6dB 1023 0,0085 0dB 512 0,017 - 6dB 256 0,034 -12dB 128 0,068 -18dB 64 0,135 -24dB 32 0,27 -30dB 16 0,53 -36dB 8 1,0 -42dB 4 1,9 -48dB 2 3,5 -54dB 1 6,0 Ich hab versucht, das Ganze
wirklich 20 mA brauchen um sinnvoll zu leuchten, kann man die LEDs an der einen Seite auch direkt vom AVR aus ansteuern. An die Seite gehören dann auch die Widerstände. Wenn immer nur einige wenige LEDs gleichzeitig leuchten sollten (Punkt statt Band) kann man auch Charlipixling nehmen. Das geht dann
-
Thread
Wie finde ich den Einstieg in den ARM Cortex?
Cortex-M3 (oder auch ARM7) in den Chip setzt, JTAG-Interface das bereits gekauft wurde uvm. Bei AVR wäre das einfach, da gibt es fast nur das AVR Studio.
es sehr nützlich, daß Du mit 5V arbeiten kannst oder bei Batteriebetrieb ganz ohne Spannungsregler (AVR: 1,8..5,5V). Für eigene Platinen ist das DIP-Gehäuse ja auch ganz praktisch (AVR: DIP8 .. DIP40, 6 .. 35 IO-Pins). Einen ARM im TQFP kann ich dagegen nicht mehr selber löten. Du kannst sogar
-
Thread
(Aquariencomputer) Zeitschaltuhr mit mehreren Kanälen
wohl die Funktion heißen, mit der man es beschreibt? http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#EEPROM
Ok Karl Heinz, ich habs mir fast schon gedacht, als ich kurz im AVR-GCC Tut vorbei geschaut hab ;) Hier mal ein Fetzen, den ich schnell geschrieben habe um zu gucken wie das funktioniert: [code]#include <avr/io.h> #include <avr/eeprom.h> #include <stdlib.h> typedef
-
Thread
.hex auf verschiedenen AVR's
Ist es möglich ein .hex Files auf verschiedenen AVR's zu brennen und zu nutzen solange der AVR: a) genügend Speicher und b) genügend i/o Pins hat? Oder müssen die .hex Files auf den jeweiligen AVR abgestimmt sein?
daran zu >erkennen das die dasselbe Datenblatt haben. Das ist kein eindeutiges Kriterium. ATMega48/88/168 teilen sich auch ein Datenblatt. Aber bei den ATMega48/88 belegt ein Eintrag in der Interrupvektortabelle ein Word (rjmp). Beim ATMega168 sind es zwei Word (jmp). Obwohl ein Programm der ersten
-
Thread
LCD Anzeige spinnt
|__d__| |__off___| g = 1 = off bit 6 siehe: http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige */ #define LCD_PORT_DIR P2DIR // #define LCD_PORT_OUT P2OUT // #define LCD_1_LOW P3OUT&=~BIT4 // #define LCD_1_HIGH P3OUT|=BIT4
|__d__| |__off___| g = 1 = off bit 6 siehe: http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige */ .... unsigned char digit[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; [/C] Schmeiss dein Programm weg und gib einfach nur 0x01 aus
-
Thread
Teilen durch 100 per Schieberegister?
durch 2er Potenzen kann man auch andere Faktoren annähern. x * 3/32 x * 6/64 x * 7/64 x * 12/128 x * 13/128 ...
Das riecht doch nach BCD Arithmetik: AVR204: BCD Arithmetics http://www.atmel.com/atmel/acrobat/doc0938.pdf [c]Algorithm Description “bin2BCD16” implements the following algorithm: 1. Load Loop counter with 16. 2. Clear all three bytes
-
Thread
AVR debuggen unter linux
schnell wieder. Die unterstützten µC sind: ATmega16, ATmega32, ATMega323, ATmega162, ATmega169, ATmega128 Steht aber auch so im auf der Seite verlinkten user guide: http://www.olimex.com/dev/pdf/avr-usb-jtag.pdf Bei Atmel ist dazu nichts mehr zu finden, weil das Teil schon seit etlichen Jahren obsolet
/dev/ttyS0 :4242 >avarice -k AVaRICE version 2.9, Jan 7 2010 22:42:57 List of known AVR devices: Device Name Device ID Flash EEPROM --------------- --------- ------- ------- at90can128 0x9781 128 KiB 4 KiB at90can32 0x9581 32 KiB
-
Thread
AVR: 16bit Quadratwurzel in 63 Takten, fsqrt16.asm
inspirierende Codezeilen und clevere Ideen (Interesse an einem kommerziellen Projekt?) Gerhard Schmidt, für n AVR-Kurs, www.avr-asm-tutorial.net D. Austin, AVR466 AppNote, für ne brauchbare Lösung (bald ohne Taylor ;) ) ChaN, für die beste Routine ohne Hardwaremultyply, elm-chan.org Ulrich Radig, für zeigen
us verbraucht. Korrektur: 8MHz -> 7,75 us, 16 MHz -> 3,88 us Marko Surup schrieb > D. Austin, AVR466 AppNote Korrektur: AVR446 AppNote
-
Thread
Ein paar Fragen zum Umstieg auf die STM32 Reihe
genauer zu sein die F103 Serie ) umzusteigen, da das Preis/Leistungsverhältnis im Vergleich zu den AVR meiner Meinung nach deutlich besser ist. Jedoch habe ich ein paar Verständnisfragen, zu denen mir leider auch der STM32 Artikel hier nicht helfen konnte: -Worin genau liegt der Unterschied zwischen
schmaler Code und breiter Zugriff, z.B. 16 bit breiter Maschinencode und Zugriff auf den Flash mit 128 bit (wo dann gleich mehrere Befehle geladen werden) 3. Befehlscache, um den Flash zu entlasten. Bei NXP (so aus dem Stegreif) 16 bit Code (thumb) und 128 bit Flashzugriff. Und bei ST ? Hab ich
-
Thread
UART AT90CAN128-16AU von ALVIDI
konnte ich sehen, dass die Funktion send_char(); vollständig abgearbeitet wird. [c] #include <avr/io.h> #include <avr/interrupt.h> #include <stdlib.h> #include "uart.h" #include "value.h" /***** ISR USART RECEIVE ****************************************************/ ISR(USART0_RX_vect
!= dlm ; count_2++){ if(j){ value = uart_command[count_2 + count_1] - 48; j = 0; } else{ value = (value * 10) + (uart_command[count_2 + count_1] - 48); } } //end for } //end if
-
Thread
ATmega168 Interrupts funktionieren nicht mehr.
Da hab ich mich wohl verschrieben In der AVR Simulation Funktionietr das ganze Einwandfrei, wenn ich es auf den Chip lade, leuchtet nur LED 4 (d.h. er geht nicht in die IRS rein ) [c]#include <avr/io.h> #include <avr/interrupt.h> int
bei diesem funktioniert es ebenfalls nicht. Ich will das ganze allerdings nocheinmal mit dem ATmega48 ausprobieren, mit diesem lief es ja am Anfang auch (ATmega 168 = ATmega48 mit mehr Speicher)
-
Thread
Universeller RC5-Fernbedienungsempfänger
oder, soll ich lieber mit: AT AVR ISP : AVR Programming Tool AT AVR ISP2 mit USB arbeiten? Hoffentlich, stelle ich nicht zu viel blöde Fragen für euch Experten!? Ich bi euch alle sehr, sehr dankbar für die volle Unterschtützung
...im Original "avr410 rc5" fehlt auch nicht!?
-
Thread
ATXmega128a1 kein PLL mit 32MHz/16MHz Crystal Oszi möglich
Hallo, ich möchte bei meinem ATXmega128a1 den Systemclock einstellen. Bis jetzt habe ich alle zum laufen bekommen. Die PLL bereitet jedoch ein paar schwierigkeiten. PLL mit 2MHz internem Referenztakt funktioniert. (mögliche PLL Faktor:
48MHz) gehen. ???? Danke
-
Thread
ALC 5000 Mobile firmware hack
S3C72M9. Ein extrem simpler 4bit controller mit fettem LCD treiber. Der Leistungteil wird von einem mega128 angesteuert. Die beiden sind über einen 20pin Pfosenstecker verbunden. Der relevante Teil der Pinbelegung ist wie folgt: C72 mega128 1 P3.0 PD4 3 P3.1 PD5 5 P3.2 PD6 7
Es sind ASCII bassierte hex files: 0112408C8AB8AC1239631AACDDCE3C97D260D22A5DAD864032F9881D2D3FA48C0A563682231 AA2E1B812C460DD2FBB5C063EBE99C38AC4AE0F6613B14AEB115EE228EBEAF747B09D8AB48C 09D4B2B05BEF3D5648AAAA9FC4781C17D7AB3ADC5F319529CB7361CD58802A8AD8E37FED66E B0E59C66D90A8588DC4F33CE5F63A65BF16D52864169C2C2DC6D4701D962F52D625AEB9765C
-
Thread
GCC Optimierung, unterschiedliche Codelänge
handelt es sich um einen Bootloader bei dem der Uart gepollt wird und die Bootloaderfunktionen aus der <avr/boot.h> verwendet werden. Ist zwar nicht dramatisch, da der Code in den 168er gerade noch reinpasst, aber doch etwas verblüffend. mfg.
cpi r20, 0x00 ; 0 fcf2: 5f 07 cpc r21, r31 fcf4: 41 f7 brne .-48 ; 0xfcc6 Atmel 186: 3cd6: 4e 5f subi r20, 0xFE ; 254 3cd8: 5f 4f sbci r21, 0xFF ; 255 3cda: 40 38 cpi r20, 0x80 ; 128 3cdc: 51 05
-
Thread
AVR/PIC oder ähnlich mit integrated osc >8MHZ
man da vermutlich gar keine 8 MHz > mehr braucht, weil auch so schon recht schnell. PIC3 oder AVR welcher bietet mehr performance? AVR dachte ich hat doch alles single inst (bis auf division) oder? Ist der befehlssatz des pic3 mächtiger? oder wie kann der sonst an die Effizienz des avr rankommen
Deine spezielle Anwendung individuell suchen. DEN Universal-µC für alles gibt es nicht. Weder bei AVR noch bei PIC.
-
Thread
An Bit Experten: "Alles CRC oder was?" - oder so.
findet eine Umschaltung statt: 00010011 200+50= 250 01001100 201+49= 250 01001100 202+48= 250 Gruß Jobst
wo du Bits zeigst) orginal oder gedreht? Hast du schon an gewichtete Prüfsummen gedacht? avr
-
Thread
avr-libc, Bootloader, CodeVision
benötigt: aktuelles AVR Studio (hier verwendet: AVR Studio v4.18) aktuelles WinAVR (hier verwendet: WinAVR20100110) PuTTY als serielle Konsole (Version v0.6) Nix von Codevision zu sehen.
ok einfach 0x80 vorgeben. also 128. Das dürfte doch nun die gleiche Funktion sein wie die Funktion: "boot_page_erase" aus der avr-libc oder?
-
Thread
ATxMega Stick
Hallo, nach dem ATxMEGA128 Board hab ich jetzt noch die wesentlich kompaktere Version entwickelt: den "ATxMega128 Stick". Hier ist das Herzstück ein ATxMega128A3 oder seine Geschwister mit 32k, 64k, 192k oder 256k. Die Hardware
Hallo Martin, Speicher hat der ATxMega128A3 ja auch nur etwas weniger Pins aber es gibt immer noch 48 I/O Pins. Ich denke damit hat man genug Möglichekeiten und sonst biete ich ja noch das ATxMega128 Board an mit dem 100-Füßler. Und der
-
Thread
SDRAM Bezugsquelle
ein 48lc16m4a2 drauf. das ist ein SDRAM 16Mx4 => 8MB. 8MB plus die 8kB intern reichen locker. Leider habe ich bisher noch keine Bezugsquelle für nen SDRAM 16Mx4 gefunden (Außer Digikey. Aber die sind dort alle
http://www.csd-electronics.de/de/ such mal nach MT48LC
-
Thread
Schneller Mikrocontroller mit Ethernet gesucht
development-tools/rf-wireless/Pages/2168813-EVALKIT-UPE-1X-M-M1-9.aspx PIC32MX795 bis zu 512 kiB Flash, 128 kiB SRAM, USB Device und Host, 10/100 Ethernet MAC, 16 Kanal 10-Bit ADC (max. 1 MS/s) CY8C55xx bis zu 256 kiB Flash, 64 Kib SRAM, USB Device, 12-Bit 1MS/s SAR ADC, 20-Bit Delta-Sigma ADC (48 kHz
Also Modul ist vielleicht das AVR-Webmodul von Ulrich radig interessant. http://www.ulrichradig.de/home/index.php/avr/avr-webmodule Programmierung wäre allerdings über isp. Ethernet war über einen enc28j60 zur ethernetbuchse
-
Thread
Lokalität von Registerwerten?
71,70,69,69,68,67,67,66,65,65,64,64,63,62,62,61 .db 60,60,59,59,58,57,57,56,56,55,55,54,54,53,53,52 .db 51,51,50,50,49,49,48,48,48,47,47,46,46,45,45,44 .db 44,43,43,43,42,42,41,40,40,39,39,38,38,37,37,36 .db 35,35,34,34,33,33,32,31,31,30,30,29,29,28,28,27 .db 26,26,25,25,24,24,23,22,22,21,21,20,20,19,19,18 .db
Dis5 = 42 .equ E5 = 43 .equ F5 = 44 .equ Fis5 = 45 .equ G5 = 46 .equ Gis5 = 47 .equ A6 = 48 ;3520Hz .equ B6 = 49 .equ H6 = 50 .equ C6 = 51 .equ Cis6 = 52 .equ D6 = 53 .equ Dis6 = 54 .equ E6 = 55 .equ EoS = 255 ;End of score .equ en = 128 ;End of line flag ;----
-
Thread
Suche DIP-µC für 80kHz Gegentakt-PWM in Hardware
Ben ___ schrieb im Beitrag #2260510: > Also vielleicht eine der neuen AVR ATMega-Varianten, die ein ähnliches > PWM-Modul haben wie der AT90PWM? Bei diesem ist leider der Flash zu > klein für mein Projekt. Und er hat auch kein DIP-Gehäuse. DIL48 Gehäuse für Leute mit mehr Anspruch an den Inhalt als in DIL sonst oft geboten wird: STM32 bis 128KB Flash 72MHz in LQFP48 auf DIL48 Trägerplatine. Diese Platinchen gibts in gleicher Breite wie DIL40 billig bei ebay und einlöten vom Chip geht auch ohne SMD-Praxis problemlos. Komplexe Timer für PWM
-
Thread
Flash-Speicher mit hoher Kapazität?
ich noch übrig habe. Es sind 32GBit (4 GByte x 8 bit) 25ns NAND Flash von Samsung. Gehäuse: TSOP48 MfG aus Westerwald
fand sind schon urig alt... Die schreiben immer noch von MByte Flash... und ich bin bereits bei 128 GByte... Muß mal den den source genauer ansehen... Dumm nur, das er auf Linux basierend ist. Danke Michelle
-
Thread
Lohnt sich der Umstieg auf 32-Bit Controller
da auch nicht do flott, der braucht je nach Adressierung auch 4-5 Takte. Unser allseits beliebter AVR braucht EINEN bis maximal ZWEI! Für Bitbanging absolut Spitze! MFG Falk
meist langsam ist >.. der braucht je nach Adressierung auch 4-5 Takte. Unser allseits beliebter > AVR braucht EINEN bis maximal ZWEI! Aber je nach gewünschter Adressierung braucht AVR dafür auch wieder mehrere Befehle, weil RISC! Viele andere Controller sind dafür auch höher taktbar.
-
Thread
Brushless Controller BLMC / BLDC
Brushless Motor Controller for ATmega48/88/168 AVR GCC back EMF zero crossing detection
. Ein BLMC mit Vektorsteuerung ist mein Traum. Allerdings wird das dann wohl auch nichts mit einem AVR ;-)
-
Thread
mega2560 Programm doppelt im Flash??
einem mega2560 mal testen ob das bei Ihm auch so ist. Im Internet habe ich z.B. gelesen das "nur" 128kB vom Flash genutzt werden können. Da das Programm ja 2x exakt am Ende der beiden 128kB Hälften stehen könnte ich mir das vorstellen. Wäre auch egal weil 128kB sind eh mehr als ausreichend. Mein
main.eep avr-objcopy: --change-section-lma .eeprom=0x00000000 never used Creating Extended Listing: main.lss avr-objdump -h -S main.elf > main.lss Creating Symbol Table: main.sym avr-nm -n main.elf > main.sym
-
Artikel
BAE-Tutorial
einem externen Gerberviewer zu kontrollieren. Näheres zu Gerberviewern findet sich unter Gerber-Tools. AVR-Bauteilbibliothek. (Mittlerweile auch "offiziell" bei BAE Contrib) Das Zip-Archiv enthält zwei Dateien: avr.ddb (die eigentliche Bauteilbibliothek) und avr.def (die Loglib-Quelldatei). Zwar wurden die
logische Bibliothek. Methode 1 benutzt dafür die Kommandozeile und das Kommando copyddb : copyddb avr.ddb meinprojekt.ddb -ms -llib at90s4434fp Methode 2 geht über die Menüs im Schaltplaneditor: Datei -> Library Utilities -> Elemente kopieren -> Logische Bibliothek -> Dateiauswahlbox Quelldatei, avr.ddb