I have worked with PIC16 and PIC18s for over three years now and would like to get to know AVR as well. I have no specific project in mind, but would like to try around with the different architectures. I'd like to get a compatibility report on PIC and AVR.
I am familiar with Assembly and C for PIC16 and PIC18. How do the Assembly and C variants for AVR microcontrollers vary from the PIC variants? Are there a lot differences?
What software would I need to compile and assemble my programs for AVR chips? Is it free and where can I download it?
I've used VOTI's Wisp648 to program PICs, but that board can't program AVRs. Do I have to buy a programmer or are there any circuits available on the web that I can build myself?
For PICs, I have used the PIC18F4620 a lot. I'm looking for an AVR with similar features. The features I like are:
- Internal Oscillator
- 5V and 3.3V version
- MSSP with I2C and SPI support
- Much I/O pins
- >= 32kB program memory, >= 2kB RAM
- DIP package
What AVR chip would have the same features? The package is a deal breaker, I really want DIP, PDIP or SPDIP. What would an AVR with comparable features be?
SPI and I2C variants
I was told that Microchip has its own variants on the SPI and I2C protocol. I often use SPI and I2C slave devices from microchip in combination with a PIC. Would I be able to use these chips (23K256, RTC, ENC28J60, ...), in combination with an AVR? In addition to that, would it be possible to link an AVR and a PIC chip using I2C or SPI?