Guten Abend liebe Gemeinde...
Ich habe folgendes Problem:
Ich verwende auf einer Selbstgeschweisten Platine einen Atmega 8-16PU.
Ich habe etwas Quellcode geschrieben, um den Aufbau zu überprüfen. und
siehe Da:
Der active low Taster an PIND7 reagiert nicht. Lötstellen sind sauber,
der Pegelwechsel kommt am Atmega an(mit LED überprüft). Wenn ich dies
nun ändere auf den am PINB0 befindlichen Taster, funktioniert es. Gibt
es da Fusebits die den PIN blokieren?
Vielen Dank schonmal,
Gruss Schlizter
Quellcode:
1 | /*
|
2 | * GccApplication2.c
|
3 | *
|
4 | * Created: 16.09.2013 22:01:04
|
5 | * Author: Schlitzer
|
6 | */
|
7 |
|
8 |
|
9 | #include <avr/io.h>
|
10 | #define SBI(REG,BIT) REG|=(1<<BIT)
|
11 | #define CBI(REG,BIT) REG&=~(1<<BIT)
|
12 | #define BIS(REG,BIT) (REG&(1<<BIT)!=0)
|
13 | #define BIC(REG,BIT) (REG&(1<<BIT)==0)
|
14 |
|
15 | int main(void)
|
16 | {
|
17 | DDRB = 0b11111110;
|
18 | // 76543210
|
19 | DDRD = 0b01111111;
|
20 |
|
21 | while(1)
|
22 | {
|
23 | if(BIS(PIND,7))//Funktioniert nur mit PINB,0
|
24 | {
|
25 | PORTD = 0b10000000;
|
26 | }
|
27 | else
|
28 | {
|
29 | PORTD = 0b11111111;
|
30 | }
|
31 | }
|
32 | }
|
Hardware:
-Spannungsversorgung
-> 9V Steckernetzteil,100mA
-Spannungsstabilisierung
-> 7805, laut AVR Studio 5,1V am Controller, 470µF C
-Prozessor
-> Atmega 8-16PU
-Perepherie
-> Active low taster an D7 und B0
-> LEDS mit R_v an D0, D1 und D2
-> L293NE an D6,B1,D4,B2,D3 und D5 (beschaltet mit 2 antiparralelen
LED's)
-Programmieradapter
-> AVRISP mkII
-Programmier Software
-> AVR Studio 6