-
Thread
ATmega32 läuft nicht richtig an
Nachtrag: Wenn der AVR per ISP programmierbar ist dann läuft der Quarz ja auch. Also völlig falsche Fährte zur Fehlersuche. Zu lange schon nichts mehr mit den Dingern gemacht;)
hängen bleibt. [c] int main(void) { //Ausgänge definieren DDRC = (1<<CELL_PHONE_DD)|(1<<MOTOR_POWER_DD)|(1<<MOTOR_DIRECTION_DD)|(1<<LCD_BACKLIGHT_DD); DDRD = (1<<L1L2_POWER_DD); //Pullups aktivieren PORTD |= (1<<ENCODER_BUTTON_PIN)|(1<<ENCODER_A_PIN)|(1<<ENCODER_B_PIN)|(1<
-
Thread
MCURSES - Mini Curses Bibliothek für Mikrocontroller
. schrieb im Beitrag #3875528: > Schau mal nach Uwe Bergers Basic Interpreter, den er bereits auf AVR, > XMC2GO und STM32F4xxx portiert hat: > > Beitrag "Basic-Interpreter auf einem AVR" > Beitrag "uPlay Basic Interpreter per XMC2Go" > Beitrag "Basic Editor und Interpreter auf dem STM32F429
#3879142: > Die Library sieht interessant aus, etwas störend sind IMHO die fest im > Code hängenden AVR-Eigenheiten [...] Wieso stören sie Dich? Unter Linux oder SDCC für Z80 (oder demnächst für STM32F4) werden die AVR-Spezifika doch komplett weggeblendet. > und die Lizenz. Die GPL ist denkbar
-
Thread
LCD Problem mit blafusel´s Routinen
Wahl. Die meisten kommen wohl damit halbwegs zurecht: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung
D7 * R/W ist n.c. * * 03/2005 Florian Schäffer, http://www.blafusel.de * */ #include <avr/io.h> #include <avr/delay.h> #define delay(us) _delay_loop_2 (((F_CPU/4000)*us)/1000) // wartet µs void lcd_write_init(uint8_t data) { PORTC = (data>>4); // output
-
Thread
Lokalität von Registerwerten?
cpi AL, 12 brcs PC+2 ldi AL, 0 std Y+ns_loop, AL brcs dd_nxt ldd ZL, Y+ns_lp inc ZL breq dd_nxt std Y+ns_lp, ZL clr ZH addiw Z, envelope*2 lpm AL, Z std Y+ns_lvl, AL dd_nxt: adiw YL, 9 cpi YL, low(Notes+nsize*N_NOTE) brne dd_lp popw Z ret ;--------------------------------------------------------------------; ; 32 kHz wave form synthesising interrupt isr_tc0_coma: in _Sreg, SREG ;Save regs...
-
Thread
bit invertieren
alles mit /mirror/ auskommentiert wurde, und danach der Speicherplatzzuwachs festgestellt wurde (Atmega32, -Os, avr-gcc 4.3.2): [c] #include <avr/io.h> volatile uint8_t cnt; unsigned char mirror( unsigned char a ) // 90 Bytes { a = ((a >> 4) & 0x0F) | ((a << 4) & 0xF0); a = ((a >> 2) & 0x33
mit /mirror/ auskommentiert wurde, und danach der > Speicherplatzzuwachs festgestellt wurde (Atmega32, -Os, avr-gcc 4.3.2): Erstaunlich, was bei Dir an relativen(!) Unterschieden rauskommt. Bei mir ist es ATmega168, -Os, avr-gcc 4.3.3.
-
Thread
Hilfe bei PWM Signal und Hardware nötig!
Nun ja, du bist quasi mit einem Austin Mini hier vorgefahren, während der Rest hier mit VW Golf (AVR), Opel Astra (PIC), Smart (MSP430), 5er-BMW (STM32) und Ähnlichem unterwegs ist. Damit fällst Du halt auf. Ein paar hier fahren wohl auch noch Käfer (8051), aber selbst die sind ziemlich rar. Aber
Nun ja, du bist quasi mit einem Austin Mini hier vorgefahren, während > der Rest hier mit VW Golf (AVR), Opel Astra (PIC), Smart (MSP430), > 5er-BMW (STM32) und Ähnlichem unterwegs ist. Damit fällst Du halt auf. > Ein paar hier fahren wohl auch noch Käfer (8051), aber selbst die sind > ziemlich rar
-
Thread
MMC/SD/SDHC card library von R.Riegel "verkleinern"
Benutzt Du AVR-Studio? Dann Project --> Configuration Options --> General --> Optimization auf -Os Ich hab hier grad bestimmt nicht die aktuelle Lib von ihm, wenn ich aber mal in ein altes Beispielprojekt schaue
fat_dir_entry_struct directory; fat_get_dir_entry_of_path(fs, "/", &directory); struct fat_dir_struct* dd = fat_open_dir(fs, &directory); if(!dd) { //opening root directory failed error(); continue; }[/c] führen bei mir zu einem Problem, heißt "!dd" ist true, und ich bekomme den error()
-
Thread
mega2560 Programm doppelt im Flash??
diesen: http://www.srt-versand.de/index.php?sid=6ca883ea80d2057c6163b89efa433c81&cl=details&anid=8dd49932d00865747.65532223&listtype=search&searchparam=5050112 Software: avr-gcc (GCC) 4.3.4 unter Linux avrdude
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
-
Thread
DS1307 Lib für Fleury's I2C
diesem wundervollen Forum. Mos Kito [c] /* * DS1307 RTC driver for an ATMEGA328 (really any AVR with TWI hardware). * * (C)opyright 2010, 2011 Peter Gammie, peteg42 at gmail dot com. All rights reserved. * Commenced September 2010. * * Redistribution and use in source and binary forms
SUPER! bin im Moment dabei eine DS1338 am ATMEGA32 zu verwenden. habe weder mit RTC noch mit I2C gearbeitet bis jetzt. Habe mich aber ebenfalls für die PF lib entschieden, da kommt mir deine umgebaute rtc-lib gerade recht. Das einzige was mir
-
Thread
LCD-Modul SAMSUNG UG12D228AA von Pollin
displayBMPFileAt(char* Filename, uint8_t X, uint8_t Y) { struct fat_file_struct* fd = open_file_in_dir(fs, dd, Filename); if (!fd) { writeLn("File not found\0"); return; } uint8_t buffer[256]; intptr_t count; // read Byte Array start position int32_t file_pos = 0x0A; fat_seek_file
Dank das ist es gewesen. Hab folgendes ändern müssen: in LuciaConsole_8x11.h: [c] #include <avr/pgmspace.h> const uint8_t LuciaConsole[96][11] PROGMEM = [/c] in S6B33B2.c in der Funktion putChar(...): [c] //eeprom_read_block(data, &LuciaConsole[(uint8_t)C - 32], 11); **ersetzt durch nächste
-
Thread
ATMega32 + LCD + Timer0
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Datenaustausch_mit_Interrupt-Routinen
[c] #include "global.h" // F_CPU setzen #include <stdlib.h> // itoa #include <avr/io.h> #include <avr/interrupt.h> #include <avr/wdt.h> #include <util/delay.h> #include "lcd.h" volatile uint8_t cnt; char str[16]; ISR(TIMER0_OVF_vect) { cli(); cnt++;
-
Thread
Re: [Sammelbestellung] 6 Pin 3W Power RGB LED
Bin gerade am grübeln ob meine vorgesehene Bestellung 1x 15W auf 1x30 wechseln soll.. € 16,- oder € 32,-
: 285 € (von einer vorherigen Bestellung) Pascal : ~50 € Alex S : 32,20 €
-
Thread
SD Karte via ATmega644 und SPI ansprechen
Weinhold Desc.: SIP function library for ATmega Prozessors License: LGPL */ #include<avr/io.h> #ifndef _SPI_H_ #define _SPI_H_ /*standard SPI*/ #define DDR_SPI0 DDRB #define DD_MOSI0 DDB5 #define DD_SCK0 DDB7 #define DD_CS0 DDB4 /*UART1 as SPI*/ #define DDR_SPI1 DDRD
%x", ret); printf(".\n"); #endif //receive byte and return return ret; } uint32_t sd_read_ocr(){ uint32_t ocr = (uint32_t)spi_send_byte(0xFF)<<24; ocr |= (uint32_t)spi_send_byte(0xFF)<<16; ocr |= (uint32_t)spi_send_byte(0xFF)<<8; return (ocr |= spi_send_byte(0xFF));
-
Thread
Brötje ISR Plus Kommunikation / LPB
Signale finde ich interessant. Als Schnittstelle werde ich erstmal einen Pegelwandler und einen AVR verwenden. Grüße Sascha
gepostet hatte rein, da ist die Funktion in PHP drin. hier ganz unten auf der Seite das ganze für AVR in C http://www.nongnu.org/avr-libc/user-manual/group__util__crc.html#ga1c1d3ad875310cbc58000e24d981ad20 Grüße Michael
-
Thread
SPI kein clock
,CS and SCK output, all others input DDR_SPI = (1<<DD_MOSI)|(1<<DD_SCK)|(1<<DD_CS); PORT_SPI = (0<<DD_MOSI)|(0<<DD_SCK)|(0<<DD_CS); LTC6802_set_cs(); //Enable SPI, Master, set clock rate fck/16 SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0)|(1<<CPHA)|(
PORT_SPI = (0<<DD_MOSI)|(0<<DD_SCK)|(0<<DD_CS); naja, das ist nicht schön....
-
Thread
Schaltuhr 6 Kanal
Anzeigen und einstellen. Also schreibt man sich eine Funktion zum Decodieren und eine zum Codieren in den 32bit Zähler. (Bei Sekunden sollte das ausreichen 2^32/60/60/24/365=~136 Jahre) Damit können die ganzen Vergleiche, die mit den Schaltzeiten zusammen hängen einfach als Vergleiche zwischen zwei uint32_
Steckdose zu klemmen. Wenn eine Längensteuerung gewünscht wird, muss man nur die Einschaltzeit in uint32_t umrechnen und die Dauer dazu addieren um die Ausschaltzeit zu erhalten. Aus dem Bauch heraus würde ich behaupten, dass das ein kleiner AVR sogar dann schafft, wenn die 32kHz auch für die CPU selbst
-
Thread
MCP4151 digitalpotentiometer
jemand helfen.ICh befürchte das geht nur mit Soft SPI. [c] // Library includes //#include <avr/io.h> #include <avr/sleep.h> #include <compat/deprecated.h> #include <avr/pgmspace.h> #include <util/delay.h> #include <inttypes.h> #include <avr/interrupt.h> #include <stdio.h> #include <stdlib.h
SELECT_MCP4151 PORTB &= ~(0<<PB4) #define DESELECT_MCP4151 PORTB |= (1<<PB4) #define DDR_SPI DDRB #define DD_SCK PB7 #define DD_MOSI PB5 #define DD_MISO PB6 #define DD_SS PB4 unsigned short read_adc(void); void SPI_MasterInit(void); uint8_t SPI_MasterTransmit(char cData); // Here
-
Thread
LCD DM19264A (KS0108B Controller)
und bekomme leider keine Anzeige. Die Dateien hänge ich an. Betrieben wird das LCD mit einem Atmega32 (im AVR Studio so angegeben) und nem 8MHZ Quarz. Die "nops" habe ich auf die Megaherzzahl angepasst. Hat irgendwer einen Tipp? Beschalten ist es, wie von Karl Anton beschrieben. Mit Regulierung des
zum 8Mhz Quarz - oder brauchts da aus Tempogründen 16Mhz?) und noch in der config selber auf Atmega32 gestellt und 8000000 Hz als Takt angegeben. Anschließend compiliert alles ohne Probleme. Flash nun noch per AVR Studio. Ich hab den Reset wie du mal auf Vcc über 10kOhm gezogen, hat aber auch
-
Thread
Fehler bei Programmübertragung in den AVR
... und dann das ganze nochmal auslesen =P was haltet ihr von dem AVR ISP MK2? Vom Preis her recht annehmbar.
Teil bestellt, geliefert, angeschlossen.... GEHT NET! habe die aus Bascom erzeugte .hex file im AVR Studio eingefügt und Programmiert. Jetzt bekomme ich IMMER den Fehler: WARNING: FLASH byte address 0x003E is 0x00 (should be 0xDD).. FAILED! Habe schon verschiedene Geschwindigkeiten ausprobiert
-
Thread
Problem mit USB LAB
Stelle. Lab funktioniert einwandfrei, lediglich nur auf meinem XP Rechner. Unter Vista Business SP2 32Bit mit AVR 4.18 wird alles auch richtig erkannt sogar programierung und veriefy (Avr Studion meldet ...OK). Das was aber wirklich am Controller ankommt ist fussel, mehrmals länger als ursprunglicher
1002100063E070E0D7DFE82EFF2497012A5F3F4FAD :10022000F8018481958182179307E8F1B7016B5F2C :100230007F4FC801C7DF833071F5C0E0D0E0DD2417 :1002400083E0A82EB12CAE0CBF1C05C02196C801BE :10025000BE01B8DFD80ECA15DB05C0F3B7016C5F6D :100260007F4FC801AFDFD816B1F4C0E0D0E02196CF :10027000C801BE01A7DFFE01E158FF4F8083CA1508 :10028000DB05A8F386E090E0E80EF91EC801B7018F
-
Thread
Steuerung für Autarkes Zeppelin
Was soll der Mega8 ? Nimm einen Mega32, aller drunter ist zu schnell voll.
an der ISP Schnittstelle und 3,3 Volt vom Spannungsregler gleichzeitig anliegen, so wird ja nur der AVR mit 5 Volt versorgt, während die restlichen 3,3V Komponenten weiter mit 3,3Volt laufen, sodass man den AVR programmieren ohne Pegelwandler kann. Wenn man jetzt den ISP stecker zieht, so läuft der AVR
-
Thread
RFM12 mit Atmega168
nun zur Softwareseite. Wir haben die rfm12 lib von http://www.das-labor.org/wiki/Datenfunk_mit_dem_AVR jedoch ein wenig modifiziert: http://git.42.lefant.net/gitweb/reox/rfm12.git da sich registernamen zwischen atmega8 und atmega168 geändert haben. zum problem: wir bekommen eigentlich nie eine gescheite
/git.42.lefant.net/gitweb/reox/rfm12.git/blobdiff/bfc5ffb7dde387e01f53022fc3a3bc28edaa76c6..0c9c7e3dd5bf828399e32aaec1d3f3f6e322b022:/test-m8/rfm12_config.h (( das sollte eigentlich auch drin sein -#define FREQ 433000000UL -#define RFM12_BASEBAND RFM12_BAND_433 +#define FREQ 868000000UL +#define
-
Thread
Sicherheit von AKWs bei Erdbeben
Video ist gemeint ? Von Dienstag, wo die Explosion von #3 drauf ist: http://www.faz.net/m/{3AA32C91-EAD7-4C3F-9451-44A1A9AB5158}Picture.jpg
könnte sowas nicht auch Wasser pumpen? http://www.pmw.de/cps/rde/xchg/pm_online/hs.xsl/32_7028_DEU_HTML.htm
-
Thread
Pollin - Receiver-Mainboard mit Twin DVB-[T,C] Tuner, NXP PNX8950EH
JTAG ohne LPT Arduino JTAG "cable" http://www.dd-wrt.com/phpBB2/viewtopic.php?t=69441&highlight=arduino http://hsb.wikidot.com/arduino-jtag-finder-workshop http://deadhacker.com/2010/02/03/jtag-enumeration/ avr_jtag http://hg.assembla.com
Statt einer primären Partition hat sie gleich am Anfang eine erweiterte Partition in der sich 2 FAT32 Partitionen befinden. Ähnlich war die CF-Karte in der Thomson IP1001 für WinCE 5.0 formatiert. Ein clonen der CF-Karte war nur mit dd (Linux) möglich. Wer also eine originale Platte hat, sollte diese
-
Thread
micro SD Karte lesen liefert nur 0x00
Hallo Zusammen, ich nutze folgenden Code für meine micro SD Karte: [[AVR FAT32]] Die Initialisierung funktioniert und auch der card_type wird mit 1 bestimmt. Beim lesen des Block 0 liefert mir die funktion mmc_read_sector() allerdings für alle 512 Byte 0x00. Wenn ich die Karte mit dd unter Linux anschaue kommt ca. ab Byte 474 einige andere Daten als 0x00. Woran könnte das liegen?
-
Thread
Eprombrenner/leser Entwurf
recht langsam werden. Eine erste Maßnahme wäre es die Schieberegister an die SPI-Schnittstelle des AVR zu hängen. Falls du wirklich nur Eproms lesen/schreiben möchtest reicht eigentlich auch ein Zähler aus (z.B. CD4040). Alternativ könntest du auch einen AVR mit mehr Anschlüssen verwenden (Mega8515
cgi.ebay.de/NEW-TOP-2049-USB-Universal-Programmer-MCU-PIC-/270406636067?pt=LH_DefaultDomain_0&hash=item3ef57dd223
-
Thread
Infratec IP Steckdosenleiste funktioniert nicht
Alternativ gibt's für wenig Geld was bei ELV: http://www.elv.de/Netzwerk-Steckdosenleiste-IP-SL32,-Komplettbausatz/x.aspx/cid_74/detail_10/detail2_28773 Oder den AVR-NET IO als Basis nehmen. In der ct' gab es vor 2-3 Jahren auch einen Selbstbauproket für IP-Steckdosen. Viel Erfolg Christian
Expert_Power_Control_NET_MS_1201Der_4fach_Remote_Power_Switch_mit_MasterSlaveFunktionalitaet_fuer_TCPIPNetzwerke/dd0693ad49c2800d478eb6fa9bf4b846/ http://www.gude-shop.de/GUDE_Expert_Power_Control/7720_Expert_Power_Control_NET_Rev_2_Die_schaltbare_Steckdose_fuer_TCPIPNetzwerke_fuer_eine_Schukodose/dd0693ad49c2800d478eb6fa9bf4b846
-
Thread
EEG mit AVR und ADS1194: Kritik und Anregungen
Ich traue mir durchaus zu, diese Platine zu ätzen (ist nicht meine erste). Ich hab auch schon einen AVR im TQFP-32 Gehäuse mit 0,8mm Lead Pitch mit Lötkolben und Lötzinn erfolgreich auf eine selbst hergestellte Platine gelötet. Ich weis jedoch nicht, wie gut das mit dem ADS1X9X mit 0,5mm Lead Pitch ohne
Nein. Jeder EINZELNE Kanal kann mit bis zu 32ksps Samplen.
-
Thread
[C] Größe einer Struktur checken
Welcher Compiler? C++0x kennt für solche Zwecke static_assert http://msdn.microsoft.com/en-us/library/dd293588.aspx
Stefan schrieb im Beitrag #2044705: > @arc net > IAR C/C++ Compiler for AVR 5.40.1 Darf man fragen, warum du das dann unter "PC-Programmierung" postest?
-
Thread
AVRdude hängt beim flashen
mit dem mySmartUSB light vergleichbar." http://s-huehn.de/elektronik/avr-prog/avr-prog.htm "Installation - Windows eigener Treiber. Einbindung durch einfache *inf Datei" http://www.srt-versand.de/index.php?sid=&cl=details&anid=8dd49932d00865747.65532223&listtype=search
Anhang an deine Beiträge anhängen. 2. In der Debugausgabe taucht jetzt als zu programmierender AVR ein *ATMEGA8* auf aber in deinem Makefile ist als Target ein *ATMEGA32* (siehe auch 1. Beitrag: Device signature = 0x1e9502) eingetragen. Ein für Atmega32 übersetztes Programm läuft i.d.R. auf dem Atmega8
-
Thread
Allgemeine Fragen zu hochwertigen Webservern
ist SQLite, wenn Du es schaffst, den auf einem AVR zum Laufen zu bekommen ... Deine restliche Beschreibung legt allerdings nahe, daß Du gar keinen SQL-Server auf dem AVR brauchst, sondern daß Du nur über einen Mechanismus zum Datentransport vom AVR
einen Softcore, da könntest du aber z.B. gleich ein AVR32 Baord + Linux und z.B. Light http nutzen, das koste *keine* Lizenzgebühren und man muß auch nicht den Quellcode veröffentlichen...
-
Thread
AD-Wandler 8Bit 100MHz
Vorschlag? Teil darf auch schneller sein, parallel oder SPI. Es muß diskret gelöst sein, bitte kein AVR, DSP oder PIC. Wie meinst du das mit KHz/MHz?
GROUPID=2914;ARTICLE=90070;START=0;SORT=artnr;OFFSET=16;SID=30@TNBPVX8AAAIAAHukQdcdf7a6c0b7ae9e8efa4b3c0dd04d357f MCP3301 hat 12Bit @ 100kHz. Bei 8 Bit kann man schneller abtasten.
-
Thread
Displaytech 64128c Osama's lab GLCD-Lib
avr/io.h> #include <util/delay.h> #include "glcd.h" #include "graph.h" int main(void) { PORTC=0x00; DDRC=0xFF; PORTD=0x00; DDRD=0xFF; glcd_rst(); glcd_on(); bmp_disp(arr,1,1,127,63); }[/code] das der Headerinhalt: [code] #include <avr/pgmspace.h> #include <stdlib.h> #include <math.h> #include <string.h> #include "font.h" typedef unsigned char byte; //---------------------- #define E_DELAY 20 #define DATAPORT PORTD #define
-
Thread
AD Wandler ATMega8
Hallo, ich folgenden Code programmiert, dieser funzt leider nicht. Wenn ich das ganze in AVR Studio simuliere bleibt der im ADC Interrupt hängen. Warum??? Warum geht er nicht ins Hauptprogramm zurück? Vielen Dank für eure Hilfe #include <avr/io.h> #include <avr/iom8.h> #include <
Startwert setzen } void ADC_init (void) { ADMUX = 0x00; // Channel 0 ADCSRA = 0xDD; // Prescaler /32 Int Enable; Single Shot Betrieb } ISR(TIMER0_OVF_vect) { TCNT0 = adcwert; // Startwert von AD Wandler übernehmen PORTB=!0x01; // Summer ein/ausschalten
-
Thread
IAR workbench + olimex msp430-jtag-ISO
anders abgefragt: [c] #define PIN4 0x10 if (P2IN & PIN4) [/c] Die Bit_nummern sind für die AVR-Reihe wichtig, da dort die mit den üblichen Compilern ausgelieferten Headerdateien, die die Controllerperipherie beschreiben, auch von Assemblerprogrammen aus genutzt werden können sollen; die AVR-Reihe
)CSTACK+_STACK_SIZE#", where at the moment of placement the available memory ranges were "CODE:2dd-2ff" Reserved ranges relevant to this placement: 200-2c9 DATA16_I 2ca-2dc DATA16_Z 2dd-2ff CSTACK wie kann ich die ca 400 x 5 byte speichern
-
Thread
Frequenzzähler 1Hz - 40MHz
auch die Erweiterungen für die AVR µP atMega48 - 328 Serie drin ! Der 48 Bit Zähler ist nun 64 Bit und der 24 Bit Zähler kann nun 32 Bit. Entsprechend wurde das Hauptprogramm |main()| angepasst. Alle Änderungen könnt ihr dort
16-Bit des Timer1 zusammen. Die nachfolgende Division einer 64-Bit Zahl "fref * Nx" durch eine 32-Bit Zahl "Nref" liefert als Ergebnis eine 32-Bit Zahl. Den Rest betrachten wir nicht. Ich rechne als Mathematiker lieber richtig, als mir Gedanken über Fehler mit dem Datentype 'float' unter avr-gcc