PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zusätzlich zu der M32 noch ein mega8?



AsuroPhilip
19.10.2011, 10:04
Hey Leute,

Da das ansteuern der Segment Anzeige (ständiges an und aus) viel Leistung verbraucht, wollte ich fragen ob ich ein Asuro Atmega8L(hatte mir mal ein paar bei conrad bestellt, weil da schon ein bootloader drauf ist) noch zusätzlich ranbau, der dann die Steuerung der Anzeige übernimmt. Also so:

M32 sendet per i2c "1234"
mega8 empfängt das und steuert so dann die anzeige und wartet bis eine neue zahl kommt.

Danke
Philip ;)

021aet04
19.10.2011, 10:09
Warum willst du einen eigenen Atmega für die Anzeige? Der vorhandene Atmega hat vermutlich noch genug Resourcen frei. Die Ansteuerung der Segmente kannst du mit einem SAA1064 lösen. Den steuert man über I2C an. Die Aufbereitung der Daten müsstest du natürlich noch mit dem vorhandenen Atmega machen.

MfG Hannes

AsuroPhilip
19.10.2011, 10:24
Ich steure die Anzeige ja mit Portexpandern (klick mich (https://www.roboternetz.de/community/threads/54705-7-Segment-wie-anschlie%C3%9Fen?p=524195&viewfull=1#post524195))

mfG
Philip ;->

021aet04
19.10.2011, 10:39
Ob du es mit einem 2ten Atmega betreiben kannst kann ich dir leider nicht sagen, da cih den Asuro o.Ä. nicht besitze. Ich vermute aber das es nicht funktioniert, da alle die gleiche Adresse haben. Du müsstest irgendwie an den Quellcode kommen (über Hex-Datei, Internet,...) und in dieser die Adresse ändern. Oder du schreibst eine eigene Firmware für den Atmega (mit eigener Adresse,...)

MfG Hannes

radbruch
19.10.2011, 11:14
Hallo

Das würde ich als sinnvoll betrachten. Der asuro-Mega8 wäre dabei zwar extrem unterfordert, wenn du eh noch ein paar davon rumliegen hast ist das egal. Programmieren könntest du ihn ja im asuro, zum Betrieb auf dem m32 benötigt er aber zwingend einen externen 8MHz-Takt an XTAL1/XTAL2:
http://www.conrad.de/ce/de/product/726533/

Gruß

mic

AsuroPhilip
19.10.2011, 11:26
....Der asuro-Mega8 wäre dabei zwar extrem unterfordert...

man weiß ja nie, ob später noch was dazu kommt.


...benötigt er aber zwingend einen externen 8MHz-Takt an XTAL1/XTAL2....

Ja, das ganze Technische hab ich hier. Habe schon mehrer "Asuro-Boards" gemacht. Nur wollte ich wissen ob es überhaupt klappt. Kenne mich nicht viel mit i2c aus.

mfG
Philip ;)

radbruch
19.10.2011, 11:38
Mit I2C kenne ich mich auch nicht so gut aus, aber hier wäre schon mal ein passenes Slave-Grundgerüst für deinen Mega8:

https://www.roboternetz.de/community/threads/24859-Porterweiterung-f%C3%BCr-ASURO-%C3%BCber-zweiten-ATmega8-als-I2C-Slave

Das war einfach: http://www.google.de/search?q=asuro+als+i2c-slave

Gruß

mic

AsuroPhilip
19.10.2011, 11:57
Also ein ganzes slave brauch ich ja nicht. Er soll nur eine vierstelligen Zahl empfangen, die dann in der Anzeige steht und sobald eine neue Zahl kommt halt die neue usw.

mfG
Philip ;)

AsuroPhilip
21.10.2011, 19:01
Sooo... kleines Asuro board fertig <-- klappt. Perfekt! Aber wie muss ich jetzt den mega8 an sda und scl anschließen? 470ohm widerstand dazwischen werden reichen?

20335

radbruch
21.10.2011, 19:22
Dazwischen kommt nichts. SDAs und SCLs (und GNDs) werden direkt miteinander verbunden. Da die Megas mit ihren TriState-Pins beim I2C-Betrieb einen OpenKollektor-Ausgang imitieren, muss man beide Leitungen mit einem PullUp (4k7?) nach Vcc ziehen:

http://www.google.de/search?q=i2c+pullup

