View Single Post
Old 10-04-2009, 10:26 AM   #2 (permalink)
dcb
needs more cowbell
 
dcb's Avatar
 
Join Date: Feb 2008
Location: ÿ
Posts: 5,038

pimp mobile - '81 suzuki gs 250 t
90 day: 96.29 mpg (US)

schnitzel - '01 Volkswagen Golf TDI
90 day: 53.56 mpg (US)
Thanks: 158
Thanked 269 Times in 212 Posts
It looks like the 328 is here to stay in arduino land, the code should fit now. The math libraries grew in arduino 0012 and the code no longer fit. I don't generally chase arduino compatibility anymore though, it is just too rough a ride (within hours of announcing mpguino, a new version of arduino was announced that broke it) and I've got AVR GCC and assembler and ISP sorted out so I do not have a personal need to.

This project was never really a good fit for arduino though, just too complicated for that environment at the time. The bits that make it work had to drop down to straight avr anyway and arduino and the bootloader became a liability when trying to get it working and make it reliable in an automotive environment. Plus it was against the wall on space and relied on arduino interrupt implementation details (which were also changing), plus why run at 16mhz when you can run at 20mhz?

Straight AVR and ISP programming is much better for max control of your project, but Arduino is an excellent intoduction to microcontrollers, and does not preclude you from digging deeper into AVR GCC. Arduino helps getting you to "hello world" quickly, but will interfere if you are trying to get the most out of a chip as it is "higher level" than straight gcc, which in turn is higher level than assembler, but development times go up generally speaking w/lower level languages so it is always a compromise.

To demonstrate, this is a atmega88 (half the flash of a 168) assembler program, there is just no way arduino (or even avr gcc) could do this on a self contained 88:

__________________
WINDMILLS DO NOT WORK THAT WAY!!!
  Reply With Quote