there are quite a few good free online resources.
I learned C from The C Programming Language by Kernighan and Ritchie. It's just the basics without PC centric stuff, and it's straight from the horse's mouth!
Beyond that, you can probably get free documentation for the specific platform you are programming for to fill in the gaps.
there are quite a few good free online resources.
Yes there are and I have been looking at many of them. I have even downloaded .pdf copies of some AVR specific books and these would be helpful if I could read them. I cannot focus on my monitor long enough to finish more than a few sentences at a time. Small monitor and bad eyes. I can however print out a few useful pages and read them. This has been how I have been trying to learn thus far. I was hoping though that there would be a good book. Something like "Programming AVR in C for Dummies" but no one has written that yet.
Things you can likely safely ignore:
2. Dynamic memory allocation
3. Multi-threading or more complicated parallel programming topics. This is generally an advanced PC topic anyways, and most MCU's only have one processor anyways. A few concepts may apply to when you want to interface multiple MCUs or are using interrupts, but they're generally handled differently .
4. Object oriented programming. Basic structures are useful, but I haven't found much use of more advanced object oriented topics such as inheritance, abstraction, and polymorphism.
A strange suggestion but if you have space for another monitor next to your current one could try to get an old 4:3 1240x1024 model and connect it to your PC/Laptop if it supports two screens. But rather than mounting it landscape (like normal) try to find a stand so you can mount it portrait.
If you do this PDF books and Datasheets displayed full screen would virtually fill the monitor. If you can read text books you may find that you can actually read a full page without having to zoom/scroll (providing you don't go for something like a tiny 15" model).
Also having the examples/datasheet next to you so that don’t have to keep switching between the Development Environment and PDF reader is a real joy. Once you have worked like this you will not want to go back.
I learned C from The C Programming Language by Kernighan and Ritchie. It's just the basics without PC centric stuff, and it's straight from the horse's mouth!
Beyond that, you can probably get free documentation for the specific platform you are programming for to fill in the gaps.
Sometime soon I should be getting a programmer for Atmel AVR and using Atmel Studio 6 for programming. Thanks Jack! My question is which book should I get to teach me programming? Keep in mind I can get easily confused, I'm not stupid (yet) but between the Lyme disease and medications my cognitive functions are very slow. I am also on a very tight budget and cannot afford to buy several books. So I need a book that is complete with all the available functions and variables you can use yet is fairly stupid friendly.
QuoteA strange suggestion but if you have space for another monitor next to your current one could try to get an old 4:3 1240x1024 model and connect it to your PC/Laptop if it supports two screens. But rather than mounting it landscape (like normal) try to find a stand so you can mount it portrait.
If you do this PDF books and Datasheets displayed full screen would virtually fill the monitor. If you can read text books you may find that you can actually read a full page without having to zoom/scroll (providing you don't go for something like a tiny 15" model).
Also having the examples/datasheet next to you so that don’t have to keep switching between the Development Environment and PDF reader is a real joy. Once you have worked like this you will not want to go back.
That's a great idea! I don't have another monitor but hey I can flip this one over for temporary will see how well it works. I can work on getting another monitor.
It is very hard to find problems looking at just 6 lines at a time and then page-up page-down.
QuoteIt is very hard to find problems looking at just 6 lines at a time and then page-up page-down.
^ This!! *Looks accusingly at Arduino IDE designers*...![]()
QuoteIt is very hard to find problems looking at just 6 lines at a time and then page-up page-down.
^ This!! *Looks accusingly at Arduino IDE designers*...![]()
I do not intend any accusation of poor design; I have not seen the Arduino IDE. If anyone took it that way … sorry…
Given that Arduino is open source, you take what you get. Open source developers do what they can with what time/resource they have. So anything is better than nothing. I use open-source Java IDE, and thankful to the developers who made a tool I can use at no cost to me.
That said; if Arduino IDE shows only 6 lines or less, one may consider this a suggestion for future improvement.
It is very hard to find problems looking at just 6 lines at a time and then page-up page-down.
I have in the past had a temporary dual monitor setup. It worked great for learning sketchup I could have the tutorial running in one window and the program in another. However my daughter stole my second monitor once I fixed her computer. Looking back maybe I should have told her I couldn't fix it.