AsuroPhilip
21.10.2011, 19:26
Achso. Aber sda und sdc haben doch schon am rp6 einen pullup, oder nicht?

radbruch
21.10.2011, 19:42
Ja, R32 und R33 mit jeweils 4,7kOhm. Vom RP6 war allerdings bisher noch nicht die Rede, oder?

AsuroPhilip
21.10.2011, 19:46
aber wenn man doch sda(asuro) und sda(rp6) verbindet, ist doch sda vom asuro auch mit an V+, oder?

radbruch
21.10.2011, 19:55
Aber nur über den PullUp. Bei deiner Anwendung ist das eh egal, weil beide Kontroller von der selben Spannungsquelle versorgt werden.

Hintergrund: Wenn keine Daten übertragen werden, sind alle Teilnehmer auf Eingang geschaltet. Die Signalleitungen würden dann einen undefinierten Pegel besitzen. Deshalb zieht man die Leitungen mit den PullUps auf Vcc oder auf high. Beim Start der Übertragung zieht der sendende Teilnehmer die Leitung gegen den PullUp aktiv auf low (opencollektor) und dies wird von den anderen Teilnehmern als Start einer Übertragung erkannt.

AsuroPhilip
22.10.2011, 14:01
hm...

Code:



#include <avr/io.h>
#include "i2cmaster.h"
#include "twi_register.h"

const char Zahl[] = {
0b01000100,
0b01111101,
0b10100100,
0b00110100,
0b00011101,
0b00010110,
0b00000110,
0b01111100,
0b00000100,
0b00010100
};

void twi_send( unsigned char befehl )
{
i2c_start(0b01000110+I2C_WRITE);
i2c_write(befehl);
i2c_stop();

}

int main(void)
{
i2c_init();

while(1)
{
twi_send(0b1111101);

}
return 0;
}


Compiler meckert:




test.o: In function `twi_send':
test.c:20: undefined reference to `i2c_start'
test.c:21: undefined reference to `i2c_write'
test.c:22: undefined reference to `i2c_stop'
test.o: In function `main':
test.c:28: undefined reference to `i2c_init'
make: *** [test.elf] Error 1
Kompilierung fehlgeschlagen.

021aet04
22.10.2011, 14:50
undefined reference to .... wird geschrieben wenn er nicht weiß was er machen soll. Das ist z.B. wenn die Headerdatei nicht oder falsch eingebunden ist. Entweder wurde diese umbenannt, ist an einem anderen Ort als angegeben, nicht vorhanden, ...

MfG Hannes

AsuroPhilip
22.10.2011, 15:51
Okay, klappt Super Danke!

AsuroPhilip
22.10.2011, 17:06
So weit so gut.... der mega8 kann die anzeige perfekt steuern, hier code:



#include <avr/io.h>
#include "i2cmaster.h"
#include <util/delay.h>

#define pcf 0b01000110 // Anzeige
#define pcf2 0b01000010 // Segmente

void long_delay(uint16_t ms){
for(; ms>0; ms--) _delay_ms(1);
}
const char Zahl[] = {
0b01000100,
0b01111101,
0b10100100,
0b00110100,
0b00011101,
0b00010110,
0b00000110,
0b01111100,
0b00000100,
0b00010100
};
void twi_send( unsigned char befehl ){
i2c_start(pcf+I2C_WRITE);
i2c_write(befehl);
i2c_stop();

}
void twi_send2( unsigned char befehl1 ){
i2c_start(pcf2+I2C_WRITE);
i2c_write(befehl1);
i2c_stop();

}
void ZeigeZahl(uint16_t Zahl4){

char a_zahl1[5];
snprintf(a_zahl1, sizeof(a_zahl1), "%d", Zahl4);
twi_send(0b1111110);
twi_send2(Zahl[a_zahl1[0] - '0']);
long_delay(8);
twi_send2(0b11111111);
twi_send(0b1111101);
twi_send2(Zahl[a_zahl1[1] - '0']);
long_delay(8);
twi_send2(0b11111111);
twi_send(0b1111011);
twi_send2(Zahl[a_zahl1[2] - '0']);
long_delay(8);
twi_send2(0b11111111);
twi_send(0b1110111);
twi_send2(Zahl[a_zahl1[3] - '0']);
long_delay(8);
twi_send2(0b11111111);
}

int main(void)
{
i2c_init();

while(1)
{
ZeigeZahl(1234);
}
return 0;
}




