oberallgeier
09.11.2007, 23:33
Schönen Abend,
wünsch ich wenigstens Euch. Ich bin leicht deprimiert.
Habe bisher schon einige (aber vermutlich weniger als 1000 .. 2000) Zeilen Assembler in AVRStudio geschrieben und wollte jetzt mal "in C einsteigen".
Also >heute< WinAVR geholt von sourceforge.net und installiert. Installiert ist also derzeit:
AVR Studio 4 Version 4.12 Build 460 oder, genauer (aus der AVRStudio-Hilfe)
AVR Studio 4.12.460
GUI Version 4, 12, 0, 460
Operating System
Major 5
Minor 1
PlatformID 2
Build 2600
Service Pack 2
Plugins:
AvrPluginAvrAsmObject 1, 0, 0, 43
AvrPluginavrgccplugin 1, 0, 0, 4
Stk500Dll 1, 0, 0, 58
-------
Fujitsu Siemens Celsius M410, P4 3,06 GHz, WXP Pro (mit allen bisherigen updates)
-------
Und danach (heute) installiert:
WinAVR-20070525-install.exe
---------
und jetzt locker ein neues Projekt in AVRStudio aufgemacht: gewählst avr gcc - mega8 - und losgelegt. Einen einfachen Code eingetragen (aus einem Thread geklaut) :
#include <avr/io.h>
#include <stdbool.h>
#include <stdlib.h>
#include <avr/io.h>
#include <AVR/iom8.h>
#include <inttypes.h>
#include <util/delay.h>
#define F_CPU 9600000 // clock
// Timer1 initialisieren
void timer1_init(void)
{
TCCR1A |= (1<<WGM11)|(1<<COM1A1)|(1<<COM1A0); // initalize mega8 Timer1 with 9Bit, inverted, Prescaler 256
TCCR1B = (1<<CS12); // this gives us a signal with 21.76ms at 12MHz
OCR1A = 476; // pulse of 1.5ms 512- 1500*(F_CPU/256/1000000)/2
// Hier wieder der PWM auf mittelstellung gebracht oder?
}
int main (void)
{
unsigned char i; /* Variable i */
DDRB = ( 1 << PB3 ); /* Pin PB3 als Ausgang für Servo */
DDRB &= ~ (1<<PD4); /* Pin B4 als Eingang */
PORTB |= (1<<PB4); /* Pull Up von PIN B4 aktivieren */
while(1){
if (!( PINB & (1<<PINB4))) /* mache was wenn PinB4 low ist */
{
if(OCR1A > 452){
OCR1A--; /* Pulsbreite verkürzen */
}
} else {
OCR1A = 476;
}
for(i=0;i<50;i++)
_delay_ms(10);
}
}
und auf F7 gedrückt. Gleich bleibt das AVRStudio "stehen" - und endet mit "... das Programm reagiert nicht ..." und "... abbrechen ..." und "... Problembericht senden ...".
Also habe ich BEIDE Programme deinstalliert. Neustart des Rechners. Beide Programme installiert - diesmal aber zuerst WinAVR und DANACH AVRStudio. Der Fehler ist eher gleich geblieben: sobald ich das neu angelegte Projekt mit dem C-Code aufmache - bleibt das AVRStudio stehen ](*,) . Es ist zum Heulen. Die Assembler-Projekte gehen klaglos (ich habe nur EINES getestet :( ) und liefern beim Assemblieren auch einen einwandfrei flashbaren (und funktionierenden) *hex-file.
Ich geb´s ja zu ich habe das readme von WinAVR nicht durchgelesen - na ja, nicht wirklich. Weil eben in den verschiedensten Threads vom eher problemlosen Anfang mit WinAVR die Rede ist. Z.B.:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=35248&highlight=avrstudio+winavr
Könnte mir jemand bitte trotzdem einen Rat geben? Ist das normal? Muss ich bei der Installation anders vorgehen?
Vielleicht hat jemand aber trotzdem einen Ratschlag für mich? Bitte :)
Ach so - ein Nachtrag:
Auch das minimale Programm aus dem C-Turorial in RN-Wissen:
#include <stdio.h>
int Zahl1;
char Zeichen1;
int main (void)
{
int zahl2;
/* Anweisungen */
return 0;
}
führt beim "Build" , also beim Druck auf F7 , zu einem abrupten Anstieg der Systemleistung auf 100 % und der Taskmanager meint "..keine Rückmeldung ..."
wünsch ich wenigstens Euch. Ich bin leicht deprimiert.
Habe bisher schon einige (aber vermutlich weniger als 1000 .. 2000) Zeilen Assembler in AVRStudio geschrieben und wollte jetzt mal "in C einsteigen".
Also >heute< WinAVR geholt von sourceforge.net und installiert. Installiert ist also derzeit:
AVR Studio 4 Version 4.12 Build 460 oder, genauer (aus der AVRStudio-Hilfe)
AVR Studio 4.12.460
GUI Version 4, 12, 0, 460
Operating System
Major 5
Minor 1
PlatformID 2
Build 2600
Service Pack 2
Plugins:
AvrPluginAvrAsmObject 1, 0, 0, 43
AvrPluginavrgccplugin 1, 0, 0, 4
Stk500Dll 1, 0, 0, 58
-------
Fujitsu Siemens Celsius M410, P4 3,06 GHz, WXP Pro (mit allen bisherigen updates)
-------
Und danach (heute) installiert:
WinAVR-20070525-install.exe
---------
und jetzt locker ein neues Projekt in AVRStudio aufgemacht: gewählst avr gcc - mega8 - und losgelegt. Einen einfachen Code eingetragen (aus einem Thread geklaut) :
#include <avr/io.h>
#include <stdbool.h>
#include <stdlib.h>
#include <avr/io.h>
#include <AVR/iom8.h>
#include <inttypes.h>
#include <util/delay.h>
#define F_CPU 9600000 // clock
// Timer1 initialisieren
void timer1_init(void)
{
TCCR1A |= (1<<WGM11)|(1<<COM1A1)|(1<<COM1A0); // initalize mega8 Timer1 with 9Bit, inverted, Prescaler 256
TCCR1B = (1<<CS12); // this gives us a signal with 21.76ms at 12MHz
OCR1A = 476; // pulse of 1.5ms 512- 1500*(F_CPU/256/1000000)/2
// Hier wieder der PWM auf mittelstellung gebracht oder?
}
int main (void)
{
unsigned char i; /* Variable i */
DDRB = ( 1 << PB3 ); /* Pin PB3 als Ausgang für Servo */
DDRB &= ~ (1<<PD4); /* Pin B4 als Eingang */
PORTB |= (1<<PB4); /* Pull Up von PIN B4 aktivieren */
while(1){
if (!( PINB & (1<<PINB4))) /* mache was wenn PinB4 low ist */
{
if(OCR1A > 452){
OCR1A--; /* Pulsbreite verkürzen */
}
} else {
OCR1A = 476;
}
for(i=0;i<50;i++)
_delay_ms(10);
}
}
und auf F7 gedrückt. Gleich bleibt das AVRStudio "stehen" - und endet mit "... das Programm reagiert nicht ..." und "... abbrechen ..." und "... Problembericht senden ...".
Also habe ich BEIDE Programme deinstalliert. Neustart des Rechners. Beide Programme installiert - diesmal aber zuerst WinAVR und DANACH AVRStudio. Der Fehler ist eher gleich geblieben: sobald ich das neu angelegte Projekt mit dem C-Code aufmache - bleibt das AVRStudio stehen ](*,) . Es ist zum Heulen. Die Assembler-Projekte gehen klaglos (ich habe nur EINES getestet :( ) und liefern beim Assemblieren auch einen einwandfrei flashbaren (und funktionierenden) *hex-file.
Ich geb´s ja zu ich habe das readme von WinAVR nicht durchgelesen - na ja, nicht wirklich. Weil eben in den verschiedensten Threads vom eher problemlosen Anfang mit WinAVR die Rede ist. Z.B.:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=35248&highlight=avrstudio+winavr
Könnte mir jemand bitte trotzdem einen Rat geben? Ist das normal? Muss ich bei der Installation anders vorgehen?
Vielleicht hat jemand aber trotzdem einen Ratschlag für mich? Bitte :)
Ach so - ein Nachtrag:
Auch das minimale Programm aus dem C-Turorial in RN-Wissen:
#include <stdio.h>
int Zahl1;
char Zeichen1;
int main (void)
{
int zahl2;
/* Anweisungen */
return 0;
}
führt beim "Build" , also beim Druck auf F7 , zu einem abrupten Anstieg der Systemleistung auf 100 % und der Taskmanager meint "..keine Rückmeldung ..."