-
Thread
Zufallszahlen mit Atmega8
Reproduzierbarkeit zu erreichen. Für die spätere Serialization des Programmes, also so das jede AVR Kopie einen anderen Zufall erzeugt, kann man ja die EEPROM Zellen für jede AVR Kopie serialisieren = individuell initialisieren. Allgemein halte ich nicht viel von den vorgeschlagenen HW-Lösungen
Vergleich zu HW-RNGs. Gruß Hagen PS: übrigens sind es nicht meine LFSRs, ich habe sie nur in AVR Source umgesetzt ;)
-
Thread
AVR ATmega128 Messwertaufnahme
Hallo!! Habe folgendes Programm geschrieben: Mit einem Poti kann die Spannung verändert werden. Am PORT C des Mikrocontrollers wird diese Spannung eingelesen und auf dem LCD-Display als Balkendiagramm angezeigt. #include <kamavr.h> int main(void) { int x; int patt[8]; ACSR &=~(1<<7); DDRC=0xff; init_lcd(); while(1) { //----------------------successive approximation----------------------- int i; x=ACSR &(1<<5); PORTC=0; for (i=0;i<8;i++) { PORTC |= 0x80>>i; delay_us(20); if ((1<<5)
-
Thread
Maussensor ADNS2610
0x17 und 0x18 finde ich nicht im Datenblatt. hier ist mein Code: [c] #include <stdlib.h> #include <avr/io.h> #include <util/delay.h> //#include <USART.h> #define DDR_SCK DDRC /*!< DDR fuer Maus-SCLK */ #define DDR_SDA DDRB /*!< DDR fuer Maus-SDA */ #define PORT_SCK PORTC /*!< PORT fuer Maus-SCK */ #define PORT_SDA PORTB /*!< PORT fuer Maus-SDA */ #define PIN_SDA PINB /*!< PIN fuer Maus-SDA */ #define SCK_PIN (1<<PC0) /*!< PIN nummer fuer Maus-SCK
-
Thread
PC ersetzen für XP u. 16 bit-Progr. -- OS install
Wenn Du im BIOS-Setup die SATA-Ports von AHCI auf IDE umstellst, solltest Du XP ganz normal installieren können. fchk
Beitrag #7034785: > Wegen Weiterbenutzung von einem alten 16-bit-Zeichenprogramm CAD4 (DOS) > und AVR-Studio 4.19 mit AVRISP II an USB, unter WIN-XP. Ich würde mal behaupten, in der Zeit die da verschwendet wurde, hätte man längst auf einem modernen PC und OS AVR-Studio 4.19 mit AVRISP II installiert
-
Thread
IR Signal Fernbedienung auswerten AVR
(RC5)ausschaut weiß ich auch. Aber wie mache Ich die Auswertung am besten? (arbeite mit GCC und AVR Studio) Ich muss Ja irgendwie den unterschied zwischen einer 1 und einer 0 feststellen können. Habe gelesen das sich ein Timer gut dafür eignet, aber wie muss ich den einsetzen um das Signal zu erkennen
ausschaut weiß ich auch. > Aber wie mache Ich die Auswertung am besten? (arbeite mit GCC und AVR > Studio) > Ich muss Ja irgendwie den unterschied zwischen einer 1 und einer 0 > feststellen können. Ooops.....wenn wir hier bei Adam und Eva anfangen muessen, wie man einen Port-Pin einliest
-
Thread
Wo ist der Denkfehler? ADC -> PWM
Potentiometer ich möchte eine Lampe dimmen) und (OCR1 der Ausgang PD7 die "Lampe") [c] #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 8000000UL ISR(ADC_vect) { // Wert im ADCH auf Port C ausgeben OCR1A = ADCH; } int main(void) { // PORTD als Ausgang konfigurieren
Im übrigen sollte vermutlich auch noch die include <avr/interrupt.h> inkludiert werden
-
Thread
MSPGCC Toolchain für MSP430 Familie
lange. Soweit ich weiß, schon bevor TI's Code Composer populär wurde. Die Qualität dürfte ähnlich AVR-GCC sein. Ich weiß nicht, ob das Problem heute noch aktuell ist, aber früher mußte man, wenn man beide auf einem (Windows-) PC haben wollte unbedingt MSPGCC als zweites installieren, nach AVR-GCC.
osx-launchpad.blogspot.com/ Das einzige was am Mac stört, ist, dass der USB-UART(von TI Virtual Com Port genannt) nicht geht. Mspdebug läuft seit Einbinden des "codeless" .kext tadellos. mfg mf
-
Thread
AD Wandlung mit MEGA 16
Hallo, ich möchte den Pegel an PA0 einlesen und dann an PORT C ansehen. An PA0 ist ein 10 Kiloohm Poti angeschlossen. Frage: Ist da irgendetwas falsch in meinem Programm? Ich kann den Fehler nicht finden. Die LEDs an PORT C bleiben
Andere Programme laufen auf dem Board. [c]/* AD Wandler mit dem MEGA 16, PA0 ist Eingang, Ausgang PORT C */ /* An Port A0 ist ein 10 K Poti angeschlossen*/ /* Takt 12 MHZ, für AD geteilt durch 68, also 185 kHZ */ /* interne Referenz mit 2,56 V */ #define F_CPU 1200000 #include <avr/
-
Thread
Sd-Card endlich im 4-Bit-Mode! -> Init / Read / Write
Der Code ist recht allgemein gehalten. Man kann die Kommunikatoinsleitungen quasi beliebig an den AVR anschließen. Man müsste zum Schluss nur die Konfiguration für die Pins und die Ports ändern. Auch mein Testaufbau hier ist schlecht designt. Die 4 Datenleitungen liegen nicht nebeneinander an einem Port, sondern getrennt. Dies verursacht unnötigen Overhead beim rekonstruieren des gesendeten Bytes - jedes bit muss einzeln eingelesen werden. Sinnvolller wäre es die Leitgungen so zu legen, dass gleich
-
Thread
ATTINY 2313 Assembler Programmieren
Wir benutzen den von Atmel AVR Tools -> Avr Studio 4 die include datei heißt .INCLUDE "2313def.inc" thx Boris
muss aus einer Tabelle dann die Segmentbelegung für die jeweilige Ziffer auslesen und auf den Port ausgeben. Mal in der Annahme, dass die Segmente A bis G auf den Bits 0 bis 6 eines Ports auszugeben sind und dass die Segmente high-aktiv sind, dann wäre die Codierung für die Ziffer 0 also
-
Thread
Browser ohne google-Chrome
Simon S. schrieb im Beitrag #2603101: > Man denke beispielsweise mal an die ganzen > offenen Ports - Es gibt auch Leute die ohne Router ins Internet gehen. dann zähle doch mal auf, welche Port in einer Windows Standard installation von aussen offen sind? (ab Win XP SP2 ) > Wenn es für ein
ja bei linux auch nicht anders, installiert dir dort doch mal mysql > und schau wo er den Listen-Port hinlegt. Ja, natürlich gibt es Leute die im Netz Daten austauschen wollen. Und natürlich braucht man dafür auch Ports. Aber währe es nicht besser, dass die Ports erst aufgemacht werden wenn man den
-
Thread
mega32 pins vergleichen
Ist übrigens Assembler aus dem AVR Studio.
Habe ich gemacht. Ich habe beim PortA generieren die Pins 0 und 1 als Ausgang gesetzt, nur die anderen benutzt, also als Eingänge gesetzt. ldi r16,0xc0 out ddra,r16 Denke das geht auch. T.
-
Thread
DMX Baudrate - Einstellungen und Datenpakete "debuggen"?
auch nicht) Mein Problem ist nun aber, dass ich die 250k nicht testen kann (siehe Anhang), da der Port am Rechner sich nicht darauf konfigurieren lässt. wie kann ich nun weiter testen und warum kann der Port diese Rate nicht? Grüße Oekel
alles für den A**** ist. Nimm einen Quarz(oszillator). http://www.mikrocontroller.net/articles/AVR_Checkliste#UART.2FUSART
-
Thread
Irliz44n an arduino uno
dich langsam hoch, 1 Ohm, 2 Ohm, ... 10 Ohm. Sinn des Gate-Widerstands ist *nicht* der Schutz des AVR-Ports vor überlastung! CMOS Ports sind von Anfang an und von Grund auf dazu designed, andere FET-Gates im Rahmen des Fan-Out ohne Widerstände umzuladen. Aber: Du brauchst einen FET-Treiber, soviel parallelgeschaltete Gates kriegt der AVR nicht schnell genug umgeladen. Wenn du sowieso einen Gate-Treiber hast: Such andere FETs, dann muss es kein Logic-Level mehr sein. "Normale" FETs mit z.B. 12V-Gatespannung sind z.T. viel besser.
-
Thread
STK500 & LCD was mache ich falsch?
RW an Pin PD1 .equ RS = PD2 ;RS an Pin PD2 ;.equ LCD_cntr = PORTD ;PORTD ist Kontroll-Port ;.equ LCD_data = PORTB ;PORTB ist Daten-Port .equ BF = PB7 ;Busy flag ;LCD Befehle .equ clear_LCD = 0b00000001 ;loesche Anzeige .equ home_LCD = 0b00000010 ;return home
war folgendes im STK500 gesteckt. brücke von Prog Data auf PortB und von Prog CTRL auf PortD, ich habe dabei keine Fehler erhalten im Show fenster waren alle ausgeführten Befehle ok. Ich denke der programm modus sollte so beendet sein?!? Trozalledem bekomme ich
-
Thread
Problem mit ATmega88 und 20MHz Quarz nach Fusebitänderung
Hallo, Quarz wirklich so dicht wie möglich an den AVR-Anschlüssen? Die 22p auch dicht am Quarz und kurze Verbindung zum AVR-GND? Die 100n dicht an den AVR-Spannungsanschlüssen dran? Auf einem Steckbrett muß man sich da schon Gedanken machen, wie man
anderes: Du hast offenbar AVcc und AGND nicht angeschlossen? Mach das generell, auch wenn Du den Port C im Augenblick nicht benutzen willst. So vermeidest Du Fehlersuche, wenn Du nicht mehr daran denkst und außerdem weiß man nie genau, welche geheimnisvollen Wege der Strom im AVR nimmt, die der Hersteller
-
Thread
Problem Compilieren myAVR Workpad Plus waitMs()
Sprache : C // Datum : 25.04.2011 // Version : 1.0 // Autor : xxxxx // Programmer: xxxxx // Port : //------------------------------------------------------------------------- // created by myAVR-CodeWizard //------------------------------------------------------------------------- // #define F_CPU 3686400 #include <avr\io.h> #include <inttypes.h> #include <avr\interrupt.h> void LED_left(); void LED_right(); void LED_flash(); unsigned char getValueADCandWait(); int speed_adc; SIGNAL(SIG_ADC) { } //--
-
Thread
Mikrocontroller Rechenleistung reicht für aktuelles Projekt nicht?
Mike schrieb im Beitrag #3581146: > Um nochmal auf den AVR zurückzukommen: rechnet der überhaupt mit Double? Noe. Auf einem AVR sind float, double und long double alle 4 Byte breit.
Kaj schrieb im Beitrag #3581161: > Mike schrieb im Beitrag #3581146: >> Um nochmal auf den AVR zurückzukommen: rechnet der überhaupt mit Double? > Noe. Auf einem AVR sind float, double und long double alle 4 Byte breit. Der AVR macht da gar nix. Das macht wenn dann der Compiler. Und so wie
-
Thread
eigentümliches Verhalten eines Übungsprog. in Asm.
Assembler ; Datum : 09.11.2007 ; Version : 1.0 ; Autor : Renaldo Badke ; Programmer : ; Port : ;---------------------------------------------------------------------- .equ F_CPU, 1000000 .include "avr.h" ;----------------------------------------------------------------------- ;Reset
Hängt an Port C überhaupt eine LED? ;) Also die an Port B leuchtet ganz sicher und logisch nur "halb".
-
Thread
Mega32 und Steckbrett (Anfängerproblem)
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Interne_Pull-Up_Widerst.C3.A4nde
- im PORTx-Register an die gleiche Stelle eine 1 schreiben, damit wird der Pullup aktiviert - Einlesen über PINx-Register.
-
Thread
Atmega644 - ADC Problem
Atmega644. Die Grundbeschaltung habe ich so aufgebaut: http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC Ich möchte über den ADC 12 verschiedene Taster einlesen. Dazu habe ich die Tastenmatrix genommen wie sie von Peter Dannegger hier vorgestellt wurde: http://www.mikrocontroller.net/
Das AREF im AVR-Studio bewirkt in deiner Schaltung nichts. Du hast auf Ext.Referenz gestellt und somit keine Spannung an AREF.
-
Thread
alarmanlage durch schaltkontakte über parallelport LPT
| ............... | +--- Reedkontakt --+ +----- GND LPT Port Pin 18 bis incl. 25 http://j.techgsm.com/img/testers/lpt_signals.gif http://www.mitchsoft.de/Elektronik/AVR/Grundschaltungen/img/OptoAusgang.JPG
Cat5e Kabel. Du solltest den Strom begrenzen (mittels Vorwiderstand), ansonsten *kann* dein LPT-Port sterben. So ein Widerstand wird doch nicht zu viel verlangt sein oder? Das Problem mit dem Parallelport ist, dass da wenig spezifiziert ist und sich die Ports von Hersteller zu Hersteller in Hinsicht
-
Thread
Komisches Verhalten des Taster-Pins
Ich habe gerade nochmal geschaut. Der Debugger zeigt die korrekten Werte für PortA0 - PortA5 an. Nur 6 und 7 haben keinen Einfluss iwie obwohl ich sie direkt auf 3,3V gehängt habe...
Ich weiß nicht, welcher Chip auf deinem Board verbaut ist. Aber bei einigen AVR ist es zb so, das ausgewählte Ports (namentlich diejenigen die über einen ADC angesprochen werden können) eine eigene Spannungsversorgung am IC haben. Schliesst man die nicht an, kommt es auch zu solch
-
Thread
Arduino hängt sich auf - Relais und I2C Kommunikation
der AVR Ausgänge dürfte in der selben Größenordnung liegen wie der Spulenwiderstand von 125 Ohm. Da dürfte dann beim Schalten an die 50% der AVR Versorgungsspannung in der AVR Pin Ausgangsstufe abfallen ( also
www.mouser.ca/datasheet/2/307/en_g6a-1148492.pdf Ich sehe keine (wirklichen) Probleme mit Direkt Port Betrieb des Relais. Nur wäre das 6V Modell günstiger gewesen, weil dann der Pin Strom vom AVR nur noch 22mA betragen würde (R[L] = 25 Ohm + 200 Ohm). Noch günstiger wäre der P-Kanal MOSFET Schalter
-
Thread
Servo-Signal auslesen mit Atmega 8 - wo liegt der Fehler?
Ein paar Beispiele in Bascom findest Du hier, da ist auch was mit Einlesen von Servoimpulsen dabei: http://www.mikrocontroller.net/topic/238759#2427387 ...
Loop Until Portb.0 = 0 Stop Timer1 End If If Timer 1 > 1500 Then Portc.5 = 1 Else Port C.5 = 0 Loop [/code] Das ist extrem quick'n'dirty aber soll Dir nur das Prinzip aufzeigen. Gruß, Norbert
-
Thread
Probleme mit Atmega162 und Timer0
hoffe, dass ihr mir erklären könnt warum;) Ziel des Programms ist es, dass ich eine 8 bit Adresse am Port C einlese, 6 addiere auf den Port B ausgebe und nochmal 6 und das dann auf den Port D ausgebe. Benutze einen atmega162 Anfangs habe ich das über einen Pin Change versucht, was dazu führte, dass
was er soll. Der Teil-Erfolg kam, als ich deinen Rat befolgt habe und ich plötzlich alle Pins von Port C ansprechen kann und ich mich bei einem früheren Projekt schon darüber geärgert habe:) Davor hat er auf keine Eingabe von PortC 6 &7 reagiert.
-
Thread
Wie viele PWM am ATmega16?
Ich möchte vier Lüfter ansteuern können und ein LCD zum anzeigen der Lüfterdrehzahl usw. Welchen AVR sollte ich nehmen? Wie könnte die Hardware ausehen, d.h. langt ein FET in Reihe zum jeweiligen Lüfter und das Gate an den µC?
Dimmen (ein/aus schalten) werden ca. 70 Takte verbraten mal 10000 = 700000 Takte. Bei 8MHz für den AVR sind das gerade mal 10% an Leistung für Software-PWM. Gruß Andi
-
Thread
Atmel Tiny - Taster Problem
hallo zusammen, hab n kleines problem, ich möchte einen taster auf einem board einlesen (funk avr von pollin) und damit eine led leuchten lassen. bestückt ist es mit einem atmel tiny 2313, und ich programmiere es aus dem avr studio (win avr) das programm sieht in etwa so aus:
(1<<PD4) | (1<<PD3) | (1<<PD2) | (1<<PD1) | (1<<PD0); DDRB = 0x00; // alle Pins von Port B als Eingang PORTB = 0xFF; // alle bits des ports auf log 0 while(1) { PORTD |= (true << LED1NR); PORTD |= (TAST << LED2NR); } return 0; }
-
Thread
Wettersensor / serielle Daten auswerten?
Bit , 2ms Low = 0 , 4 ms Low = 1 und das ganze 6x Jetzt würde ich diese Daten gerne an einen AVR Mega8 leiten, verarbeiten und auf ein LCD ausgeben. Nur habe ich leider überhaupt keine Ahnung wie ich die Daten einlesen kann. Könnte mir jemand mal schildern wie man mit solchen Daten am besten umgeht
noch gerne wissen würde ist, wie detektiere ich das Signal am besten? In der Hauptschleife den Port immer wieder abfragen? Oder lieber einen Interrupt auslösen lassen? Was sollte dann in der ISR passieren und was nicht?
-
Thread
Openwrt Daten via 232 auf Homepage?
von der seriellen Schnittstelle ließt und in eine Datei schreibt. Diese könntest du dann per PHP einlesen. Oder, oder, oder...
Mit cat /dev/ttyUSB0 kann ich immerhin schonmal Daten einlesen nur wie beende ich diesen vorgang? Also wie sage ich cat das die übertragung nur 10 zeichen lang ist?
-
Thread
10-BIT-Wert vergleichen
9600 .equ UBRRVAL = CLOCK/(BAUD1*16)-1 .equ MAX = 1000 ;ausgang für alarm led .equ alarmport=portG .equ alarmddr=ddrG .equ alarmbit=pg4 ; RAM .dseg .org 0x100 Puffer: .byte 10 ; hier geht das Programm los .cseg .org 0 ldi temp1, LOW(RAMEND) ;
@ Kay B. (newbie) Solche langen Quelltexte bitte als Anhang posten. [[AVR-Tutorial: ADC]] [[AVR-Tutorial: Vergleiche]] MfG Falk
-
Thread
Minutengenaue 24 Stunden-Wortuhr - wer will mitbauen?
soll es Inline-Assembler geben. Ja, ätzend. Aus _genau_ diesem Grunde bin ich auch nicht an einem AVR-Port interessiert. Während die LEDs gefüttert werden, kann der ATmega nichts anderes mehr machen... > Für den MSP430 habe ich auch Inline-Assembler hier, aber der hat ja zu > wenig RAM. Ich
bitte mal die AT-Kommandos posten, in welcher Reihenfolge Du > was machst? [code] send_cmd(hPort, "AT+CWJAP?\r", 4); send_cmd(hPort, "AT+CIFSR\r", 2); send_cmd(hPort, "AT+CIPMUX=0\r", 3); send_cmd(hPort, "AT+CIPSTART=\"TCP\",\"192.53.103.104\",37\r", 1); curtime = read_answer
-
Thread
Mehrere Programmteile kombinieren
Also das dürfte kein Problem sein... sobald du einen Port beschrieben hast bleibt das gespeichert, solange du nix neues reinschreibst und die Spannungsversorgung erhalten bleibt ;) Also könntest du theoretisch ohne Endlosschleife arbeiten - einmal was reinschreiben
AVR's schon ;-)
-
Thread
So brachte ich meinen AVR-Net-IO (Pollin810058) zum Laufen!
Hallo AVR-Gemeinde ich beschäftige mich seit kurzem mit dem AVR Net IO. Nach mühsamen Anfangsschwierigkeiten habe ich das Teil nun einigermaßen am laufen. Aber!! Wenn ich dem Teil über Putty eine neue
Hallo Es ist nicht möglich die Adresse des AVR-NET-IO von 192.168.0.90 auf die 192.168.2.90 zu ändern.Alle Versuche sind gescheitert.Könnte das IC MAX 232N defekt sein
-
Thread
Probleme mit AVR Frequenzmessung
Anfang stehe, danke. Hier der Code: [c] // Einbinden der erforderlichen Bibliotheken #include <avr/io.h> #include <avr/interrupt.h> #include <stdio.h> #include <util/delay.h> #include "lcd.h" // benutzt zum Berechnen der Ergebnisse volatile uint32_t frequenz; // aktuelle
frequenz); counter = 0; TCNT0 = 0; sei(); } // Hauptprogramm int main(void) { // IO-Ports initialisieren und vorbelegen DDRC |= (1 << DDC5) | (1 << DDC4) | (1 << DDC3) | (1 << DDC2); DDRC &= ~ ((1 << DDC6) | (1 << DDC1) | (1 << DDC0)); // PC6=in, RESET // PC5=out, PC4=out, PC3
-
Thread
XMEGA 128A1 ADC negative Spannung
PortA, Pin0 wäre ein guter Kandidat für einen Referenzpin.
wieder ein kleines Problem. Vllt hast du das ja schon gemacht. Ich wollte nun die ADC-Werte in SRAM einlesen, um diese später verarbeiten zu können. Nun habe ich mir AVR1502 angeschaut. Hier werden die Tasten eingelesen und dann wieder ausgegeben. Dasselbe wollte ich nun auf den ADC anwenden. Ich dachte
-
Thread
Serielle Schnittstelle und VBA
bin leider kein C-Freak, dafür jedoch diverser BAsic-Dialekte. An sich nicht schwierig. VB öffnet Port, sendet Zeichen, AVR empfängt Zeichen, zieht nen Interrupt. In der ISR siehst Du nach was für ein Zeichen, legst dieses auf den Port. Somit kannst mit dem Zeichen, welches Du sendest, die gesetzen
Telegramme senden mit Startzeichen, Datenbyte, ggf. Steuerbyte, Checksumme, ggf. Endezeichen senden und im AVR auf Richtigkeit prüfen, ehe ein Port anders gesetzt wird. Umgedreht genauso... Viele Grüße MArco
-
Thread
Problem mit eingebundener 232.h -> Undefined Reference
Hallo, Ich bin grade dabei, ein Kleines Testprogram zu schreiben, daß mir einmal den status von PortA an den Rechner schickt, und einmal das vom Rechner empfangene auf PortB ausgibt. Dazu habe ich eine RS232.h mit #include angehängt. Solange ich nur vom Controller zum PC sende funktioniert alles.
die Meldung "imlizite Deklaratien" und dann "undefined reference"... Hier der Code [c]#include <avr/io.h> #include <avr/delay.h> #include "RS232.h" //#define F_CPU 3686400 int Data, rec; int main(void) { DDRA=0x00; DDRB=0xff; USART_Init(MYUBRR); uart_puts("Das ");
-
Thread
PC mit Handy einschalten
eingang anzapfen, den ggf. mit einem Kondensator nach Gleichrichtung "glätten" und dann per ADC einlesen und mit einem AVR dann den Einschaltimpuls erzeugen. Ansonsten auch sehr schön: http://www.ulrichradig.de/home/index.php/avr/avr_handy ich würde ggf. das Handy aussen an den PC tuen und
Fällen ein Broadcast, wird also überall im LAN verschickt. Eine Switch wird das Packet auch an alle Ports weiterleiten. Also nichts mit verwerfen oder vergessen.
-
Thread
didaktische Unterstützung bei einem kleinen, privaten Softwareprojekt gesucht
µ-Controllern von Atmel wären hilfreich. Ich benötige hauptsächlich Hilfe bei der Timeransteurung, einlesen von Tastatureingaben über ein Matrix-Tastenfeld, Analogauswertung und der strukturierten Programmierung z.B. mittels Funktionen, um das Wichtigste zu nennen. Ich arbeite mit einem Atmega32, es kann
ganz klein anangen und eine LED blinken lassen. Denn vielleicht mal die Initialisierung der GPIO-Ports in eine Funktion auslagern usw. Ein Poti einlesen, um die Blinkfrequenz zu steuern ist vielleicht der nächste Schritt, wovon du denn auch schon Teile für deine Anwendungnutzen kannst. Dafür braucht
-
Thread
Interrupt mit ATTiny 2313A
Der ATtiny 2313 A hat keinen PCINT0_vect. Schau selbst: https://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html Du wolltest wohl PCINT_vect verwenden. Was mich aber total irritiert ist, dass du dein Programm so überhaupt compiliert bekommst. Denn der ATtiny 2313
/* Pin Change Interrupt Request 2 */ [/c] Das passt nicht zur Doku auf https://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html die ich für meine vorherige Antworte konsultiert hatte. Offenbar gab es den ATtiny2313 A noch nicht, als diese Doku geschrieben wurde. Weiterhin finde
-
Thread
Arduino DMX 256 Kanäle als Paket senden
ich oben beschrieben habe? Einfach die Animationen als File einlesen und ausgeben.
44,1 Hz (22 ms) Refresh selbst bei 2 aktiven UART DMX Output, da langweilt sich ein 16 MHz ATmega AVR.
-
Thread
Problem mit unterschiedlichen Prescalern
hast dann aber immer noch das grundsätzliche Problem nicht gelöst. Das besteht darin, das Du das einlesen und verarbeiten der Daten mit einem Minimum an Interruptsperren, bzw. einer minimalen Zeit während der die Sperre gilt, erledigen musst. Im konkreten Fall, hast Du ja noch andere Timer-Interrupts
Das war auch mit USB [c] #include <avr/io.h> #include <util/delay.h> #include "usb_serial.h" #define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n)) int main(void) { CPU_PRESCALE(0); usb_init(); _delay_ms(500); DDRD
-
Thread
zeitgleicher Abarbeitung mehrerer Programme
als ein Satz von Routinen zur Verwaltung von Prozessen, Timern, Semaphoren und Messages. Beispiel AvrX: unter 1,5KB. Unterscheiden muss man zwei Varianten: (1) preemtives Multitasking und (2) kooperatives Multitasking. AvrX kann nur (1), FreeRTOS beides. Bei (1) können Prozesse an beliebiger Stelle
anderes machen. Er kann wenn er will auch mal so eben im Flash rumlöschen. Macht diese Möglichkeit jeden AVR,MSP430,ARM7 prinziell nicht echtzeitfähig?
-
Thread
I2C Problem mit Acknowledge Polling
Vorgehensweise sondern um die Coderierung. Das I2C Modul des STM32 ist um Längen komplexer als das eines AVR.
. schrieb im Beitrag #4380238: > Das I2C Modul des STM32 > ist um Längen komplexer als das eines AVR. Trotzdem muß man aber den gleichen Ablauf verwenden, wie beim AVR, 8051 oder SW-IWC und kann sich nicht was anderes aus den Fingern saugen.