So, aber wie kann die M32 dem mega8 jetzt sagen, was er zeigen soll?

edit:
habe die plantine verkleinert, damit ich sie unter der normalen exp. verstecken kann.
hier noch ein (handy-) Foto: (habe meine richte cam gerade nicht hier)

20340

radbruch
22.10.2011, 17:30
Der Master speichert die Segmentmuster der Ziffern und schickt sie endlos an den Anzeigeslave? So war das doch nicht gedacht, oder? Der Master schickt einmalig die Ziffernfolge und der Slave steuert endlos die entsprechenden Segmente an.

Das Bild ist leider sehr unscharf, ich kann den Sockel für den Mega8 gar nicht erkennen. Was macht der Taster?

AsuroPhilip
22.10.2011, 17:41
Ich sagte ja Handycam. Sockel hatte ich keinen mehr :(. Der Taster ist Reset. Die drei Stiftleisten sind zum programmiern. Rechts kommen noch Servostecker.

der Code oben ist vom mega8. also ich hab mir das so vorgestellt:

M32 sendet einmalig die Zahl(z.B. 1234) an den mega8, der speichert dann 1234 in eine Variable und führt dann immer das aus: ZeigeZahl(Variable); und sobald eine neue Zahl kommt wieder von vorn.

radbruch
22.10.2011, 17:59
Das ist der Code vom Mega8? Spielt da immer noch der PCF mit? Der Mega8 kann doch die Segmente selbst ansteuern.

Ächz:

#define pcf 0b01000110 // Anzeige
#define pcf2 0b01000010 // Segmente

AsuroPhilip
22.10.2011, 18:04
Ja schon, aber das ist

1. viel arbeit wieder alles umzulöten
2. bei mir gerade nicht möglich, weil bei meiner lötstation eben die lötkolbenheizung kaputt gegangen ist (wird nicht heiß), Ersatz-Lötkolben (http://www.pollin.de/shop/dt/NDI5OTUxOTk-/Werkstatt/Loettechnik/Loetgeraete/Ersatz_Loetkolben.html) ist bestellt.

geht es so nicht?

der mega8 steuert die pcf´s

AsuroPhilip
24.10.2011, 10:24
okay, sobald ich wieder löten kann, lass ich den mega8 die Segmente steuern. Welche Pins soll ich benutzen, oder ist das egal?

radbruch
24.10.2011, 10:56
Hallo


der mega8 steuert die pcf´sDadurch wird der Bus dauerhaft belegt. Deshalb vermutlich auch deine Probleme beim gleichzeitigen Ansteuern des RP6 mit dem m32. Dein Mega8 ist nämlich auch Master (für den PCF) und deshalb kollidieren die Daten (vermutlich).

Belegt sind für IR-Kommunikation und I2C: PB3 (OC2), PD0 (Rxd), PD1 (TxD), PC4 (SDA), PC5 (SCL) und PC6 (Reset).

Bleiben übrig:

14 - PB0 - ICP1
15 - PB1 - OC1A
16 - PB2 - OC1B
(IR) 17 _ PB3 - OC2
18 - PB4 - MISO
19 - PB5 - SCK
09 - PB6 - XTAL1
10 - PB7 - XTAL2

23 - PC0 - ADC0
24 - PC1 - ADC1
25 - PC2 - ADC2
26 - PC3 - ADC3
(I2C) 27 - PC4 - SDA
(I2C) 28 - PC5 - SCL
(RES) 01 - PC6 - RESET

(IR) 02 - PD0 - RxD
(IR) 03 - PD1 - TXD
04 - PD2 - INT0
05 - PD3 - INT1
06 - PD4 - XCK
11 - PD5 - T1
12 - PD6 - AIN0
13 - PD7 - AIN0

07 - VCC
08 - GND
20 - AVCC
21 - AREF
22 - GND (ADC)

Gruß

mic

AsuroPhilip
24.10.2011, 11:09
Hallo,


Deshalb wirst du leider auch TxD, RxD und OC2 verwenden müssen.

Kann ich den mega8 dann noch programmieren?


wichtig ist aber, dass sie als Zeilenbits verwendet werden

ähm....?


Belegungsvorschlag: PB0-7 und PD0-2 als Zeilen, PC0-3 und PD3-7 als Spalten.

Was meinst du mit Zeilen und Spalten? Ich habe 12pins, 4pins um die 4 anzeigen einzuschalten und 8pins für die Segmente + punkt.


mfG
Philip

radbruch
24.10.2011, 11:25
Hallo

Irgendwie hab' ich den Kurs verloren. Das falsch vorgeschlagene Pinout wäre hier passend gewesen:
https://www.roboternetz.de/community/threads/55286-LED-Matrix-m%C3%B6glichst-effizient-ansteuern

Entschuldigung. Für deine 7-Segmente kannst du die Pins selbstverständlich frei belegen. (Vielleicht die ADCs freilassen für spätere Verwendung als zusätzliche I2C-ADCs und die OC1A/B für Hardware-PWM z.b. LED dimmen oder Servos.)

TxD, RxD und OC2 werden nur zum Flashen verwendet. Wenn der USART ausgeschaltet ist und OC2 nicht vom Timer gesteuert wird, könnte man diese Pins auch verwenden. Nach dem Reset übernimmt aber der Bootloader die Kontrolle, deshalb muss man die Pins so belegen, dass sie beim Flashen a: nicht stören und b: nichts zerstören. Das funktioniert dann ähnlich wie beim ISP.

Gruß

mic

AsuroPhilip
01.11.2011, 15:52
Juhuu, Ich kann wieder löten!

Hm... ich benutze ja pnp-transistoren, kann ich die weiterbenutzen? Kann der mega8 negative spannung auf ein port setzen (-5V) ?

021aet04
01.11.2011, 17:10
Ein µC kann nur 0V oder VCC (z.B. bei 5V Versorgung am Ausgang 5V) schalten. Du kannst keine negative Spannung schalten. Mit einigen Tricks könntest du damit die negative Spannung schalten. Wenn man das GND Potential (vom µC) auf -5V legt und VCC an 0V. Dadurch ist es gegen GND vom µC die Spannung immer positiv. Will man auch noch +5V Schalten muss man mit einem Transistor oder Fet schalten (das ist aber gegen -5V gemessen).
Eine weitere Möglichkeit wäre mit Optokoppler zu arbeiten. Mit dem µC steuert man die Led des Optokopplers an. Am Ausgang des Optokopplers hat man ein Potentialunabhängigen Schalter. Dadurch kann man auch eine negative Spannung schalten.

MfG Hannes

AsuroPhilip
01.11.2011, 17:42
...oder ich versuche morgen mal npn-transistoren

AsuroPhilip
01.11.2011, 18:45
warum funktioniert das nicht mir npn-transistoren??

base - an µC
collector - an +5V
emitter - an segmentanzeige

mit pnp funktioniert das wunderbar!

AsuroPhilip
02.11.2011, 16:50
Okay, ich hab es geschafft, alles klappt super :)

Nun brauche ich Hilfe bei der Software, wie steuer ich jetzt genau die segmente über i²c, bei dem pcf brauchte ich nur "0b11101011" zu senden, um eine 1 anzeigen zu lassen.


Belegung:


LOW = AN
HIGHT = AUS

PC0 - SegA
PC1 - SegB
PC2 - SegC
PC3 - SegD

PD3 - SegE
PD7 - SegF
PD6 - SegG
PD5 - SegDF

PB5 - Anz. 1
PB4 - Anz. 2
PD2 - Anz. 3
PB0 - Anz. 4



Danke
Philip ;)

