-
Thread
C jedes zweite Bit verwerfen
Berechnungsfunktion (langsam, geringer Speicherbedarf) erledigen, siehe [[Bitmanipulation]]. Auf dem avr gcc gibt es eine Spezialfunktion, die kann die Bits in einem Byte beliebig verwürfeln. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/AVR-Built_002din-Functions.html Das hier ist Standard-C, das
Die avr gcc Version wäre diese hier. [c] uint8_t tmp; for (i=0; i<4; i++) { tmp = __builtin_avr_insert_bits(0x7531FFFF, bindata[2*i], 0); netdata[i] = __builtin_avr_insert_bits(0xFFFF7531, bindata
-
Thread
PWM mit Sleepmode
einen aTmega 328p. Vielen Dank Hier noch der Code: #include "u8g.h" #if defined(__AVR__) #include <avr/interrupt.h> #include <avr/io.h> #include <avr/sleep.h> #include <avr/power.h> #include <util/delay.h> #include <avr/wdt.h> #endif #define LINKS OCR1A-=10 #define RECHTS
sec = 0, min = 0; //ISR void u8g_setup(void) { //u8g_InitSPI(&u8g, &u8g_dev_ssd1306_128x64_hw_spi, U8G_PIN_NONE, U8G_PIN_NONE, PN(2, 1), PN(2, 0), U8G_PIN_NONE); // PB4 PB0 PC6 u8g_InitSPI(&u8g, &u8g_dev_pcd8544_84x48_hw_spi, PN(1,5), PN(1,4),
-
Thread
FT800 / FT810 Library
den AVR128DA, wie zum Beispiel das der kein DMA kann, was wäre denn ein Argument für das Teil?
bekommt. Wenn man die bei Microchip direkt kauft kosten die auf Rolle: ATSAMC20J17A-AUT €1.76 AVR128DA64T-I/PT €1.48 Aber ich würde ich eher mal bei Arrow, Avnet oder EBV anfragen, also auch gerade die AVR128DA64 wenn die für die Anwendung ausreichend sind. Zumal die ATSAMC20J15A-AUT und die
-
Thread
AVR – Übers EEPROM und darüber hinaus…
wo das beschrieben ist oder > wo hast du diese Information her? http://www.gaw.ru/pdf/Atmel/app/avr/AVR105.pdf Laut Appnote AVR105 ist dass EEPROM der AVR Mikrocontroller in einzelnen Bytes organisiert. Das steht da mehrfach im Text. Aber bitte missinterpretiert meine Aussage bitte nicht als
Und jetzt mal zurück zum AVR..
-
Thread
Taschenrechner Selbstbau: Programmstrukturfrage
Operatoren wie + - * / sin con tan etc. befehlen willst, ist mir allerdings schleierhaft. Nicht doch 128 Tasten ?
Nen paar Anregungen zu nem einfachen Taschenrechnerprogramm gibts hier: http://www.fritzler-avr.de/spaceage2/soft_tasch.htm http://www.fritzler-avr.de/spaceage2/down_software.htm
-
Thread
128 Displays simultan ansteuern
" im Titel? > Alles für die Katz, Themaverfehlung! mit "simultan" meinte ich, daß ich für alle 128 Displays 128 verschiedene Textanzeigen lade, und daß der dann möglichst gleichzeitig von allen Displays auch angezeigt wird. ->Stefan: Ich glaube, die Lösung RS485 scheint mir am besten geeignet
ein MCP2003B Transceiver für zusammen etwa 1€ als Slave ausreichen - Quarz entfällt hier. In der AVR-Welt gibts ähnliches, aber die meisten AVR-UARTS haben keinen LIN-Support. Im direkten Vergleich ist die PIC-Peripherie leistungsfähiger und vielseitiger. Der Griff zu automobilen Standards ist eine
-
Thread
Arduino MIDI Controller mit 128 Analog-Eingängen
256 Leitungen, die man z.B. über Shift-Register einlesen kann. Bei 16MHz AVR gehen 8MHz SPI. Mit jedem Clock wird ein Bit übernommen: 1s/8MHz = 125nS pro Bit. 125nS * 128 = 16µS um alle Encoder einmal abzufragen. Ergibt 62,5kHz maximale Samplerate für alle Encoder. Das ist
leeer schrieb im Beitrag #4519712: > Lüge? Nein. > Bei 16MHz AVR gehen 8MHz SPI. Mit jedem Clock wird ein Bit übernommen: > 1s/8MHz = 125nS pro Bit. > 125nS * 128 = 16µS um alle Encoder einmal abzufragen. Ergibt 62,5kHz > maximale Samplerate für alle Encoder.
-
Thread
C Programcode für Motorsteurung
#include <avr/io.h> #include <avr/interrupt.h> #include <inttypes.h> #include <stdbool.h> #include <avr/pgmspace.h> #define F_CPU 16000000ULL #include <util/delay.h> void InitPWM() { TCCR0A|
#include <avr/io.h> #include <avr/interrupt.h> #include <inttypes.h> #include <stdbool.h> #include <avr/pgmspace.h> #define F_CPU 16000000ULL #include <util/delay.h> void InitPWM() { TCCR1B =
-
Thread
AVR Einstieg
irgendwo in einem Uni-Labor nachfragen, ob die Moeglichkeit besteht mal einen AVR zu programmieren... > Programmiersprache: > Ich würde C in Verbindung mit AVR-Studio nehmen, da es in diesem Bereich > eine gängige und mächtige Sprache zu sein scheint. AVR-Studio kenn' ich
Bibliothek bekommen (hat sich über die Jahre schließlich nichts dran geändert), und während der AVR dank zweier Adressräume und 16-Bit-Adressierung des Befehlsspeichers erst ab 128 KiB Flash mit all dem berüchtigten memory banking ins Straucheln kommt, erwischt es den MSP430 schon bei 48 KiB
-
Thread
ATMEL ARM SAMD ohne Framework programmieren
langsamem Systemtakt die Verbindung noch klappt. Ist der Prozessor jetzt verloren? So ähnlich wie beim AVR wenn man ihn "ver-fused".
M4F-Fraktion eigentlich nur aus Boliden besteht, dabei gibt es garantiert einen recht ordentlichen Markt für 48..64 pinnige M4F mit ca. 100 MHz und 32..128K Flash nebst 8..32 K Ram. W.S.
-
Thread
dspic ausreichend für Audio Effekte ?
mich persönlich ist ein kostenloses Source-Level-Debugging wichtig, daher mache ich z.B. wenig mit AVR.
IMHO schön lötbaren 64-LQFP-Gehäuse. Kann aber kein SD-RAM. Für einen Looper oder so könnte man ein 128 MBit SPI Flash dran hängen. Dafür ist es schnell genug.
-
Thread
Embedded World 2016
interessant, ja. Ich würde auch am liebsten ein eigenes Board mit dem FT811 designen mit einem 90CAN128 oder so drauf.
Bei Atmel gabs die neuen TinyAVR boards heute, sogar ohne Registrierung/Visitenkarte. Sehr beeindruckend die Sigfox Lösung, wenn demnächst hier bei uns das Netz ausgebaut wird, wird man mit einem kleinen avr schon die connectivity
-
Thread
10bit AD-Wandler auf 12bit
Das ist deine AppNote: AVR121: Enhancing ADC resolution by oversampling
Burgas schrieb im Beitrag #4469972: > Das ist deine AppNote: AVR121: Enhancing ADC resolution by oversampling Ja, da steht auch "resolution" und nicht "accuracy".
-
Thread
AVR MKII und avrdude keine USB Verbindung
falsch. Weil ich das hier gekauft habe: http://shop.myavr.de/Systemboards%20und%20Programmer/myAVR%20Board%20MK2,%20best%C3%BCckt.htm?sp=article.sp.php&artID=40 Gruß
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
Billige Displays für 3,3V?
weil ich die benötigten Daten irgendwann mal in der Ebaysuche eingegeben habe. "2.4 TFT SPI" "128x64 blue" "Arduino 3.2" Spi" Da kommt man wenn man "tft AVR" bei Ebay sucht schon von selbst drauf.
und relativ klein, kann aber ausreichen: http://www.aliexpress.com/item/1pc-White-Backlight-84-48-84x84-LCD-Display-Module-Adapter-PCB-for-Nokia-5110-Newest/32579943269.html
-
Thread
Arduino oder Mikrocontroller - Was ist besser?
Entwicklungsumgebung das Atmel Studio 7. Ein gute Tutorial ist https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial. Gruß, Stefan
hat. Programmieren und vor allem SIMULIEREN dann mit dem guten AVR-Studio4 (gibt Menschen, die auch das 6er mögen - AVR-Studio6 kommt mit einem c++-Compiler daher, der Compiler der 4er ist glaub rein c). Einen Programmer braucht es dann noch (zB. http://www.ebay.de
-
Thread
Universeller JTAG-Adapter
Was dem Wunsch des TE wohl noch am nächsten käme wäre Lauterbach. AVR8 kann der aber wohl auch nicht (scheint erst bei AVR32 los zu gehen) und der Preis ist für den Hobbybereich natürlich auch jenseits von Gut und Böse.
liegen die Python-Files für diverse Mikrocontroller z.B. "GoodFETclient to interface zigduino/atmel128 radio" https://github.com/travisgoodspeed/goodfet/blob/master/client/GoodFETatmel128.py
-
Thread
Prüfen ob ein Microkontroller funktioniert
Guten Tag, ich würde gerne kontrollieren ob der Microkontroller: M9S08AC128CFGE noch funktionstüchtig ist. Ein datasheet habe ich nicht gefunden. Wie kann ich ihn kontrollieren? (Bitte gut erklären bin absoluter Leihe, und keine Angst ich tu mir schon nicht weh.) Mfg
2Fdoc%2Fdata_sheet%2FMC9S08AC128.pdf%3Ffsrch%3D1%26sr%3D1&usg=AFQjCNGEjM8G-WJB1qfGH98oKPOofWRktA&bvm=bv.112454388,d.bGg
-
Thread
Kleines ARM Modul wie Ardunio Nano gesucht
schon bei mehr als einer handvoll Pins Eben, deswegen frage ich. Noch bastle ich bevorzugt mit AVR Controllern. Aber der Wunsch nach mehr (jedoch Platinen zu ätzen) wird immer stärker. > Es gibt doch ARM in DIP: Oh, das wusste ich gar nicht. Ich hatte mehrmals gelesen, dass es sie nicht gäbe
None Usage Type Data wMaxPacketSize 0x0030 1x 48 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0
-
Thread
LED Logarithmisch Dimmen
klappt das nicht so wie ich es mir vorstelle! Hier mein Code (für einen Atmega8): #include <avr/io.h> #define F_CPU 8000000 #include <util/delay.h> #include <avr/pgmspace.h> unsigned char test=0; const uint8_t pwm_value[256] PROGMEM = { 1, 1, 1, 1, 1, 1, 1, 1, 1,
33, 33, 34, 35, 35, 36, 37, 37, 38, 39, 40, 40, 41, 42, 43, 44, 45, 46, 47, 48, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 67, 68, 69, 71, 72, 74, 75, 77, 78, 80, 82, 83, 85, 87, 88, 90, 92, 94, 96, 98, 100, 102
-
Thread
Microchip kauft Atmel Gesperrt
Nase schrieb im Beitrag #4437663: > AVR hat m.M.n. auch ein Imageproblem. AVR fängt mit 8-Bittern an und > hört genau da auch eigentlich schon auf. XMega und AVR32 hab ich > irgendwie nie wirklich wahrgenommen. Atmel hat sich schon lange
hat, sondern warum /AVR/ ein Bastlerimage hat.
-
Artikel
Diskussion:Soft-PWM
0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0, 0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0, 0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8, 0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8, 0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4, 0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4, 0x0C, 0x8C, 0x4C, 0xCC,
? Ich habe es jetzt auf einem 128er und nem 64er Versucht. Bei beiden zerbröselt es einem die PWM, wenn man die Kanäle mit bestimmten Werten fütter, wie z.B. 200,0,100,30,0 usw. Da kommt dann nichts sinnvolles mehr raus. Ist die Frage
-
Thread
S/P-DIF Mixer - lohnt sich selbst bauen?
das hörst Du gnadenlos, und es wird Dich gnadenlos nerven. Nehmen wir an, Du hast eine Quelle mit 48kHz Sampletakt, und eine Quelle mit 48kHz+0.001%. Dann hast Du alle zwei Sekunden ein Sample, was weggeworfen werden muss, also alle zwei Sekunden ein leichter Knacks. Ätzend. fchk PS: Natürlich
Takte delay. Du musst dazu eine Gleichung bilden, die auf 5-7 Samplepunkte schaut und mit wenigstens 48 Bit Genauigkeit rechnet. Ob sich das lohnt, sei dahin gestellt. Die Genauigkeit entspricht etwa dem, was man mit offline-Korrekturen auf Samplebasis im Bereich 48kHz hinbekommen kann. Das ist den gängigen
-
Thread
automatischer Vorschub für Drehbank
Daumenradschalter kann ich das Übersetzungsverhältnis wählen. Bereich: 0,01 bis 9,99 mm/Spindelumdrehung. Ein AVR Atmega48 erfasst die Encoderpulse und steuert den Schrittmotor entsprechend des eingestellten Teilerverhältnisses. Das funktioniert in beide Richtungen synchron zur Spindel. Deshalb sind auch mehrere
der Fall. Doch nicht so schmutzig. In der Orginal-Anleitung gibt es sogar eine Zeichnung dazu (S. 128): http://www.wabeco-remscheid.de/media/content/Download/Betriebsanleitung/Drehmaschinen%20D6000-D6000-C-CC-D6000%2010-2014.pdf
-
Thread
WordClock mit WS2812
schon ganz anders als 115€. Für 60€ würde ich eine Platte nehmen (IIRC lag die Platte der WC12h mit 48€ auch nicht wesentlich darunter) Viele Grüße, Thomas
wählbare Full-RGB-Farben pro Bild benutzen kann. Dann braucht man eine Lookup-Table von 16x3 Bytes = 48 Bytes. Im Icon benutzt man dann nur noch die Indices auf diese Lookup-Table. Damit "kostet" jedes Bild auch nur 144 Bytes plus 48 von der Lookup-Table. Macht dann 192 Bytes pro Bild, also knapp 3,5KB
-
Thread
C-Code für Fahrtregler anpassen
Main code file. */ //Set your controller here #include "../pindefs/tz85a.h" #include <avr/io.h> #include <avr/pgmspace.h> #include <stdint.h> #include <util/delay.h> #include <avr/interrupt.h> #include <math.h> #include <avr/eeprom.h> //Define RC States #define unitialised 0
newState = forward; if(tempLimit){ if (tempState == WARM && OCR2 > 128) { desiredPWM = 128; } } } } else { failsafe++; //If havent got 10 valid pulses yet increase
-
Thread
Arduino Set oder Microchips und wie funktioniert das genau?
hat mich völlig > fertig gemacht. Stichwort Bikeshedding. Passiert. Hier gibt es mehr Hilfe zu AVR und ARM als zu PIC. Woanders ist das anders. Gewöhn' dich dran. > Ich hoffe jemand kann mir trotz dem einen Tipp geben, vielen Dank schon > mal im voraus. Gehe in die nächste Bibliothek und
, das geht bestimmt mit dem Chip, ähnlich wie MIDI oder einfach Sound, da gibt es wohl Werte von 1-128/256/512 oder so etwas. Also müsste ich nun auch schon an die passende Elektronik denken, damit ich das zusammen bestellen kann. Eigentlich ist es doch wie eine Soundkarte zu bauen, eigentlich könnte
-
Thread
Empfehlung uC für Display
eines Auges. Welcher Mikrocontroller kann so etwas leisten? Zur Auswahl stehen (aktuell): - AVR Atmega32 mit 32kB Flash - Cypress PSoC 4, im Prinzip ein Cortex M0 mit 48MHz, 256kB Flash und 32kb RAM. Ich nehme jedoch auch gerne Empfehlungen für Dev-Kits (<100€) entgegen. Ist so etwas überhaupt
Andreas K. schrieb im Beitrag #4394740: > 128x160 Pixel Grundsätzlich ist ein Dispaybuffer eine sinnvolle Sache. Es geht zwar auch ohne, macht aber keinen Spaß. 128x160 Pixel sind 2560 Byte. Damit ist der Mega32 schon mal aussen vor, da
-
Thread
OSD programm mit einem ATmega32u4
*********************/ #include <stdio.h> // Einbinden der Standard I/O Ports #include <avr/io.h> //Einbinden Input und Outputs des ATmegas #include <util/delay.h> // Einbinden Wartezeit /*** Port Bits *****************************************************************************/
da kann man sich die Werte die der MAX zuruckgeschickt hat, aufschreiben und spater per ISP oder AvrDude auslesen, anstatt einen Haufen LEDs oder OsziBildschirm zu dekodieren.
-
Thread
ATtiny13 verstehe Verhalten nicht
Experimentieren, um externe Interrupts kennen zu lernen. Habe folgenden Code: [c] #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> volatile uint8_t int0_flag = 0; int main (void) { /* enable output pin, set low */ DDRB |= (1<<PB4); /* enable pullup
Der Vollständigkeit halber hier nochmal der Code: [c] #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> volatile uint8_t int0_flag = 0; int main (void) { /* enable output pin, set low */ DDRB = (1<<PB4); PORTB &= ~(1<<PB4)
-
Thread
hsv2rgb 8bit fehlerhaft?
((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 do multiply the ramp values by four, and then // divide by 256
// 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 do multiply the
-
Thread
Atmel AVR Toolchain for Linux
./avr/include/avr/iox128d4.h ./avr/include/avr/iom8.h ./avr/include/avr/iom6490p.h ./avr/include/avr/iom48p.h ./avr/include/avr/iom3290a.h ./avr/include/avr/iotn44a.h ./avr/include/avr/iox64b3.h ./
/avr/include/avr/iox256a3u.h ./avr/include/avr/iom165pa.h ./avr/include/avr/iotn40.h ./avr/include/avr/iom48.h ./avr/include/avr/iox128d3.h ./avr/include/avr/iotn167.h ./avr/include/avr/iocan32.h
-
Thread
Timer Initialisierung für den avr-gcc komfortabel ermitteln
"]=='3') {$_TCCR1A=$_TCCR1A+32;} //CLEAR if ($_SESSION["com1b"]=='4') {$_TCCR1A=$_TCCR1A+48;} //SET // TCCR1B bittien asetus if ($_SESSION["icnc1"]) {$_TCCR1B=$_TCCR1B+128;} //NOISE CANCELER ON/OFF if ($_SESSION["ices1"]=='up') {$_TCCR1B=$_TCCR1B+64;} //SET IF POSITIVE/RISING EDGE
wendelsberg schrieb im Beitrag #4365045: > Von einem AVR auf einen anderen? > Die drei Zeilen? 3 Zeilen? Wenn Du z.B. statt einem ATMega32 einen ATMega128 verwendest? Das Problem geht schon damit los das Du Register für Register vergleichen musst
-
Thread
Shift mit Carry
Geht das "schöner" (kürzer/schneller)? Plattform avr-gcc ATmega. [c]static void shift_left(uint8_t data[]) { uint8_t i; for (i = 31; i > 0; i--) data[i] = (data[i] << 1) | (data[i-1] >> 7); data[0] <<= 1; }[/c]
17 cp r30, r18 3274: f3 07 cpc r31, r19 3276: 41 f7 brne .-48 ; 0x3248 <shift_left.lto_priv.21+0xa> 3278: 08 95 ret[/avrasm]
-
Thread
AVR-GCC 4.8.1 tiny841 nicht bekannt
attiny261 attiny261a attiny28 attiny4313 attiny43u attiny44 attiny44a attiny45 attiny461 attiny461a attiny48 attiny84 attiny84a attiny85 attiny861 attiny861a attiny87 attiny88 atxmega128a1 atxmega128a1u atxmega128a3 atxmega128a3u atxmega128a4u atxmega128b1 atxmega128b3 atxmega128c3 atxmega128d3 atxmega128d4
attiny4 attiny40 attiny43u attiny4313 attiny44 attiny44a attiny441 attiny45 attiny461 attiny461a attiny48 attiny5 attiny828 attiny84 attiny84a attiny841 attiny85 attiny861 attiny861a attiny87 attiny88 attiny9 atxmega128a1 atxmega128a1u atxmega128a3 atxmega128a3u atxmega128a4u atxmega128b1 atxmega128b3 atxmega128c3
-
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
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
Bauteile fuer batteriebetriebene Digitaluhr
Ausgangspunkt könntest du ja ein fertiges Development-Board nehmen. Für die Uhr fiele mir z.B. der AVR-Butterfly ein, Mega169, 3V-Batterie betrieben, nacktes LCD-Display ist dran. Dazu gibt es auch Beispielanwendungen für WinAVR. Kostenpunkt so um die 25,- Ahoi, Martin
noch programmieren kann, wenn ich ihn erstmal auf 128kHz umgestellt hab....