INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Pinbelegung Atmega328P 8MHz
19.11.2013, 13:03
Beitrag #1
Pinbelegung Atmega328P 8MHz
Hallo,

bei einem Atmega328P mit 8Mhz (interner Osz.) möchte ich PB6 und PB7 zusätzlich als Digitalen Eingang benutzen. Beim Arduino Uno sind diese beiden Pins nicht verfügbar, weil dort der der Quarz angschlossen ist.

Wie oder wo muss ich PB6 und PB7 vereinbaren?

Georg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.11.2013, 18:19
Beitrag #2
RE: Pinbelegung Atmega328P 8MHz
(19.11.2013 14:53)burgi650 schrieb:  Wenn du mehr Pins brauchst kannst dir besser mit einem 74hc595 als Multiplexer helfen oder nimmst noch nen Pro Mini über I2C dazu.

Mit einem 595 kannst über 3 Drähte 8 Eingänge dazubasteln.

http://arduino.cc/en/Tutorial/ShiftOut

Uwe
Hallo Uwe,

danke für den Hinweis. Am PortB ist ein "QTR-8RC IR Abstandssensor" angeschlossen. Es werden an allen Eingängen gleichzeitig von PortB die Zeiten gemessen, bis ein Eingang von High nach Low umschaltet. Das ist mit einem zwischengeschalteten Multiplexer oder einem zweiten Pro Mini über I2C nicht möglich. Dieser Teil der Anwendung liegt mir in C für den standalone Atmega328P vor und funktioniert auch. Inzwischen gibt es für das "Atmel Visual Studio 6.1" eine Erweiterung als Arduino IDE als Alternative zu C. Deshalb möchte ich mich jetzt mit dem Arduino beschäfftigen und suche nach einer Lösung, wie ich die beiden PIN (siehe oben) unter Arduino nutzen kann.

Georg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.11.2013, 08:29
Beitrag #3
RE: Pinbelegung Atmega328P 8MHz
Hallo Uwe,

ich glaube eine Lösung gefunden zu haben, siehe

http://hardwarefun.com/tutorials/use-ard...controller

Georg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.11.2013, 14:20
Beitrag #4
RE: Pinbelegung Atmega328P 8MHz
Hallo Uwe,

ich habe es jetzt hinbekommen und erfolgreich getestet. PB6 = 13, PB7 = 14
A0 - A6, SDA und SCL um jeweils +2 verschoben.

Bei einem Atmega128 würde ich mir das nicht zu trauen. Wenn es dafür keinen Bootloader gibt, hat man zumindest die Möglichkeit die programmierte .hex über die ISP-Schnittstelle zu flashen. Nur der Serial - Monitor funktioniert ohne Bootloader nicht.

Georg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.11.2013, 14:54 (Dieser Beitrag wurde zuletzt bearbeitet: 25.11.2013 15:09 von Georg.)
Beitrag #5
RE: Pinbelegung Atmega328P 8MHz
Hallo Burgi650,

hier ist die Beschreibung:

1. Im Arduino - Unterverzeichnis
..\Hardware\arduino\variants
habe ich ein Neues Verzeichnis standard_8Mhz angelegt. Der Verzeichnisname
standard_8Mhz muss später noch in die Datei boards.txt eingefügt werden.

2. Die Datei
..\Hardware\arduino\variants\standard\pins_arduino.h
ins Neue Verzeichnis
..\Hardware\arduino\variants\standard_8Mhz
kopieren und

3. dort PB6 und PB7 einfügen. (siehe Anhang).

4. In der Datei ..\Hardware\arduino\boards.txt habe ich folgendes noch eingefügt:
##############################################################

brg.name=Standalone 328P 8Mhz +PB6 +PB7
brg.upload.protocol=arduino
brg.upload.maximum_size=30720
brg.upload.speed=38400
brg.bootloader.low_fuses=0xe2
brg.bootloader.high_fuses=0xdf
brg.bootloader.extended_fuses=0xff
brg.bootloader.path=arduino
brg.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
brg.bootloader.unlock_bits=0x3F
brg.bootloader.lock_bits=0x0F
brg.build.mcu=atmega328p
brg.build.f_cpu=8000000L
brg.build.core=arduino
brg.build.variant=standard_8Mhz


Ich habe einen anderen Eintrag aus der boards.txt als Vorlage genommen,
und entsprechend meinem Board angepasst. Beim Erstellen eines anderen Board -
Menue - Eintrages kann brg. durch einen beliebigen Namen ersetzt werden,
dieser muss sich jedoch von den anderen Menue - Einträgen unterscheiden.

LG
Georg

Zitat:Ich habe ein ähnliches Problem mit einem ATmega128-Board (bk-avr128).
Ideales Übungsboard, wenn man einmal nen passenden Bootloader installiert bekommt. Da bastel ich jetzt schon eine ganze Zeit, so einfach wie der das da beschreibt ists nicht ganz, aber machbar.

Uwe
Hallo Uwe,

für den NIBO2 - Roboter gibt es seit kurzem eine Arduino - Library.
http://download.nicai-systems.com/nibo/n...-1-0-5.zip
Der NIBO2 ist unter anderen mit einem Atmega128 bestückt.

LG
Georg


Angehängte Datei(en)
.h  pins_arduino.h (Größe: 5,04 KB / Downloads: 99)
.txt  boards.txt (Größe: 16,95 KB / Downloads: 396)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  FUSE richtig setzen? 9.216 MHz | Atmega328P Erbsenhirn 2 498 25.04.2016 13:28
Letzter Beitrag: Erbsenhirn
  LCD Display Pinbelegung JArdu 2 740 10.02.2016 18:56
Letzter Beitrag: JArdu
  Arduino ATmega328P (Nano ?) mit ca. 3-5V Versorgungs-Spannung ? HaWe 19 1.727 27.11.2015 12:58
Letzter Beitrag: HaWe
  Pinbelegung UNO und Mega für TFT Anschluss AchDuShrek 4 1.508 19.11.2015 21:40
Letzter Beitrag: Klaus(i)
  Arduino in Breadboard, 8Mhz, 3,3V mitch_m 1 645 13.03.2015 11:37
Letzter Beitrag: mitch_m
  Ungenauigkeiten mit internen 8MHz Andi89 5 784 12.03.2015 11:17
Letzter Beitrag: Bitklopfer
  Wer kennt die Pinbelegung und Ansteuerung von diesem IR Bewegungssensor? Wampo 3 1.396 28.08.2013 12:07
Letzter Beitrag: Wampo

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste