Gefunden für avr timer delay - Zum Elektronik Forum









1 - Finde den Fehler im Programm nicht (avr-gcc) -- Finde den Fehler im Programm nicht (avr-gcc)
z2607 search




Ersatzteile bestellen
  Hallo,

ich hab mal wieder ein Problem. Und zwar hab ich nach längerer Zeit wieder mit dem Microcontroller programmieren angefangen.
Aber das erstellte Programm will nicht laufen. Compilieren geht.
Aber selbst wenn ich Interrupts nicht einschalte, scheint das Programm nicht durch die Hauptschleife zu laufen.

Momentan bin ich ziemlich ratlos und würde euch bitten mal kurz drüberzusehen. Plattform ist ein Atmega8 der auf internen Takt 1 Mhz laufen soll.

Viele Dank,
Peter

PS: eingefügte Codeschnipsel in der Main-Schleife werden scheibar willkürlich ausgeführt. Es ist nicht ersichtlich an wlecher Stelle der Controller abstürzt.


Code :
/* Sender */

//Programm für Sender

#include <avr/io.h>
#import <avr/delay.h>
#define F_CPU 1000000
#include <avr/interrupt.h>



//Funktion definieren

void senden(int a, int b, int c)
{

cli();

int i;
PORTD = PORTD | ( 1<<PD6 ); //Port6 einschalten (Oszillator)

for( i = 0; i < 7; i++)
{ //Präambel senden
PORT...





2 - AVR-Assemblercode von Atmega88 auf -8 umstricken -- AVR-Assemblercode von Atmega88 auf -8 umstricken
Hi!
Ich möchte mir ein Elektorprojekt nachbauen.
Dafür wird ein Atmega88 verwendet, ich habe aber nur den Atmega8 hier.
Ich habe schon etwas über die Unterschiede gefunden, blicke aber trotzdem nicht ganz durch.
http://www.gaw.ru/pdf/Atmel/app/avr/AVR094.pdf
Z.B. meckert der Compiler über "out TCCR0A,r16"
Ist irgendwie klar, der Atmega8 hat ja nur einen Ausgang vom zweiten Timer etc.
Aber wie schreibe ich das um?
Geht das überhaupt, oder war der Atmega88 _statt_ dem 8er nötig?
Wäre schön, wenn mir jemand weiterhelfen würde

Code : ;*********************************************************************
; LaserPro.asm
;
; For the ATmega88
;
; Laserprojector steering software
;
; Program settings:
; BOOTSZ = 11, BODLEVEL = 100, CKSEL = 0111, SUT = 11
; (brownout VCC = 4,3V, ext. full swing XTal)
;
;*********************************************************************

.include ...








3 - Atmega Fahrradtacho -- Atmega Fahrradtacho
Okay hier der Code:
Er gibt nur die Drehzahl aus was aber leicht in km/h umzurechnen wäre.

Code :
// Prozessor Taktfrequenz einstellen sofern es nicht eine Vorgabe
// beim Aufruf des C Compilers gab.

#ifndef F_CPU
#define F_CPU 4000000
#endif


#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>

#include <stdlib.h>
#include "lcd-routines.h"

#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif


volatile unsigned char NrOverflows = 0; // Anzahl der Timer Overflows die waehrend
// der Messung passiert sind
volatile unsigned int StartTime = 0; // ICR-Wert bei 1.High-Flanke speichern
volatile unsigned int EndTime = 0; // ICR-Wert bei 2.High-Flanke speichern
volatile unsigned char ProgrammDurchlauf; // Job Flag



char lcdCounterString[8];
char lcdDrehzahlString[8];


double Erg = 0.0;
double drehzahl = 0.0;




// LCD Position an der das Ergebnis der Frequenzmessung ausgegeben wird
4 - GSM-Fernschalter Funktionen verändern über µC? -- GSM-Fernschalter Funktionen verändern über µC?
Hallo,

Da ich noch in den Kinderschuhen stecke was µC Betrifft, bräuchte ich
eure Hilfe. Habe ein Problem, ich würde gerne ein GSM Fernschaltmodul
von Elektor aufbauen hier
http://www.elektor.de/jahrgang/2008/november/gsm-f...
ist das Projekt einmal beschrieben. Nun ist es dort so das beim
ansteuern das ersten Relais vom µC ATmega8 nur eine Sekunde geschaltet
wird. Da ich am ersten Ausgang aber gerne die Standheizung für ca. 1800
Sekunden (30 Minuten) ansteuern würde, wollte ich fragen ob es möglich
ist die Firmware die es bei Elektor zum Download gibt dahin gehend um
zuschreiben?
Meine Überlegung:

Der Standard ist folgender:
Exit1 Lässt sich immer nur für eine Sekunde ansteuern.
Exit2 ist Toggelfähig und kann per Jumper umgeschaltet werden auf eine
Sekunde ansteuern
Exit3 ist über einen Timer der am µC angeschlossen ist Steuerbar dort
lässt sich zwischen 1, 5, 10, 15, 20, 30, 45, 60, 90 und 120 Minuten
schalten.

So hätte ich es gerne:
Kann man den AVR so umschreiben / Was muss ich umschreiben das:
EXIT1 den Timer bekommt (halt darüber die Dauer...
5 - Timerüberlauf in CTC Modus (OCR1A Problem) -- Timerüberlauf in CTC Modus (OCR1A Problem)
Hallo,

hab mal angefangen beim atmega interrupts in kombination mit timern zu benutzen.
Leider schert sich das Programm in keinster Weise um den Wert in OCR1A.
Von der Ausgabe her scheint der Timer immer komplett vollzulaufen und dann erst den Interrupt auszulösen.
Verwendet wird ein atmega8.


Code : #include <avr/io.h>
#import <avr/delay.h>
#include <avr/interrupt.h>


//Variablen definieren

int main (void) {
DDRD = (1 << DDD6); // Pin 6 als Ausgang

//Timer mit Vorteiler 8 starten

TCCR1B |= (1<<CS11);

//Überlauf setzen

TCCR1A|=(1<<WGM12);
OCR1AL=64;





//Interrupt einschalten
TIMSK = _BV(OCIE1A); //Timer Interrupt enable

sei();

while(1){
}

return 0;
}



//Interrupts

ISR(TIMER1_COMPA_vect)
{
cli();

PORTD &= ~(1<<PD6); //Port6 ausschalten
_delay_ms(200);
PORTD = PORTD | ( 1<<PD...
6 - ATmega8515 mit STK-500 und AVR-Studio 4 -- ATmega8515 mit STK-500 und AVR-Studio 4
@GableGuy200
Spare dir bitte zukünftig die dreißig Fragezeichen, eines reicht vollkommen aus.
Edit: was genau möchtest du denn wissen? Wie man in C programmiert, wie man in C AVRs programmiert, wie man mit dem Studio in C programmiert, wie man das Programm in den µC bekommt oder wie man LEDn und Taster programmtechnisch so verbindet, dass man die LEDn mit Tastern schalten kann?
Eswas präziser wäre gut .

@Kleinspannung:

Zitat :
Schleife:
-port pin toggeln
-kurze pause
-port pin toggeln
Toggeln ist denglisch für invertieren. Würde man dieses Programm so umsetzen, würde kein wirkliches sichtbares Blinken erzeugt.

So schon eher:

Schleife:
Bit umdrehen
Warten
Schleife Ende.

In C kann man das auf exakt 101 Möglichkeiten bringen, eine einfache ohne Timer und ISR wäre die hier:


Code :
#include &l...

7 - ATMEGA32 liest nur 0xFF aus dem EEPROM -- ATMEGA32 liest nur 0xFF aus dem EEPROM
Hallo!

Irgendwas stimmt nicht mit meinem Quellcode mit Assembler.

Ich kann ohne Probleme verschiedene I²C-ICs steuern und auslesen, nur beim DS1307 und sogar beim 24C04 bzw SDA2516 liest der AVR nur 0xFF.

Ich habe verschiedene Tests gemacht um den Fehler einzukreisen.
Zuerst ein Schreibtestprogramm für den TDA6200:


Code :
;*********************************************************************************************
;* *
;* Testprogramm für den Siemens TDA6200! *
;* *
;*********************************************************************************************









.include "m32def.inc"


;**** Global I2C Constants ****

.equ SCLP = 0 ; SCL Pin number (port C)
.equ SDAP = 1 ; SDA Pin number (port C)
.equ b_dir =...
8 - delay mit C bei AVR-Programmierung -- delay mit C bei AVR-Programmierung
Hallo,

vielleicht habe ich auch einfach das ganze nicht genau verstanden.
Die LED soll also symbolisieren das der AVR noch läuft.
Bei der Steuerung mit dem Delay wäre es aber doch egal ob der AVR noch läuft oder sich aufgehangen hat. Ob er nun hängt oder 100% seiner Rechenzeit zum blinken einer LED aufbringt wäre doch gleich, was anderes kann er eh nicht mehr machen.
Besser wäre da wohl dann echt ein Timer oder aber den Watchdog (je nach AVR) zu bemühen.

Gruß

Simon ...
9 - Hilfe AVR mit I2C software AVR300 -- Hilfe AVR mit I2C software AVR300
also gut dan poste ich halt das avr300.asm

;**** A P P L I C A T I O N N O T E A V R 3 0 0 ************************
;*
;* Title : I2C (Single) Master Implementation
;* Version : 1.0 (BETA)
;* Last updated : 97.08.27
;* Target : AT90Sxxxx (any AVR device)
;*
;* Support email : avr@atmel.com
;*
;* DESCRIPTION
;* Basic routines for communicating with I2C slave devices. This
;* single master implementation is limited to one bus master on the
;* I2C bus. Most applications do not need the multimaster ability
;* the I2C bus provides. A single master implementation uses, by far,
;* less resources and is less XTAL frequency dependent.
;*
;* Some features :
;* * All interrupts are free, and can be used for other activities.
;* * Supports normal and fast mode.
;* * Supports both 7-bit and 10-bit addressing.
;* * Supports the entire AVR microcontroller family.
;*
;* Main I2C functions :
;* 'i2c_start' - Issues a start condition and sends address
;* and transfer direction.
;* 'i2c_rep_start' - Issues a repeated start condition and sends
;* address and transfer direction....

Nicht gefunden ? Eventuell gibt es im Elektroforum Transistornet.de für Avr Timer Delay eine Antwort
Im transitornet gefunden: Avr Timer Delay


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 32 Beiträge im Durchschnitt pro Tag       heute wurden bisher 2 Beiträge verfasst
© x sparkkelsputz        Besucher : 146675690   Heute : 9455    Gestern : 19264    Online : 218        23.5.2019    12:00
11 Besucher in den letzten 60 Sekunden        alle 5.45 Sekunden ein neuer Besucher ---- logout ----su ---- logout ----
xcvb ycvb
0.113481998444