-
Thread
C-Code optimieren
Code, den es zu optimieren gilt: [c] /* IPMS Controllerpins definieren */ #define GPIO_IPMS_DB0 AVR32_PIN_PD11 #define GPIO_IPMS_DB1 AVR32_PIN_PD12 #define GPIO_IPMS_DB2 AVR32_PIN_PD13 #define GPIO_IPMS_DB3 AVR32_PIN_PD14 #define GPIO_IPMS_DB4 AVR32_PIN_PD15 #define GPIO_IPMS_DB5 AVR32_PIN_PD16
AVR32_PIN_PD28 #define GPIO_IPMS_DB6 AVR32_PIN_PD29 #define GPIO_IPMS_DB7 AVR32_PIN_PD30 [/c]
-
Thread
Kuriose effekte beim beschreiben von EEprom 24C512
Vorgang kann ich den Baustein neu beschreiben. Diese parallelen 28C16A hatten aber auch keinen Löschbefehl intern, keine Steuerung, waren simpelst. Das einzige, was die machten, war eine interne Programmierspannungserzeugung, wenn man den Nicht-A-Typ hatte.
Darüber hinaus werde ich als nächstes einmal versuchen ein Page Write vor zu nehmen, dass ich auf einmal 128 Werte schreibe und dann wieder solange bis ich dann zu einem Fehler komme. Gruß Kalle
-
Thread
Problem mit Funktionspointern
{ {1,0x00}, // Space {1,0x5E}, // ! {3,0x06,0x00,0x06}, // " {5,0x28,0x7C,0x28,0x7C,0x28}, // # {5,0x24,0x2A,0x7F,0x2A,0x10}, // $ {3,0x62,0x18,0x46}, // % {5,0x30,0x4C,0x5A,0x24,0x50}, // & {1,0x06}, // ' {2,0x3C,0x42}, // (
4,0x0C,0x52,0x52,0x3C}, // 9 {1,0x48}, // : {2,0x80,0x68}, // ; {3,0x10,0x28,0x44}, // < {3,0x28,0x28,0x28}, // = {3,0x44,0x28,0x10}, // > {3,0x02,0x52,0x0C}, // ? {5,0x3C,0x42,0x52,0x2A,0x3C}, // @ {4,0x7C,0x12,0x12,0x7C}, // A {4,0x7E
-
Thread
Wie reserviere ich einen Speicherbereich in C?
= PEEK(Counter); // #define PEEK(addr) (*(unsigned char *)(addr)) if((byte >= 32)&&(byte <= 128))printf("%c",byte); else printf(" "); if((Counter & 0x3F) == 0)printf("\n %X ",Counter); } [/c] Wie kann ich das ohne *PEEK* schreiben?
Stelle schreiben. Da muss der Compiler/ Linker gar nichts davon wissen ;-) Edit: bei einem einfachen AVR sollte das so gehen.
-
Thread
Sounddatei zeitgenau abspielen
Reaktionszeit als 1ms würd ich mal behaupten. Gibt aber andere ARM bretter mit DAC onboard/chip. AVR mit SD karte und externem Decoder kann man hier auch knicken, denn das Dateiöffnen dauert schon länger als paar ms. Also nach nem ARM gucken mit onboard DAC oder vllt AVR32
das hier in Frage: http://de.farnell.com/wolfson-microelectronics/wm8569seds-rv/codec-stereo-24bit-28ssop/dp/1776257
-
Thread
MCP2515 sendet kein SO Signal an MISO (SPI)
ein Bit in einem register setzen? Ich verzweifel hier regelrecht. Bitte helft mir. Verwendeter AVR: AT90can128
[c]#define F_CPU 16000000[/c] die gebe ich vom AVR an die MCP weiter...
-
Thread
RWE Smarthome
Toolchain für die CCU ist hier. > > http://www.eq-3.de/software.html Das Funkmodul hängt nur am AVR. TRX868 <-SPI-> AVR <-UART-> ARM Ich gehe davon aus, dass die unteren Protokollschichten im AVR sind. Ich kann mich aber auch irren. Vielleicht kann sich ja mal jemand die Mühe machen und die serielle Kommunikation zwischen dem AVR und dem ARM belauschen? Die serielle Verbindung zwischen AVR und ARM liegt an ST400 an. Hier könnte man ganz einfach zwei serielle PC Ports jeweils mit RXD anschliessen und mit passender Software (
-
Thread
ATTiny24V: Bandgap zu gebrauchen?
machen, um die Qualität der Bandgap des ATTiny24 "abzuschätzen". Die 1,6 V Referenz des ATmega128RFA1 sieht "ermutigend" aus.
Vbg gegen Vcc > messen lassen. OK, hier dann also. Erstmal die Firmware: [c] #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 8000000ul #include <util/delay.h> volatile uint16_t adcval; static void send_data(uint16_t data) { uint8_t i; uint16_t mask; for
-
Thread
USBasp: Firmware flashen
C:/ C:\>avrdude -c stk500v1 -b 19200 -p atmega8 -P com3 -u -U flash:w:usbasp.atmega8 .2011-05-28.hex avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.13s avrdude: Device signature = 0x1e9307 avrdude:
avrdude: 4700 bytes of flash written avrdude: verifying flash memory against usbasp.atmega8.2011-05-28.hex: avrdude: load data flash data from input file usbasp.atmega8.2011-05-28.hex: avrdude: input file usbasp.atmega8.2011-05-28.hex auto detected as Intel Hex avrdude: input file usbasp.atmega8.2011
-
Thread
Informationen zum Einstieg in die µC-Welt
Moin, Grundkenntnisse kannst du dir mit den myAVR Board (ATmega 8) oder dem Arduino 2560 Board in Verbindung mit CrossPack und evtl. MyAVR Light Programmer (weiß nicht ob die Bezeichnung jetzt richtig ist, jedenfalls ist der Programmer billig und läuft
würde ich nicht mit den kleinsten PICs, sondern mit einen 16 oder 32 Bitter wie z.B. einem dsPIC33FJ128GP802. Der läuft mit 40 MHz und ist auch im SDIP28 verfügbar. Plus: Du kannst Dich nicht wie bei AVR durch falsche Fuse-Settings aussperren, Du hast nicht das Problem mit getrennten Programm/Daten-Adressräumen
-
Thread
Rechnen und Programmieren. Reicht Onboard Grafik?
wenn ich meine OnBoardgrafik schon aufwerten möchte immer darauf achten, dass die Speicheranbindung 128-bit breit ist. Entsprechende PCIe-Karten gibt es ab ungefähr 50 Euronen (über die 128-bit hinaus wird es dann spürbar teurer). Bei modernen Chipsätzen braucht ein Nicht-Gamer PC egal was er sonst
Windows-Programmierung mit Visual Studio und µC-Programmierung (Atoll Studio, Keil µVision und WinAVR). danneben noch ein wenig E-Mail und Internet. Bis hierher wäre es schlimm, wenn der i3 Schwächen zeigen würde. Zuhause dann sogar noch eine DVB-C TV-Karte mit der ich gelegentlich auch mal was
-
Thread
STK500 avrdude: initialization failed, rc=-1
bin/avrdude -C /etc/avrdude.conf -p m8 -P /dev/ttyUSB0 -c stk500 -U flash:r:/home/c0dix/workspace/AVR_Test/Release/AVR_Test1.hex:a avrdude: stk500v2_command(): command failed avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override
-P /dev/ttyUSB0 -p m8 -uF -vvvv": [code]avrdude: Version 5.11.1, compiled on Oct 30 2011 at 10:37:28 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch System wide configuration file is "/etc/avrdude.conf" User configuration
-
Thread
Audio PWM von uC richtig Filtern
Da gibts nämlich Typen, die gleich 14 Bit Stereo Audio out eingebaut haben. Schau Dir den dsPIC33F128GP802 (28 Pin) bzw GP804 (44 Pin) oder die MC802/MC804 an. Da hast Du die Probleme nicht - der spielt auch 48kHz 16 Bit stereo problemlos ab. fchk
gibts nämlich Typen, die gleich 14 Bit Stereo Audio out eingebaut haben. > Schau Dir den dsPIC33F128GP802 (28 Pin) bzw GP804 (44 Pin) oder die > MC802/MC804 an. > > Da hast Du die Probleme nicht - der spielt auch 48kHz 16 Bit stereo > problemlos ab. > > fchk Sicherheit/Einfachheit. Ich
-
Thread
Arm Synthesizer mit LPC1114
Hier gibt es eine Beispiel für das Programmieren des 28pol Dip mit einem LPC1114Xpresso: http://www.sase.com.ar/2012/files/2012/10/Hands-on-NXP-Cortex-M0-LPC1114-en-package-DIP28.pdf
] const uint8_t lied [] = { 1 //Lied Nr. 1 Offset:0 ,0,136,128,107,128,72,64,72,141,136,134,136,128,111,128,72,64,72,144,143,139,136,143,148,72,70,64,70,131,139,200,200,192,82,143,141,139,200,171,72,64,72,141,136,134,200,175,72,64,72,144,143,139,136,143,148,72,70,64,70,131,139,200,200
-
Thread
TSIC und ATMega
Lib. Zumindest das funktioniert ohne Probleme. Etwas Quelltext: main.c [c] #include <avr/io.h> #include <avr/wdt.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/eeprom.h> #include <avr/pgmspace.h> #include "usbdrv.h" #include "oddebug.h" #include "zacwire.h
delay-Funktionen in Deinem Code Probleme generieren, siehe: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Warteschleifen_.28delay.h.29 Viele Grüße Igel1
-
Thread
CAN-Bus Gateway
edit: grad beim stöbern auf http://www.chip45.com/products/crumb128-can-5.1_avr_atmega_modul_board_at90can128_usb_rs485_can.php das ding da gestossen, das wäre doch ideal oder irre ich da? Ich habe ein OBD-CAN und ein OBD-K-Line Interface mit denen ich fröhlich
Beitrag #3001390: > edit: > > grad beim stöbern auf > > http://www.chip45.com/products/crumb128-can-5.1_avr_atmega_modul_board_at90can128_usb_rs485_can.php > > das ding da gestossen, das wäre doch ideal oder irre ich da? leider nein. Beide serielle Ports des AVRs sind bereits belegt - einer
-
Thread
Projekt DVM 4,5 Digit aus Standardbauteilen mit automatischer Bereichsumschaltung
dem TO99 Gehäuse) aufgebaut. Alles Geschichte, danach kam gleich die mc-Zeit mit dem 8051, später AVR, MSP430 und heute quäle ich ARM-Prozessoren :-)
der Hand gehabt? Du verwechselst das mit den 7106 bzw. 7107, die 7135 haben schon immer ein DIL28 Gehäuse.
-
Thread
ATmega328-PU mit 64MB erhältlich?
, kann mir jemand, der Ahnung hat, sagen, ob es einen Controller wie den Atmel ATmega328-PU (DIL28) gibt, der aber einen 64MB-Speicher (oder sogar einen 128MB-Speicher) hat? Einen Atmega648-PU finde ich jedenfalls in keiner Elektronikhändler-Liste.
der hätte auch nur 64 kByte...wenn du MB an Speicher willst, dann bist du bei den 8-Bittern von AVR an der falschen Stelle...
-
Thread
ARM Einstieg Hilfe bei Controller und IDE Wahl
spielen um mit der library,... vertraut zu werden. z.B in einem bestehenden design einfach einen AVR/PIC/... durch einen M0 ersetzen... die CMSIS (lib für alle cortex controller) hat einfach ihre eigene logik. 73
heiß her.... Klar ist alles eine Frage des Geschmacks. Da ich bis jetzt nur mit Visual Studio und AVR Studio gearbeitet habe, habe ich noch keine Meinung zu Eclipse. Was hat es denn mit der einfacheren Bedienbarkeit von IAR auf sich ?
-
Thread
DS18S20 auslesen (finde den fehler nicht)
die Libary? Guck mal da, da kannst du sicher was von gebrauchen. http://www.siwawi.arubi.uni-kl.de/avr_projects/tempsensor/index.html Die Arduino ist auch in C geschrieben und die funktioniert unter Arduino ganz hervorragend. Sonst guck nach der für den Arduino und pass dir das an.
0x08, 0x00, 0xE6 > 24) && (0x10, 0x89, 0x8A, 0x77, 0x02, 0x08, 0x00, 0xE6 < 27)) { PWM=128; analogWrite(Van1,PWM); } else if ( 0x10, 0x89, 0x8A, 0x77, 0x02, 0x08, 0x00, 0xE6 > 27.1) { digitalWrite(L,HIGH); PWM=254; analogWrite(Van1,PWM);
-
Thread
IDE unter Linux
F_OSC = 10000 [/c] eingegeben. Auf "Make all" geklickt und folgende Fehlermeldungen kamen: [c] avr-gcc: error: unrecognized argument in option ‘-mmcu=8051’ avr-gcc: note: valid arguments to ‘-mmcu=’ are: at43usb320 at43usb355 at76c711 at86rf401 at90c8534 at90can128 at90can32 at90can64 at90pwm1
attiny167 attiny22 attiny2313 attiny2313a attiny24 attiny24a attiny25 attiny26 attiny261 attiny261a attiny28 attiny4313 attiny43u attiny44 attiny44a attiny45 attiny461 attiny461a attiny48 attiny84 attiny84a attiny85 attiny861 attiny861a attiny87 attiny88 atxmega128a1 atxmega128a1u atxmega128a3 atxmega128d3
-
Thread
Problem mit Timersynchronisation mega168
------------------- TCCR0B &= ~(1<<CS02); //safely enable UART again after IO-mode for 128us-low-pulse //---------------------------------------------------------------- UCSR0B |= (1 << TXEN0); }
Interrupt-Response-Time (ohne Jitter). Der Sleep-Mode richtet sich danach, welcher Interrupt den AVR wecken soll. Sleep ist also die Normalität und dient nicht nur zum Abschalten des Gerätes.
-
Thread
ATtiny 2313 mit mySmartUSB
danke, ich habe es jetzt so verkabelt wie oben beschrieben. Dann habe in AtmelStudio 6 AVR Dude als Tools eingerichtet: avrdude.exe -p attiny2313 -e -c avr910 -P com4 -U flash:w:$(ProjectFileName):i und wenn ich das stearte erhalte ich: [code] Found programmer: Id = "AVR ISP"; type
unknown) Device code: 0x26 = (unknown) Device code: 0x27 = (unknown) Device code: 0x28 = AT90S4414 Device code: 0x29 = (unknown) Device code: 0x2a = (unknown) Device code: 0x2b = (unknown) Device code: 0x2c = (unknown) Device code: 0x2d = (unknown) Device
-
Thread
Ausgabe von Font aus Programm Memory Gesperrt
Schrift habe in Form von 6x8. so sieht der Quellcode momentan aus für 6x8 Font: [c] #include <avr/pgmspace.h> typedef char PROGMEM prog_char; const prog_char Font[256] [6] = { { 0, 255, 255, 255, 255, 255}, { 0, 255, 255, 255, 255, 255}, { 0, 255, 255, 255, 255, 255}, { 0, 255, 255, 255, 255, 255}, .. . { 0, 28, 161, 160, 161, 124}}; [/c] so der neue Quellcode mit großen Schrift: [c] typedef char PROGMEM prog_char2; const prog_char2 Font2[80] [2] = { {0x00, 0x00}, // ········ ······· {0x00,
-
Thread
Welchen Mikrocontroller CAN-Bus
?dDocName=en558774 Gibts auch in SDIL28, d.h. Du kannst Dir das ganze zur Not auch auf einem Steckbrett aufbauen. Dazu vorzugsweise einen SN65HVD232 3.3V Transceiver (die meisten Transceiver brauchen 5V, der dsPIC ist aber wie die meisten
Thomas schrieb im Beitrag #2988897: > Was haltet ihr von den Mikrocontrollern : > > - AT90CAN128 8 Bit AVR, 5V, TQFP64 AVRs sind die typischen Anfängerprozessoren hier, aber es gibt fürs gleiche Geld leistungsfähigere Alternativen. Ein Nachteil ist, dass die JTAG-Debugger, mit denen Du Programme
-
Thread
Laufzeitproblem
Dateneingang und CLK als Takteingang. Nach jeweils 8 Bits bekommst du einen Interrupt und kannst in 8*3,5µs = 28µs bequem das komplette Byte kopieren.
funktioniert das Sampling hervorragend. Danke für die Hilfe, ohne Beispiel hätte ich mich nimmer getraut das AVR ASM Manual in die Hand zu nehmen. Jetzt wos geht ist es ganz einleuchtend. Danke auch an die anderen. Gruß, Detlef
-
Thread
LCD Display funktioniert nicht
fleury */ /*@{*/ #if (__GNUC__ * 100 + __GNUC_MINOR__) < 303 #error "This library requires AVR-GCC 3.3 or later, update to newer AVR-GCC compiler !" #endif #include <inttypes.h> #include <avr/pgmspace.h> /** * @name Definitions for MCU Clock Frequency * Adapt the MCU clock frequency
*/ #define LCD_E_PIN 2 /**< pin for Enable line */ #elif defined(__AVR_AT90S4414__) || defined(__AVR_AT90S8515__) || defined(__AVR_ATmega64__) || \ defined(__AVR_ATmega8515__)|| defined(__AVR_ATmega103__) || defined(__AVR_ATmega128__) || \ defined(__AVR_ATmega161
-
Thread
Regelkreis mit ATMEGA32
UADC18+UADC19+UADC20+ //Speichervariable UADC21+UADC22+UADC23+UADC24+UADC25+UADC26+UADC27+UADC28+UADC29+UADC30+ UADC31; mem=(mem1+mem2+mem3+mem4)/128; //Bildung des arithmetischen Mittels aus den 128 Messungen. return mem/R1; //Berechnung des Stromes und Rückgabe } /* 2012,
. Ebenso könntest du P,I und D über drei Kanäle deines AVR auf Potis legen und so regeln. Hast du brauchbare Werte mit annehmbarer Regelzeit und ohne Überschwingen, kannst du sie ins EEPROM oder Flash ablegen. wultna schrieb im Beitrag #2974034: > UADC5
-
Thread
Neues Farbdisplay bei Pollin - Ansteuerung Gesperrt
Bildschirmspeicher und braucht daher einen TFT Controller, der den Inhalt mit 60Hz permanent auffrischt. Für AVR Bastelprojekte ungeeignet. Für den Betrieb eignet sich am Besten ein PIC24FJ128DA210 oder LPC2478. fchk
einen TFT > Controller, der den Inhalt mit 60Hz permanent auffrischt. 60 HZ: Das bekommt der AVR doch hin - oder?
-
Thread
Problem beim flashen über ISP
Servus, ich versuche einen ATMega128 mit einem AVR Dragon über ISP zu flashen. Der Mikrocontroller befindet sich auf einem MR-C3024 Board von einem Robonova (http://www.robonova.de/store/product.php?productid=16147). Dazu habe ich dann
funktioniert die HV Programmierung denn mit externen Boards? "To avoid damaging the Target Board, the AVR Dragon or both, it is recommended to only use HVSP mode on devices placed in the 28/40 pin DIP socket on the AVR Prototype area on the AVR Dragon." "Extreme care should be taken if using HVSP mode
-
Thread
Suche einen µC / Serie
klassischen 8015 brauchen 12 Takte pro Instruktion. Das macht bei 40MHz ca so so viel Leistung wie ein AVR bei 8MHz. Viel Spaß.
einen Bootlader eingebaut, mit dem man u.a. auch Kode in das RAM laden und ausführen kann. In DIP28 gibt es momentan nur den LPC1114FN28 mit 4KB RAM (Cortex M0 mit maximal 50 MHz). Der LPC4350 am anderen Ende der Skala hat 264KB RAM (Cortex M4 mit Fließkommaeinheit + Cortex M0 mit maximal 204
-
Thread
Kann man denn jetz das hi- und low-byte eines uint16_t effizient lesen in c?
void ) { uni.i = ADC; u16 = ADC; u8 = PINA; while(1) { if( uni.b.hi < 128 ) continue; if( (volatile uint8_t)(u16>>8) < 128 ) continue; if( *((volatile uint8_t*)(&u16)+1) < 128 ) continue; if( u8 < 128 ) continue; asm("
Ich verspreche euch, da ist nichts gefälscht dran, aber... mein avr-gcc hat folgende Version: [code] C:\Users\Leo\Documents\AVR\ATtiny24A\default>avr-gcc-4.7.2 --version avr-gcc-4.7.2 (GCC) 4.7.2 Copyright (C) 2012 Free Software Foundation, Inc. This is free software
-
Thread
SRAM auslesen zu langsam.
Nimmste nen AVR mit Hardware Speicherinterface und der saugt dir das in paar Takten ausm SRAM.
zur Laufzeit. Wenn die Optimierung eigeschaltet ist ;-) http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Warteschleifen_.28delay.h.29 >Mit einem oder zwei inline nop >bist du besser bedient. Kommt auf das Gleiche raus.