-
Thread
ISR macht Newbie fertig :P
= 4000000 const T1_PRESCALER = 64 const T1_10MS_TICKS = 625 avr.Device = atmega32 avr.clock = F_CPU avr.stack = 128 '******** Ports definieren und mit Aliasen versehen *********************** #define Lcd4PinRS
Unterschied von -1sek/Minute bemerkbar. [code]const F_CPU = 4000000 const T1_PRESCALER = 64 const T1_10MS_TICKS = 625 avr.Device = atmega32 avr.clock = F_CPU avr.stack = 128 '******** Ports definieren und mit Aliasen versehen *********************** #define Taste_ok
-
Thread
Hilfe, Wie programmiere ich Taster um Namen auf LCD anzeigen zu lassen ?
====== // => 1) Hauptdatei + lcd.c unter Funktionen [c] #define F_CPU 3686400UL #include <avr/io.h> #include <stdio.h> #include <avr/delay.h> #include "lcd.h" // ====================================================== // // Hauptprogramm // ==========================================
============================= // // => 2) lcd.h [c] #define F_CPU 3686400UL #include <avr/io.h> #include <stdio.h> #include <avr/delay.h> /* sample: lcd_cmd(LCD_DISP_OFF); */ #define LCD_DISP_OFF 0x08 /* display off */ #define LCD_DISP_ON
-
Thread
2x RS232 auf USB (mit modifizierten Daten)
und technisch beste Lösung wäre ein Controller mit 2 UARTS und USB-Hardware. Leider gibts es keine AVR, der diese Bedingung erfüllt. Ein PIC24FJ64GB002 (28 Pins, auch DIL) würde das alles können. fchk
------------------------- Hier mein Programm: [c] //Includes //#include "defines.h" #include <avr/interrupt.h> #include <avr/io.h> //#include <avr/iomxx0_1.h> #include <string.h> #include <util/delay.h> void uart_send_byte(char c){ while (!(UCSR3A & (1<<UDRE3))); UDR3=c; } void
-
Thread
Z180-Stamp Modul
Der WR-CRD mikro SD 8-Pin kostet bei RS 4,29€ + MwSt das Stück, ab 15 Stück 3,64. Bei Bedarf bestelle ich. Ich würde eigentlich hier in diesem Thread bleiben wollen. Die Beschaffung verläuft sich auch wieder. Wolfram K. schrieb > Ich habe gerade den AVR-Stamp fertig zusammengelötet
und am Bus B2 5V liegen. Weiterhin benötigt der Z180 einen Takt. Dieser kommt im „Normalfall“ vom AVR über CLKO (A28). Das bedeutet, dass JP1, Pin2 und Pin3 verbunden werden müssen. Ansonsten hat die CPU kein Takt. 3. ECB Das ECB-Board kann wiederum mit 3.3V oder 5V betrieben werden. Für die 3.3V
-
Thread
[Sammelbestellung] µC-Board + RAM
zusammen, Preise für SRAM: 512 k x 8 (4 Mbit): ca. 3,00€ 512 k x 16 (8 Mbit): ca. 3,50€ 4 M x 16 (64 Mbit): ca. 4,75€ Besteht Interesse an einem "Breakout-Board" mit einem µC + RAM? Der CPU-Core wäre noch festzulegen: ARM, AVR, PIC, ... Ich kann mir vorstellen, dass man ab 1000 Stück in China
optional bestücken, mal sehen. Als "Formfaktor" bin ich immer noch bei der "Briefmarke", hier ca. 28 x 37 mm². Kosten für ein Einzelstück: Ca. 6,00€: ATXMEGA64A1U + 8MiB SDRAM + Spannungsregler + Hühnerfutter: Ca. 3,40€: PCB vom Platinensammler ≈ 8,40€ Klingt gut.
-
Thread
µC mit viel RAM für Touch TFT mit "Wischen"
Controller mit Speicher und mit der Charge Time Measurement Unit kannst du kapazitiven Touch auswerten. 64 Pin im 0,5 oder 100 Pin im 0,4 Raster. Gibts bei Microchip als Sample.
selber ansteuern, sondern das macht der AVR in Hardware. fchk
-
Thread
DVM mit Quasi-Analoganzeige, ATMEGA8, ASM
Quasi-Analoganzeige.zip> in einem Directory ergibt sich folgende Anordnung von Dateien: \CP594V-0\AvrBuild.bat \CP594V-0.aps \CP594V-0.asm \CP594V-0.aws \CP594V-0.hex \CP594V-0.map \CP594V-0.obj \DOGM162W-A\AvrBuild.bat \DOGM162W-A.aps \DOGM162W-A.asm \dogm162w-a.aws
---------------------------------------------- ; Zeichen fürs CGRAM des LCD Symbole: .db 64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0 .db 72,0,73,0,74,0,75,16,76,16,77,16,78,0,79,0 .db 80,0,81,0,82,0,83,24,84,24,85,24,86,0,87,0 .db 88,0,89,0,90,0,91,28,92,28,93,28,94,0,95,0
-
Thread
Versetzte Rechtecksignale auswerten, kein drehgeber
INC R19,1 SBRC R0,7 DEC R19,1 LD R31,R30 : RJMP loop 21 Takte + 2 für den RJMP, dafür eine 64k Tabelle im ATmega128. und eine Instruktion bleibt distributed zum Aussenden der Daten.
"geniale" 64k Tabelle.
-
Thread
USB to UART IC ohne virtuellen COM PORT?
sourceforge.net/apps/trac/libusb-win32/wiki http://msdn.microsoft.com/en-us/library/windows/hardware/ff540196%28v=vs.85%29.aspx
Falls ATxmega128A3U eine Option fuer dich ist, ggf. magst du dir mal http://matrixstorm.com/avr/avrstick/ ansehen. Fuer das Board habe ich ein Beispielcode: http://vps.matrixstorm.com:1114/bideavr/simpleusbterm.html bzw. http://matrixstorm.com/avr/avrstick/examples/USBtoUARTs/release
-
Thread
Flash probleme
... Kann es an der größe des Projekts liegen? wobei es nicht zu groß ist siehe die Ausgabe von "avr-size"... Habe ich mein STK500 zerschossen?? hir mal die ausgaben: /projects/dcf77/src$ avr-size --mcu=atmega8 -C main.hex AVR Memory Usage ---------------- Device: atmega8 Program:
sorry, habe falsche avr-size angegeben! hier der Richtige: avr-size --mcu=atmega8 -C main.elf AVR Memory Usage ---------------- Device: atmega8 Program: 1972 bytes (24.1% Full) (.text + .data + .bootloader)
-
Thread
Mikrocontroller Rechenleistung reicht für aktuelles Projekt nicht?
place<<1); } root = root>>1; place = place>>2; } return root; } uint32_t sqrt64_floorC(uint64_t square64) { register uint64_t root=0; register uint64_t remainder=square64; register uint64_t place=0x4000000000000000ULL; while(place > remainder) place = place>>
root = root>>1; place = place>>2; } return root; } uint32_t sqrtXX_floorC (uint64_t square64) { if(square64<65536ULL) { return sqrt16_floorC(square64); } else if(square64<4294967296ULL) { return sqrt32_floorC(square64); } else { return sqrt64
-
Thread
Display von Pollin - Datenblatt - Ansteuerung
Das sieht stark nach einem 128x64 Display und dem SBN0064 (LCD-Controller) & SBN6400 (zusätzl. Segmenttreiber) aus.
ist dieses Display wahrscheinlich wieder ein Kandidat für eine rein softwaremäßige Ansteuerung per AVR.
-
Thread
ILI9341 langsam Verbesserungsvorschläge?
Frank K. schrieb im Beitrag #3677760: > Die schnellste Möglichkeit, ein solches Display mit einem AVR > anzusteuern, ist die Verwendung des External Bus Interfaces an einem > Mega 64/128/... Ja, klar. Und dann hat man auch die Möglichkeit, genügend XMEM anzuschließen. Aber man muß halt mehr verdrahten
Frank K. schrieb im Beitrag #3677760: >> Die schnellste Möglichkeit, ein solches Display mit einem AVR >> anzusteuern, ist die Verwendung des External Bus Interfaces an einem >> Mega 64/128/... > Ja, klar. Und dann hat man auch die Möglichkeit, genügend XMEM > anzuschließen. Aber man muß halt mehr
-
Thread
Rückwandbus mit I2C
einen Ethernet-Phy eingebaut? Die AT32UC3C haben auch 2 CANs, Ethernet und USB, die gibt es mit 64/100/144 Pins in 0,5mm Pitch - also mit 64 Pins so gross wie ein Mega644. Nur, ein AVR32 ist eben kein AVR...
Ethernet-Knoten zu realisieren. > Die AT32UC3C haben auch 2 CANs, Ethernet und USB, die gibt es mit > 64/100/144 Pins in 0,5mm Pitch - also mit 64 Pins so gross wie ein > Mega644. Bestreite ich auch nicht. Nur hat der Mega 644 nur 40/44 Pins. > Nur, ein AVR32 ist eben kein AVR... Auch das bestreite
-
Thread
DIP Schalter abfrage funktioniert nicht
wenn ich den Code von 80% da reinlege, funktioniert es nicht. Woran liegt es also? [c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <avr/sleep.h> volatile int sekunde = 0; //wird vom Timer immer um 1 erhöht. //1 = 0,01sekunden
@Karl Heinz: Das könnte man glatt in einen Wiki-Artikel übernehmen (vielleicht kleiner Exkurs zum AVR-Tutorial?)
-
Thread
Quick&dirty - schnelle Problemlösungen selbst gebaut Bilder
einem TQFP32 Adapter vom Chinamann https://www.aliexpress.com/item/Top-Quality-LQFP32-TQFP32-to-DIP28-programmer-adapter-for-ATMEL-AVR-Chips-atmega8-48-88-168/32557489995.html?spm=2114.13010608.0.0.xpoCoe und einem USBasp einen Programmer für den ATMEGA328AU und ähnliche gebaut. Außer einem RC Glied
Ich habe den C-Code eben mal mit dem AVR-Studio 4.19 und der aktuellen Toolchain Kompiliert, leider wird ein Fehler und neun Warnings ausgegeben! Abhilfe gab's mit: WinAVR-20100110\bin\avr32-gcc.exe und WinAVR-20100110
-
Thread
Prinzip grafische darstellung/diagramme etc
Beitrag #3569601: > Ich müsste also im Grunde auf dem uC erstmal nen Bildpuffer anlegen? > int LCD[64] [128] = > {{0,0,0,0,0,0,0.........0,0,0,0} ... Nein. *So* schonmal nicht. Du willst ja 128x64 *Bits*, nicht 128x64 *int* mit je 16 Bits. Du wirst also wohl oder übel einzelne Bits in einem entsprechend
Organisation sprechen: * man kann Besonderheiten des Controllers wegabstrahieren, etwa daß ein 128x64 LCD mit KS0108 in Wirklichkeit aus zwei unabhängigen 64x64 LCD besteht. * man kann die Grafikroutinen für verschiedene LCD-Controller gleich lassen und muß nur die eine Funktion, die den Grafik-Buffer
-
Thread
DCF77-Signalauswertung mit ATmega32
ATmega32 device * */ #include "global.h" #include "uart.h" #include "DCF77.h" #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h> #include <string.h> int main(void) { char msgBuffer[100]; // Initialize the UART-Interface with 4800 baud
use of a DCF77 module from Reichelt * */ #include "DCF77.h" #include "global.h" #include <avr/io.h> #include <avr/interrupt.h> volatile unsigned char ss = 0; // Seconds volatile unsigned char mm = 0; // Minutes volatile unsigned char hh = 0; // Hours // Bit-counter for RX
-
Thread
LED Tisch mit Berührungs-/Gegenstandserkennung
easiest way to achieve this. Note that the AVR will never drive the SPI lines in a programming situation, since the AVR is held in RESET to enter programming mode – and RESET’ing the AVR tri-states all pins. D.h. wenn die Daisy Chain sicher nicht
cyblord ---- schrieb im Beitrag #3661103: > avr-gcc unterstüzt den 841 in der aktuellen > Version. Wo finde ich Referenzen darauf? Auf der Homepage von avr-libc [1] ist davon noch keine Rede. Mein Eclipse mit aktueller Toolchain avr-gcc 4.9.0
-
Thread
Schieberegister: Abfrage von mehreren Tastern
Gut, das ist jetzt nicht so wild. Wenn ich richtig gerechnet habe, dann kommen vom Schieberegister 28 Bytes rein. Veränderung feststellen ist ein XOR mit dem vorhergehenden Wert, ob gedrückt oder nicht gedrückt ist ein AND. Zum Schluss einmal alle 28 Bytes in einen Old-Buffer umkopieren. > Repetierend
. Und wie soll der angeschlossen werden. Einfach die VCC Leitung vom schieberegister und dem AVR auftrennen und dazwischen einen KERKO ?? Vielen Dank Gruß Fabi
-
Thread
Welchen PIC für Anfängerprojekte?
Es wäre wirklich mal an der Zeit für einen umfassendes Anfängertutorial so wie das für den AVR hier.
Der PIC24 ist nur bis 28 Pins Steckboardtauglich. Vllt. stöft das den TO. Ich bin mit dem PIC24 ganz zufrieden.
-
Thread
Komische Spannungen - woran liegt's?
+ Eingang kommt deine (runterskalierte) Messspannung. https://de.wikipedia.org/wiki/Komparator_%28Analogtechnik%29
kannst aber ins gleiche Layout einen LM193/293/393 reinstopfen, und dann entweder die Pullups des AVR aktivieren oder externe Pullups einbauen - der LM393 hat OpenCollector Ausgänge. Die Serienwiderstände an den AVR Eingängen sind überflüssig. Ansonsten skalierst du die Messspannungen soweit herunter
-
Thread
Neue Mikrocontroller-(Architektur) von FTDI?
Joerg L. schrieb im Beitrag #3570659: > Atmel hatte auch den AVR32 als eigenen Core; aber wie ich > die Firma verstanden habe, wird es hier zugunsten den eigenen ARMs keine > weiteren Entwicklungen mehr geben. Geanu das wird hier schon seit einiger Zeit vermutet
GCC 4.5.1 -> 2.25 CoreMark/MHz PIC32MX GCC 4.5.1 -> 2.55 CoreMark/MHz (mit dem aktuelleren XC32 3.28...)
-
Thread
Potentiometer erzeugung eines Midisignals
nett wenn jemand drüber schauen könnte, ich seh mitlerweile einfach nichts mehr. :) [c] #include <avr/io.h> #include <avr/io.h> #define F_CPU 1000000 // 1 MHz #define BAUD 31250 // MIDI-Baudrate (31,25kBit) #include <util/setbaud.h> void adc_init (void){ //interne
nochmal den Code überarbeitet und alles sauber eingerückt. Das kam dabei raus: [c] #include <avr/io.h> #include <avr/io.h> #define F_CPU 1000000 // 1 MHz #define BAUD 31250 // MIDI-Baudrate (31,25kBit) #include <util/setbaud.h> void adc_init (void){ //interne
-
Thread
Z80 Board Identifizierung
das Programiren lehrnen möchtest sind moderne sachen einfacher billiger und sinvoller Zb Pic oder Avr.
wirklich viel, und den Z80 halte ich für Lernzwecke noch immer sehr gut geeignet. Wenn Du Dich mit AVR sowieso schon auskennst, kannst Du auch auf die Eprombrennerei verzichten und mit 3x8 Ports vom AVR ein 29FXXX-EEprom bespielen, bis die RS232 am Z80 läuft. Das geht einfacher.
-
Thread
Protokollumsetzer RS232 <> RS485
gerne eine fertige Hardware einsetzten. Alternativ zu ein PIC könnten ja auch ein Board mit einen AVR Controller und 232 und 485 gehen. Habe aber leider noch nix gefunden.
Frank K. schrieb im Beitrag #3551106: > Die kleinen AVRs (<=28 Pins) haben nur einen UART und sind daher für > Dich nicht geeignet. 2 UARTs: 14 Pin: ATtiny841 20 Pin: ATtiny1634 44 Pin: ATmega164
-
Thread
0-10v in pwm
<avr/io.h> #include <stdio.h> unsigned char adc_read8(char channel); int main(void) { //PC4,5 output DDRB = (1<<DDB1) | (1<<DDB2); //TIMER 1 ICR1 = 255; TCCR1A = (1<<COM1A1)
PWM umwandeln, mit dem 10F320 nur eines. Alex schrieb im Beitrag #3557886: > Kann ich den mit AVR Evaluation Board von Pollin programmieren. Ich kenne das AVR Evaluation Board nicht, aber es wir mit an Sicherheit grenzender Wahrscheinlichkeit nicht gehen. Und das Programm müsstest du auf ändern
-
Thread
Wie am Besten Text-Strings in ASM verwalden?
avrasm] do..exit..loop und if..else..end Macros gibt es hier: http://www.mikrocontroller.net/articles/AVR_Assembler_Makros#SAM_.28Structured_Assembly_Macros.29
txt_out_end: ret ;hier so wie du es auch hast über ne DB mit stoppbedingung out0: .db " AVR-Atmega8 ",$ff
-
Thread
STM32 Datenrichtung (GPIOx_CRL/CRH)
Hallo zusammen, ich steige (seit Monaten) vom AVR auf STM32 um. Was ich beim AVR toll finde ist, wie einfach man beim GPIO-Pins zwischen Ein- und Ausgang umschalten kann (Datenrichtungsregister DDR). Beim STM32F10x ist es ja etwas komplizierter, da
-DATA_OFFSET) | \ 8002260: 6819 ldr r1, [r3, #0] 8002262: 4807 ldr r0, [pc, #28] ; (8002280 <L_LOOPUS_127+0x64>) 8002264: 4008 ands r0, r1 8002266: 6018 str r0, [r3, #0] 8002268: 4770 bx lr 800226a: bf00 nop 800226c: 40011000 .word
-
Thread
Bit Angle Modulation Arduino
AVR C.
Port in AVR C. Hallo Michele, du kannst alle diese Anweisungen _auch_ in der Arduino-IDE benutzen! LG, Sebastian
-
Thread
Telekolleg Elektronik
Ausführungen über 'brandneue' 8bit Chips haben nur noch Erinnerungswert, bringen aber keinen zu Zeiten von 64Bit-8Kern Smartphones wirklich ernsthaft weiter...
versuche mal den XP :-) Modus. sp alles auf LP und den telekolleg auf EP, nun reicht der Platz bis zum 28.8. trotzdem knapp so kurz vor dem Urlaub
-
Thread
C sorgt oft für Verwirrungen
zu wissen, wie lang ein String ist. Zumindest wenn der Prozessor deutlich aufwändiger ist als ein AVR oder ARM7.
keine unnötigen Performance-Einbußen hat (wie zB die Verwendung von 16bit-Integern für Indices auf AVR).
-
Thread
Wie viel Megaherz sind gut für den AVR?
Hallo, wenn ein AVR mit <= 8MHz betrieben wird, ist das oft der interne Oszillator. Für alle Anwendungen, bei denen die Genauigkeit eines Quarzes/Kermaikresonators nicht benötigt wird, ist das eine gute Wahl. Beim Einsatz
schneller sind. Es gibt zB dsPIC33EP mit 70 MHz (16 Bit) oder PIC32MX1xx/2xx mit 50 MHz (32 Bit) im DIL28, und die sind nur unwesentlich teurer als ein Mega 328p, und sie laufen mit 3.3V. Wer wirklich Rechenleistung oder viel RAM braucht, wäre also völlig bescheuert, wenn er AVR nehmen würde. fchk
-
Thread
Suche TTL-Logikschaltung (Datumslogik)
Schwieriger wird das mit dem Wraparound, da brauchst Du für die unterschiedlichen Monate Wraparound von 28, 29, 30 und 31 auf 1, je nach Monat und Jahr. Aber auch das sollte auf Gatterlogik machbar sein. rgds
Schaltuhr mit 8 Ausgängen gebaut (etwa 50 ICs). Jede Minute wurde der Weckzeitvergleich angeschaltet, die 64 Zeiten verglichen und wieder abgeschaltet. Das sparte viel Strom. Was giftig ist, sind die schnellen AC(T) und F Serien.
-
Thread
Auswahl eines Ethernet Controller
ist viel schlechter als AVR.
Mikrocontroller ist schon vorhanden!!! Wuerdes du auch den Typ uns verraten auch wenn es kein STM32 oder AVR ist? Susi schrieb im Beitrag #3505212: > Also ich bevorzuge SPI da das noch vorhanden ist. Ok dann gehen nur die Typen die ein SPI on Board haben. Da kenne ich ENC28J60 ENC624J600
-
Artikel
Einstieg in die ARM Entwicklung
Einrichtung und Inbetriebnahme von OpenOCD zusammen mit openocd unter Windows Vista und Windows Vista x64. Vor allem im Bezug auf die Toolchain lauern unter Vista (besonders x64) verschiedene Fallen die mit Hilfe des Artikels umschifft werden können. Als IDE für die grafische Entwicklung wird Netbeans beschrieben
API-Aufruf „CreateProcess“ in der „msys-1.0.dll“ des zugrundeliegenden MSYS/MinGW Systems auf Vista x64 zurück. Details zu dem Problem, sowie eine gepachte Version der Datei (msys-1.0-vista64.zip) finden sich finden sich unter Mit der gepachten Version wird die msys-1.0.dll im Ordner „.\yagarto-tools\bin