As I get ready to actually try and build my first, functional, micro controller project, a question popped into my head. What is usually designed and built first, the program or the circuit?
As I get ready to actually try and build my first, functional, micro controller project, a question popped into my head. What is usually designed and built first, the program or the circuit?
I stared with building simple circuit for Flashing LED's and after it was finnished I did the Software for it... You can get such programs on the Net, so you can try the HW part...
As I get ready to actually try and build my first, functional, micro controller project, a question popped into my head. What is usually designed and built first, the program or the circuit?
A great deal really depends on what it needs to do, but obviously the software can't be written without knowing what the hardware is.
I would suggest you need to think about BOTH in the planning stages, and it's probably a VERY! good idea to leave a few spare I/O pins in the design - just in case you suddenly find a need for an extra one or two!.
For an example of this thinking, consider another thread in this forum - about wanting to read three keys with only two pins. This is obviously a case of trying to make the software fit the existing hardware - and the decision would have been better made at an earlier planning stage, rather than after the hardware is built. It's quite possible that the decision may have been made to allocate only two pins (or only one pin?) at the planning stage - and that wouldn't be a problem, you would obviously have the software in mind for doing it that way.
So, in my opinion, you design the hardware FIRST, but keep the software very much in mind during that process - far easier to have hardware that makes the software easy, than hardware that makes the software difficult!.
Just 2 go against the threads :wink: , design the software first :lol: ...
Just kidding, but u should get the idea first, then get much in2 the hardware part, and the idea = software, no???
I mean by idea what the project is. You could write down the algorithm in flowcharts, or pseudo-code, just in order to clear some things up: how many I/O ports u need, and hardware stuff like that...
I hope this helps ...