Pages: [1]   Go Down
Author Topic: [Urgente] Mappatura ADC6 ADC7 in atmega328 32pin  (Read 835 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 415
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho un grosso problema, dopo aver fatto la scheda di un prototipo che avevo fatto tempo fa, mi sono accorto che l'atmega328p TQFP (SMD) che mi hanno montato dispone di due ingressi analogici in più, ovvero ADC6 e ADC7.

Sapete se per caso, io li possa già usare o se non sono mappati dall'IDE?
Cioè, se scrivo:

Code:
valore = analogRead(A7);

funziona lo stesso?
Ho provato a compilare e non mi da errori, ma vorrei capire se poi effettivamente, a livello hardware, utilzzerebbe l'ADC7 o meno.

Se non sono mappati, dovrei forse abilitare qualcosa nel file boards.txt?
Logged

Cagliari, Italy
Online Online
Tesla Member
***
Karma: 114
Posts: 7222
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Li torvi mappati nel file pins_arduino.h nella cartella arduino-1.0.1\hardware\arduino\variants\standard.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 415
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Però io gli ADC7 e ADC6 li ho sulla porta 22 e 19 dell'atmega328p-PU mentre qui, se ho ben capito, sono da tutt'altra parte:

Code:
#define NUM_DIGITAL_PINS            20
#define NUM_ANALOG_INPUTS           6
#define analogInputToDigitalPin(p)  ((p < 6) ? (p) + 14 : -1)

#if defined(__AVR_ATmega8__)
#define digitalPinHasPWM(p)         ((p) == 9 || (p) == 10 || (p) == 11)
#else
#define digitalPinHasPWM(p)         ((p) == 3 || (p) == 5 || (p) == 6 || (p) == 9 || (p) == 10 || (p) == 11)
#endif

static const uint8_t SS   = 10;
static const uint8_t MOSI = 11;
static const uint8_t MISO = 12;
static const uint8_t SCK  = 13;

static const uint8_t SDA = 18;
static const uint8_t SCL = 19;
static const uint8_t LED_BUILTIN = 13;

static const uint8_t A0 = 14;
static const uint8_t A1 = 15;
static const uint8_t A2 = 16;
static const uint8_t A3 = 17;
static const uint8_t A4 = 18;
static const uint8_t A5 = 19;
static const uint8_t A6 = 20;
static const uint8_t A7 = 21;

posso stare tranquillo o la mappatura è totalmente diversa dall'atmega328p DIP ?
Forse mi sbaglio ancora ma vi è dichiarato #define NUM_ANALOG_INPUTS  6, ma non dovrebbero essere 8?
« Last Edit: July 24, 2012, 01:55:00 pm by marcus barnet » Logged

Pages: [1]   Go Up
Jump to: