Ardunio:
Thanks for looking into this forum as any insight would be greatly appreciated.
Hi, I'm a relatively new programmer so I'd ask that you treat me like the fool that I probably am...
So, I'm uploading to my Atmega328p using a mega 2560 as In-system programmer (ISP) via: Mega2560 as ISP for Breadboard Atmega328 Issue - Microcontrollers - Arduino Forum
I've "successfully" bootloaded, and uploaded receiving:
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware/tools/avr/etc/avrdude.conf"
Using Port : \\.\COM8
Using Programmer : stk500v1
Overriding Baud Rate : 19200
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
AVR Part : ATMEGA328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
...
avrdude: Recv: . [10]
### | 100% 1.61s
avrdude: verifying ...
avrdude: 2138 bytes of flash verified
avrdude: Send: Q [51] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude done. Thank you.
Thus, I believed that my Atmega would function properly. After testing with an LED I determined that only pins 23-28(the analog pins) were high.
I removed them from my code and yet they remain high, I don't know if this is relevant, but when dealing with a problem I believe all information is helpful.
The code I am using is as follows:
int led2 = 2;
int led3 = 3;
int led4 = 4;
int led5 = 5;
int led6 = 6;
int led7 = 9;
int led8 = 10;
int led9 = 11;
int led10 = 12;
int led11 = 13;
int led12 = 14;
int led13 = 15;
int led14 = 16;
int led15 = 17;
int led16 = 18;
int led17 = 19;
int led18 = 23;
int led19 = 24;
int led20 = 25;
int led21 = 26;
int led22 = 27;
int led23 = 28;
long previousMillis = 0;
long interval = 1000;
void setup() {
pinMode(led2, INPUT);
pinMode(led3, INPUT);
pinMode(led4, INPUT);
pinMode(led5, INPUT);
pinMode(led6, INPUT);
pinMode(led7, INPUT);
pinMode(led8, INPUT);
pinMode(led9, INPUT);
pinMode(led10, INPUT);
pinMode(led11, INPUT);
pinMode(led12, INPUT);
pinMode(led13, OUTPUT);
pinMode(led14, OUTPUT);
pinMode(led15, OUTPUT);
pinMode(led16, OUTPUT);
pinMode(led17, OUTPUT);
//pinMode(led18, OUTPUT);
//pinMode(led19, OUTPUT);
//pinMode(led20, OUTPUT);
//pinMode(led21, OUTPUT);
//pinMode(led22, OUTPUT);
//pinMode(led23, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval) {
// save the last time you blinked the LED
previousMillis = currentMillis;
digitalWrite(led13, LOW);
digitalWrite(led14, LOW);
digitalWrite(led15, LOW);
digitalWrite(led16, LOW);
digitalWrite(led17, LOW);
//digitalWrite(led18, LOW);
//digitalWrite(led19, LOW);
//digitalWrite(led20, LOW);
//digitalWrite(led21, LOW);
//digitalWrite(led22, LOW);
//digitalWrite(led23, LOW);
}
else{
digitalWrite(led13, HIGH);
digitalWrite(led14, HIGH);
digitalWrite(led15, HIGH);
digitalWrite(led16, HIGH);
digitalWrite(led17, HIGH);
//digitalWrite(led18, HIGH);
//digitalWrite(led19, HIGH);
//digitalWrite(led20, HIGH);
//digitalWrite(led21, HIGH);
//digitalWrite(led22, HIGH);
//digitalWrite(led23, HIGH);
}
if(digitalRead(led2) == HIGH){
digitalWrite(led13, HIGH);
digitalWrite(led14, HIGH);
digitalWrite(led15, HIGH);
digitalWrite(led16, HIGH);
digitalWrite(led17, HIGH);
//digitalWrite(led18, HIGH);
//digitalWrite(led19, HIGH);
//digitalWrite(led20, HIGH);
//digitalWrite(led21, HIGH);
//digitalWrite(led22, HIGH);
//digitalWrite(led23, HIGH);
}
if(digitalRead(led3) == HIGH)
{ digitalWrite(led13, HIGH);
digitalWrite(led14, HIGH);
digitalWrite(led15, HIGH);
digitalWrite(led16, HIGH);
digitalWrite(led17, HIGH);
//digitalWrite(led18, HIGH);
//digitalWrite(led19, HIGH);
//digitalWrite(led20, HIGH);
//digitalWrite(led21, HIGH);
//digitalWrite(led22, HIGH);
//digitalWrite(led23, HIGH);
}
...
}
I've tested this with the mega and it worked just fine.
Finally, I wanted to see if the code was even being accepted by the I.C chip.
So I put in the following code
void loop() {
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led8, HIGH);
digitalWrite(led9, HIGH);
digitalWrite(led10, HIGH);
digitalWrite(led11, HIGH);
digitalWrite(led12, HIGH);
digitalWrite(led13, HIGH);
digitalWrite(led14, HIGH);
digitalWrite(led15, HIGH);
digitalWrite(led16, HIGH);
digitalWrite(led17, HIGH);
}
Oddly enough, the inputs go high, with the exception of pins 2, 3, 9, 10, 13, 14, and I haven't the slightest why.
There are (as far as I can tell) no differences between pins 2, 3, 4 ,5 and 6, with the exception of location.
Thanks for your time!