radbruch
03.11.2011, 12:17
So würde ich das angehen, "wert" und "dezimalpunkt" wird später über I2C gesetzt:


// 4 Siebensegmentanzeigen an Mega8 mic 3.11.2011

// https://www.roboternetz.de/community/threads/55253-Zusätzlich-zu-der-M32-noch-ein-mega8

// PC0 - SegA a
// PC1 - SegB ------
// PC2 - SegC | |
// PC3 - SegD f | | b
// | g |
// PD3 - SegE ------
// PD7 - SegF | |
// PD6 - SegG e | | c
// PD5 - SegDF | |
// ------
// PB5 - Anz. 1 d
// PB4 - Anz. 2
// PD2 - Anz. 3
// PB0 - Anz. 4

#define seg_INIT DDRB|=0b00110001; DDRC|=0b00001111; DDRD|=0b11101100; \
PORTB|=0b00110001; PORTC|=0b00001111; PORTD|=0b11101100;

#define segA_PORT PORTC
#define segA_PIN PC0

#define segB_PORT PORTC
#define segB_PIN PC1

#define segC_PORT PORTC
#define segC_PIN PC2

#define segD_PORT PORTC
#define segD_PIN PC3

#define segE_PORT PORTD
#define segE_PIN PD3

#define segF_PORT PORTD
#define segF_PIN PD7

