Go Down

Topic: Where to start for micro controllers (lower level than Arduino)? (Read 2144 times) previous topic - next topic


OK, looks like yes? on-board flash?

Quote
The AVR is a modified Harvard architecture 8-bit RISC single chip microcontroller which was developed by Atmel in 1996. The AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.


Jack Christensen


Quick question: This processor, if it has memory built-in, is that volatile? Or does it actually retain code when power is off?


The AVR MCUs used in various Arduino are modified Harvard architecture machines (separate program and data space) and actually have three types of memory. Non-volatile flash for program memory, static RAM (volatile) for data, stack, etc., and EEPROM for non-volatile data storage.
MCP79411/12 RTC ... "One Million Ohms" ATtiny kit ... available at http://www.tindie.com/stores/JChristensen/

Oooo, I found this, which looks amazing.

http://www.arduino.cc/en/Main/Standalone

Maybe this is my first project before diving into the other stuff...

smeezekitty


Oooo, I found this, which looks amazing.

http://www.arduino.cc/en/Main/Standalone

Maybe this is my first project before diving into the other stuff...

You can implement a standalone board with alot less parts.
Avoid throwing electronics out as you or someone else might need them for parts or use.
Solid state rectifiers are the only REAL rectifiers.
Resistors for LEDS!


smeezekitty

#21
Jan 16, 2012, 04:05 am Last Edit: Jan 16, 2012, 04:07 am by smeezekitty Reason: 1

Any tutorial/walkthru URL?
tks!

Sort of.
http://arduino.cc/en/Tutorial/ArduinoToBreadboard
But you do not necessarily need to upload a bootloader.
You can simply upload your programs directly to the raw chip using the Arduino as an ISP.
And the UNO CAN be used as an ISP even though it says it cannot.
Also I would recommend using 100 ohm resistors between the chip and the Arduino in case one outputs high and the other low on the SPI pins or vice versa.
Avoid throwing electronics out as you or someone else might need them for parts or use.
Solid state rectifiers are the only REAL rectifiers.
Resistors for LEDS!

ok thanks; all this stuff is really interesting!
i feel like i was asleep for the past few years and suddenly my eyes are open!

retrolefty


Oooo, I found this, which looks amazing.

http://www.arduino.cc/en/Main/Standalone

Maybe this is my first project before diving into the other stuff...


That sounds constructive to me. Personally I would rather spend time building projects to do useful or at least fun stuff rather then learning how to program the AVR in assembly language. C/C++ gives you all the low level control you or the chip will ever need and the optimizer in the gcc compiler is said to generate code as efficient as required or better then all but the most experienced assembler programmers.

tochinet



That sounds constructive to me. Personally I would rather spend time building projects to do useful or at least fun stuff rather then learning how to program the AVR in assembly language. C/C++ gives you all the low level control you or the chip will ever need and the optimizer in the gcc compiler is said to generate code as efficient as required or better then all but the most experienced assembler programmers.


Hi,

Personnally fully support the idea to "leave the low level for when it's really needed". Especially at the beginning, it's far more gratifying to be able to make things work, and try new stuff than banging one's head on the wall coz' you don't understand where it fails.

I guess this can be more a general gcc question, but do you have an idea of how efficient gcc really is ? I read somewhere else that the "digital read" function of Arduino was about 20 instructions, while it's just a "bit check" in terms. Of course maybe this doesn't come from the compiler.

I understand that a #define as a "compiler directive" takes zero instruction.

Go Up