I know the general differences between ATmegaX8 family (ATmega88, ATmega168, and ATmega328) and the ATmegaX family (ATmega8, ATmega16, and ATmega32).
But I'm confused, as when I intended to work on a project to connect the ATmega8 to Ethernet using the ENC28J60 chip, I found that most projects on Internet are using ATmega88 and ATmega168, specially the ones from tuxgraphics.org:
And when I tried to port those source codes to work with ATmega8 instead of ATmega88, I faced a problem with prescaling the frequency many times and some other problems. I failed to reach a .hex code that works on ATmega8.
So why are ATmega88 and its family more suitable to connect to Ethernet than the ATmega8?
Best Answer
The ATMega88 family is well suited to this project because the author has provided an implementation already tested and debugged.
There is nothing inherently different about the ATMega8 which affects this project.
The problem you are facing is one of porting embedded software to a new device. Your problem is that you have underestimated the task and expect it to work without changes.
You need to track down exactly where your code is failing, solve that issue then move on to the next problem. A TCP/IP stack on a microcontroller is not a simple thing.
If I were undertaking this project, I'd break it down like this:
Now, I'm confident that my hardware works.