#define segG_PORT PORTD
#define segG_PIN PD6

#define segP_PORT PORTD
#define segP_PIN PD5

#define digit0_PORT PORTB
#define digit0_PIN PB5

#define digit1_PORT PORTB
#define digit1_PIN PB4

#define digit2_PORT PORTD
#define digit2_PIN PD2

#define digit3_PORT PORTB
#define digit3_PIN PB0

#include <avr/io.h>

// Segmentbelegung aus: http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige
uint8_t segmente[10] = {
0b11000000, // 0: a, b, c, d, e, f
0b11111001, // 1: b, c
0b10100100, // 2: a, b, d, e, g
0b10110000, // 3: a, b, c, d, g
0b10011001, // 4: b, c, f, g
0b10010010, // 5: a, c, d, f, g
0b10000010, // 6: a, c, d, e, f, g
0b11111000, // 7: a, b, c
0b10000000, // 8: a, b, c, d, e, f, g
0b10010000 // 9: a, b, c, d, f, g
};

uint16_t wert=1234;
uint8_t dezimalpunkt=4; // 0 bis 3 für Anzeige in Digit, alles andere für aus

void ausgabe(void);

int main(void)
{
seg_INIT;
while(1)
{
ausgabe();
}
return (0);
}

void ausgabe(void)
{
static uint8_t digit=0;
uint16_t temp, dez[5]={1,10,100,1000,10000};

temp = wert / dez[digit+1] * dez[digit+1]; // führende Stellen ausblenden
temp = (wert -temp)/dez[digit]; // Ziffer ermitteln
temp = segmente[temp]; // Segmentmuster ermitteln

if(dezimalpunkt == digit) temp &= ~(1<<7); // Dezimalpunkt an diesem Digit anzeigen?

digit0_PORT &= ~(1<<digit0_PIN); // alle Digits ausschalten
digit1_PORT &= ~(1<<digit1_PIN);
digit2_PORT &= ~(1<<digit2_PIN);
digit3_PORT &= ~(1<<digit3_PIN);

if(temp & (1<<0)) segA_PORT |= (1<<segA_PIN); else segA_PORT &= ~(1<<segA_PIN);
if(temp & (1<<1)) segB_PORT |= (1<<segB_PIN); else segB_PORT &= ~(1<<segB_PIN);
if(temp & (1<<2)) segC_PORT |= (1<<segC_PIN); else segC_PORT &= ~(1<<segC_PIN);
if(temp & (1<<3)) segD_PORT |= (1<<segD_PIN); else segD_PORT &= ~(1<<segD_PIN);
if(temp & (1<<4)) segE_PORT |= (1<<segE_PIN); else segE_PORT &= ~(1<<segE_PIN);
if(temp & (1<<5)) segF_PORT |= (1<<segF_PIN); else segF_PORT &= ~(1<<segF_PIN);
if(temp & (1<<6)) segG_PORT |= (1<<segG_PIN); else segG_PORT &= ~(1<<segG_PIN);
if(temp & (1<<7)) segP_PORT |= (1<<segP_PIN); else segP_PORT &= ~(1<<segP_PIN);

switch(digit)
{
case 0: digit0_PORT |= (1<<digit0_PIN); // Anzeigedigit auswählen
case 1: digit1_PORT |= (1<<digit1_PIN);
case 2: digit2_PORT |= (1<<digit2_PIN);
case 3: digit3_PORT |= (1<<digit3_PIN);
}

digit = (digit+1) & 3; // nächstes Segment auswählen (0-3)
}(natürlich ungetestet)

Unter der Annahme, dass ein Digit mit high ausgewählt wird.

Gruß

mic

AsuroPhilip
03.11.2011, 14:52
Danke für deine Antwort ;->

Werde es gleich testen! Die digits gehen an, wenn der port low ist.

mfG
Philip ;->

radbruch
03.11.2011, 15:00
Die digits gehen an, wenn der port low ist.

