Hallo Zusammen, ich habe ein Testplatine mit einem ATMEGA64-16AU, programmiert kann diese mit dem STK 500. Gibt es irgendwo im Internet gute Tutorials, mit Beispielscripten (z.B. bzgl. Interrupts) etc. für diesen Chip. (oder notfalls auch ein Buch?) Das Detailwissen für diesen Chip fehlt mir. Ansonsten komme ich mit C ganz gut zurecht Außerhalb von Mikrocontrollern :-) Über Hilfe würde ich mich sehr freuen. Vielen Dank & Viele Grüße ABSimon
Du kannst Dir das AVR-Tutorial hier auf der Seite angucken. Viele der dort gemachten Aussagen treffen auch auf den ATMega64 zu. Den Rest kann man sich aus den Datenblättern zusammenreimen, die man ohnehin braucht.
Hallo, hatte ich schon gefunden, nur leider ist das keine C Programmierung. Trotzdem Danke & Viele Grüße
In dem Tutorial ist sehr viel in C: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Grüße, Michael
Hi, danke, hatte jetzt nur in dem AVR Tutorial unter Interrupt geschaut. eine Frage, ich brauche eigentlich nur einen ADC Interrupt und habe diese Code gefunden als Vorlage.
1 | #include <avr\io.h> |
2 | #include <avr\interrupt.h> |
3 | |
4 | // Global variables
|
5 | char adc_data; |
6 | |
7 | setup_adc(){ |
8 | SREG = SREG | 0x80; |
9 | ADMUX = (1<<REFS0)|(1<<ADLAR); |
10 | ADCSRA = ADCSRA | (1<<ADEN)| (1<<ADIE)| (1<<ADPS2)| (1<<ADPS1)| (1<<ADPS0); |
11 | }
|
12 | |
13 | void ini_pwm(){ |
14 | TCCR0 = (1<<WGM00)|(1<<WGM01)|(1<<COM01)|(1<<CS00); |
15 | }
|
16 | |
17 | SIGNAL(SIG_ADC){ //ADC EOC interrupt |
18 | adc_data = ADCH; |
19 | ADCSRA = ADCSRA | (1<<ADSC); //re start conversion |
20 | }
|
21 | |
22 | // ***********************************************************
|
23 | // Main program
|
24 | // ***********************************************************
|
25 | int main(void) { |
26 | DDRB = DDRB | (1<<PB3); //set PB3 as output. |
27 | DDRA = DDRA | (0<<PA0); //set PA0 as Input. |
28 | |
29 | setup_adc(); //setup the ADC |
30 | |
31 | ini_pwm(); |
32 | |
33 | ADCSRA = ADCSRA | (1<<ADSC); //start ADC conversion |
34 | |
35 | while(1) { // Infinite loop |
36 | OCR0 = adc_data; |
37 | }
|
38 | }
|
Würde der so auch auf einem Atmega64 funktionieren. Quelle ist http://www.ikalogic.com/tut_8051_to_avr.php In den Datenblätter vom 64 habe ich jetzt keine Codebeispiel gefunden, um in Erfahrung zu bringen ob SIGNAL(SIG_ADC), setup_adc() etc. anders formuliert werden muß. Falls die Frage, saudoof ist, sorry, so genau genau weiß nicht wie ich an gewünschte Infos komme. Etwas viel Neuland. Viele Grüße ABSimon
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.