void ausgabe(void)
{
static uint8_t digit=0;
uint16_t temp, dez[5]={1,10,100,1000,10000};

temp = wert / dez[digit+1] * dez[digit+1]; // führende Stellen ausblenden
temp = (wert-temp)/dez[digit]; // Ziffer ermitteln
temp = segmente[temp]; // Segmentmuster ermitteln

if(dezimalpunkt == digit) temp &= ~(1<<7); // Dezimalpunkt an diesem Digit anzeigen?

digit0_PORT |= (1<<digit0_PIN); // alle Digits ausschalten
digit1_PORT |= (1<<digit1_PIN);
digit2_PORT |= (1<<digit2_PIN);
digit3_PORT |= (1<<digit3_PIN);

if(temp & (1<<0)) segA_PORT |= (1<<segA_PIN); else segA_PORT &= ~(1<<segA_PIN);
if(temp & (1<<1)) segB_PORT |= (1<<segB_PIN); else segB_PORT &= ~(1<<segB_PIN);
if(temp & (1<<2)) segC_PORT |= (1<<segC_PIN); else segC_PORT &= ~(1<<segC_PIN);
if(temp & (1<<3)) segD_PORT |= (1<<segD_PIN); else segD_PORT &= ~(1<<segD_PIN);
if(temp & (1<<4)) segE_PORT |= (1<<segE_PIN); else segE_PORT &= ~(1<<segE_PIN);
if(temp & (1<<5)) segF_PORT |= (1<<segF_PIN); else segF_PORT &= ~(1<<segF_PIN);
if(temp & (1<<6)) segG_PORT |= (1<<segG_PIN); else segG_PORT &= ~(1<<segG_PIN);
if(temp & (1<<7)) segP_PORT |= (1<<segP_PIN); else segP_PORT &= ~(1<<segP_PIN);

switch(digit)
{
case 0: digit0_PORT &= ~(1<<digit0_PIN); // Anzeigedigit auswählen
case 1: digit1_PORT &= ~(1<<digit1_PIN);
case 2: digit2_PORT &= ~(1<<digit2_PIN);
case 3: digit3_PORT &= ~(1<<digit3_PIN);
}

digit = (digit+1) & 3; // nächstes Segment auswählen (0-3)
}


Werde es gleich testen!
:)

AsuroPhilip
03.11.2011, 15:45
hm... wenn ich es flashen will, kommt: v v v v v v v v !

ander programme kann ich problemlos flashen.

radbruch
04.11.2011, 00:46
Ärgerlich:
https://www.roboternetz.de/community/attachment.php?attachmentid=15837

https://www.roboternetz.de/community/threads/50057-Asuro-streikt-bei-Übertragung
https://www.roboternetz.de/community/threads/45912-kein-Flash-mehr-möglich
https://www.roboternetz.de/community/threads/33142-Asuro-lebst-du-noch

Keine Ahnung, wie man das bewerten soll. Mega8 defekt? Oder doch nur Unterspannung am Kontroller?

[Edit]
Warum betrifft es nur dieses Programm? Sollte/muss man die asuro-Library einbinden?

AsuroPhilip
04.11.2011, 01:20
Mega8 defekt?
Denke schon.... Nur blöd das ich keine sockel mehr hatte ;->



Warum betrifft es nur dieses Programm? Sollte/muss man die asuro-Library einbinden?

Klappt nur bei den etwas kleineren programmen! nein muss mal eigt. nicht!

radbruch
04.11.2011, 01:42
Doppelt ärgerlich:

https://www.roboternetz.de/community/attachment.php?attachmentid=20335

btw: Nie im Leben würde ich einen asuro-Mega8 ohne Sockel verwenden. Schande über dich...
(Was ist das denn da unten rechts?)

AsuroPhilip
04.11.2011, 01:46
Wieso? Das board funktioniert noch!

AsuroPhilip
04.11.2011, 02:05
btw: Nie im Leben würde ich einen asuro-Mega8 ohne Sockel verwenden. Schande über dich...
ICH HATTE KEINE MEHR!!!

Das unten Rechts ist einfach usb->uart, zum programmiern. Habe keine µC mehr, deswegen bestell ich mir jetzt wieder welche bei Reichelt und ein isp-programmer.

AsuroPhilip
04.11.2011, 10:43
Ja, also mein mega8 hat mich verlassen :(

Aber warum? der mega8 darf doch 16mA ziehen(auf low), oder nicht?