Author Topic: recommend intermediate level book about avr programming  (Read 10179 times)

0 Members and 1 Guest are viewing this topic.

Offline nourTopic starter

  • Frequent Contributor
  • **
  • Posts: 271
  • Country: sa
  • calm down, it is just a smoked oPamP!
recommend intermediate level book about avr programming
« on: March 27, 2016, 09:41:22 am »
Hi,
I have been playing with avr and arduino for quite sometime and I have done some stuff with them an I want to move on with my level.

Can someone recommend good book about Atmel AVR using C language
The book that I am looking for should be at the intermediate level because I don't want to waste my time reading about loops and conditions I already know this

I want book dealing with the hardware features in more mature way rather than just discussing the basic level or the basic features

I am software engineer so I don't have problems dealing with C or what so ever

EDIT

I have already went through Make:AVR Programming  and this is not the level that I am looking for.
thanks
« Last Edit: March 27, 2016, 10:55:05 am by nour »
if what I have wrote doesn't make sense for you or you think there is something wrong, please correct me, I am still beginner and what I know probably less than what you know
 

Offline Robartes_m

  • Contributor
  • Posts: 21
  • Country: be
Re: recommend intermediate level book about avr programming
« Reply #1 on: March 27, 2016, 10:39:11 am »
Hi,

this one gets you up to speed programming an AVR, without too much unnecessary handholding:

Make: AVR programming

 

Offline nourTopic starter

  • Frequent Contributor
  • **
  • Posts: 271
  • Country: sa
  • calm down, it is just a smoked oPamP!
Re: recommend intermediate level book about avr programming
« Reply #2 on: March 27, 2016, 10:51:09 am »
Hi

Thanks for your reply
I should have mentioned that I have already went through this book and I think it is not what I am looking for
I consider this book as for absolute beginners (at least for me)

I have read until interrupts and stopped because the level of the book is very basic and I only get to know the very basic features
That's means I will need to read another book to learn and understand more about the advanced features
which is waste of time  :-// I don't want read several books before be able to do something useful

anyway thanks for your interaction  :-+
if what I have wrote doesn't make sense for you or you think there is something wrong, please correct me, I am still beginner and what I know probably less than what you know
 

Offline obiwanjacobi

  • Super Contributor
  • ***
  • Posts: 1030
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: recommend intermediate level book about avr programming
« Reply #3 on: March 27, 2016, 10:56:59 am »
I would suggest you read the datasheet and try out each peripheral one at a time. All you need in C is some bit level manipulation and common stuff (vars, loops etc).

Something like an Arduino could be helpful.

[2c]
Wrong code should not compile!
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: recommend intermediate level book about avr programming
« Reply #4 on: March 27, 2016, 10:59:35 am »
Since no one but you knows what you already know, it is hard to recommend something there for you.

Generally, you don't need a book for this, especially if you are good at programming. The data sheet is more than enough, and the most authoritative source  on a given chip.
================================
https://dannyelectronics.wordpress.com/
 

Offline nourTopic starter

  • Frequent Contributor
  • **
  • Posts: 271
  • Country: sa
  • calm down, it is just a smoked oPamP!
Re: recommend intermediate level book about avr programming
« Reply #5 on: March 27, 2016, 12:05:44 pm »
Since no one but you knows what you already know, it is hard to recommend something there for you.

Generally, you don't need a book for this, especially if you are good at programming. The data sheet is more than enough, and the most authoritative source  on a given chip.

I consider My level in programming MCU as beginner, but I need to learn other stuff more than just loops and conditions and other basic hardware features

I want something intended for programmer and those who are already familiar with software and hardware programming
the problem with the datasheet that it would get into very specific details and features that usually require very advanced user(hardware programmer)

In software engineering If I would like to learn about something and  already have some knowledge about it I would go for books talking about fundamentals which usually intended for those who already know the basic but not yet the advanced topics
if what I have wrote doesn't make sense for you or you think there is something wrong, please correct me, I am still beginner and what I know probably less than what you know
 

Offline mathsquid

  • Frequent Contributor
  • **
  • Posts: 254
  • Country: us
  • I like math.
Re: recommend intermediate level book about avr programming
« Reply #6 on: March 27, 2016, 12:28:51 pm »
You might try looking through Atmel's application notes and see if there's something there that interests you.

http://www.atmel.com/products/microcontrollers/avr/default.aspx?tab=documents&Asset_Type=020%20Application%20Note
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: recommend intermediate level book about avr programming
« Reply #7 on: March 27, 2016, 01:56:48 pm »
Quote
I want something intended for programmer and those who are already familiar with software and hardware programming

Those people go to the datasheet, :)

Quote
the problem with the datasheet that it would get into very specific details and features that usually require very advanced user(hardware programmer)

It is hard to be in the embedded business without being a "hardware programmer". There really isn't a whole lot to being embedded programming: being good in the language / tools + being able to read / comprehend a datasheet.

Quote
In software engineering If I would like to learn about something and  already have some knowledge about it I would go for books talking about fundamentals which usually intended for those who already know the basic but not yet the advanced topics

The difficulty for others trying to help you is that they don't know what "fundamentals" you already possess and what "some knowledge" you wish to learn. One way for you to help them is to give a few examples of what you are trying to learn and what you already know.
================================
https://dannyelectronics.wordpress.com/
 

Online westfw

  • Super Contributor
  • ***
  • Posts: 4668
  • Country: us
Re: recommend intermediate level book about avr programming
« Reply #8 on: March 28, 2016, 07:21:05 am »
It sort-of sounds like you want a book that describes the typical peripherals of a microcontroller (UART, SPI, I2C, A2D, PWM, etc) in a way that explains what they do and how to use them, without getting bogged down in elementary explanations of the usual software techniques.   So that given a typical datasheet example like:
Code: [Select]
/* Set frame format: 8data, 2stop bit */
UCSR0C = (1<<USBS0)|(3<<UCSZ00);
You'd like to find a book that describes "What is a stop bit and why would I want two of them" rather than explanations of shift and bitwise Or operators.
Or maybe "What's the difference between I2C, SPI, and USART, anyway?" and "It's nice that this peripheral has about a billion different possible configurations - how about some hint as to which ones are most commonly used, and why?"

Sometimes you can find this in datasheets, or app notes, or in white papers from the original "inventor" of a protocol (I2C, for instance.)  Once you're past the first couple of chips, the datasheet might be enough.  (But those first couple of chips it would be nice to have something more ... tutorial.  Lesson-like.)

Unfortunately, I don't really know of any books like that.  You used to find tutorials in magazines like Byte and Kilobaud, back when microcomputer users needed to know all about their HW *and* their SW, and didn't know either starting out.   Nowadays, the HW and SW knowledge is more separated.  :-(
« Last Edit: March 28, 2016, 07:33:14 am by westfw »
 

Offline Robartes_m

  • Contributor
  • Posts: 21
  • Country: be
Re: recommend intermediate level book about avr programming
« Reply #9 on: March 28, 2016, 07:35:25 am »
I should have mentioned that I have already went through this book and I think it is not what I am looking for
I consider this book as for absolute beginners (at least for me)

Cool. In that case, I second (and third, and fourth :) ) the other posters comments that the datasheet is the next step. If you know C and know how to get code into the micro, the data sheet tells you everything else you need to know about the various peripherals and features of the micro.
 

Offline Mechatrommer

  • Super Contributor
  • ***
  • Posts: 11727
  • Country: my
  • reassessing directives...
Re: recommend intermediate level book about avr programming
« Reply #10 on: March 28, 2016, 08:15:34 am »
Perharps the level you are looking for is not in the avr domain. Avr per se doesnt deserve an extensive 'the next level' dedicated thick book. Other than for and loop is what? Peripherals? The datasheet, what else? The least op floating division? Data structures? Bitblit bitbang hack? oop? The best practise sw eng. Practise? Not in the avr.. widen your eyes then you'll see wider. Solution started from a problem, And its not very clear what is here.

Offline nourTopic starter

  • Frequent Contributor
  • **
  • Posts: 271
  • Country: sa
  • calm down, it is just a smoked oPamP!
Re: recommend intermediate level book about avr programming
« Reply #11 on: March 28, 2016, 02:53:54 pm »
ok, thanks for whoever contributed in the topic
may be I will try going through the datasheet

thanks
if what I have wrote doesn't make sense for you or you think there is something wrong, please correct me, I am still beginner and what I know probably less than what you know
 

Offline asgard20032

  • Regular Contributor
  • *
  • Posts: 184
Re: recommend intermediate level book about avr programming
« Reply #12 on: March 28, 2016, 03:17:56 pm »
I still think book could be valuable, at any level. But not a book on how to program avr, but more a book on programming methodology, paradigm, how to structurate code, state machine, how to use interrupt correctly, way of thinking in embedded system, common embedded system problem and solution (like debouncing, counting RPM with a timer...), design pattern like in microcontroller... other such thing like those. Book for subject already covered by datasheet is pretty pointless.
 

Offline nourTopic starter

  • Frequent Contributor
  • **
  • Posts: 271
  • Country: sa
  • calm down, it is just a smoked oPamP!
Re: recommend intermediate level book about avr programming
« Reply #13 on: March 28, 2016, 07:02:46 pm »
I still think book could be valuable, at any level. But not a book on how to program avr, but more a book on programming methodology, paradigm, how to structurate code, state machine, how to use interrupt correctly, way of thinking in embedded system, common embedded system problem and solution (like debouncing, counting RPM with a timer...), design pattern like in microcontroller... other such thing like those. Book for subject already covered by datasheet is pretty pointless.
Wow :o
I think you have said exactly what I was looking for, may be I couldn't explain it as well as you have did, or may be I misused AVR as an example, but you hit the nail directly  :-+

hope someone would be able now to recommend something ::)
if what I have wrote doesn't make sense for you or you think there is something wrong, please correct me, I am still beginner and what I know probably less than what you know
 

Offline ade

  • Supporter
  • ****
  • Posts: 231
  • Country: ca
Re: recommend intermediate level book about avr programming
« Reply #14 on: March 28, 2016, 09:31:13 pm »
Did you really go through the "Make: AVR Programming" book?  Not just flipping through but actually implement the examples given.

Because it covers most of the topics mentioned above.  Interrupts, debouncing, timers, counters, motor control, etc.   And a lot more.

No it's not a book on programming methodology, doesn't discuss state machines, etc., but if you are a software engineer then you should have that part covered.
« Last Edit: March 28, 2016, 09:32:59 pm by ade »
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: recommend intermediate level book about avr programming
« Reply #15 on: March 28, 2016, 10:26:47 pm »
"more a book on programming methodology, paradigm, how to structurate code, state machine, how to use interrupt correctly, way of thinking in embedded system, common embedded system problem and solution (like debouncing, counting RPM with a timer...), design pattern like in microcontroller... other such thing like those"

None of that is hardware specific, something the OP has specifically ruled out.
================================
https://dannyelectronics.wordpress.com/
 

Offline eddie0x7c3

  • Newbie
  • Posts: 9
  • Country: us
Re: recommend intermediate level book about avr programming
« Reply #16 on: March 29, 2016, 01:23:30 am »
i find my self in the same boat sometimes. I want to learn more about a subject and all i get is Arduino this Arduino that.
I am currently trying to get i2c up and running on a samd21 chip and  i keep getting references to ASF or the WIRE library where you just call a function and it magically happens. when what i want is register level code.

I suggest search for "embedded programming" and not so much AVR specific since there aremore manufactures out there and one day you might not want to know how to use more than one single line of chips.
But  i  agree the datasheet is your friend , specially in AVR since they give you C sample code .
EE Student: Year 1 | West Palm Beach FL | "“It is not a dream, it is a simple feat of scientific electrical engineering, only expensive — blind, faint-hearted, doubting world! "    -NT
 

Offline retrolefty

  • Super Contributor
  • ***
  • Posts: 1648
  • Country: us
  • measurement changes behavior
Re: recommend intermediate level book about avr programming
« Reply #17 on: March 29, 2016, 01:50:33 am »
i find my self in the same boat sometimes. I want to learn more about a subject and all i get is Arduino this Arduino that.
I am currently trying to get i2c up and running on a samd21 chip and  i keep getting references to ASF or the WIRE library where you just call a function and it magically happens. when what i want is register level code.

I suggest search for "embedded programming" and not so much AVR specific since there aremore manufactures out there and one day you might not want to know how to use more than one single line of chips.
But  i  agree the datasheet is your friend , specially in AVR since they give you C sample code .

 I know it's Arduino but the WIRE library source code is distributed with the IDE download. So you can read how the WIRE library does it's 'magic register stuff' by reviewing the source code.
 

Online westfw

  • Super Contributor
  • ***
  • Posts: 4668
  • Country: us
Re: recommend intermediate level book about avr programming
« Reply #18 on: March 29, 2016, 01:54:45 am »
>
Quote
all i get is Arduino this Arduino that.
And?  If you ask something like "How do I connect a Holtek HT1632 LED matrix controller to my Atmega169?" and you get a response like "There's an Arduino library for that, but Arduino doesn't support the m169" then surely it would be a fine strategy to download the Arduino Library and read the source code to figure out how it works, even if you hate everything about how "Arduino dumbs down embedded programming."
It's not like you will EVER find a book that describes exactly how to connect your particular X to your particular Y using your particular level and style of coding in your particular language...
 

Offline ade

  • Supporter
  • ****
  • Posts: 231
  • Country: ca
Re: recommend intermediate level book about avr programming
« Reply #19 on: March 29, 2016, 02:03:14 am »
Quote
it would be a fine strategy to download the Arduino Library and read the source code to figure out how it works
Yup 100% agree! 

I was looking into an RC radio protocol (DSM) for an STM32 project and turns out someone had already reverse engineered it for the Arduino (of course!)  A quick download later I was reading the source code and it was gold.  :-+
« Last Edit: March 29, 2016, 02:04:58 am by ade »
 

Offline eddie0x7c3

  • Newbie
  • Posts: 9
  • Country: us
Re: recommend intermediate level book about avr programming
« Reply #20 on: March 29, 2016, 02:07:19 am »
ive never thought about looking at the arduino libraries , i always assumed it would be full of junk having to do with the IDE and arduino specific abstraction.... i started using the "-arduino" in my google searches to NOT get results with the word arduino. But i shall take heed! I need to go look at their libraries specific the arm samd in that case!!!
EE Student: Year 1 | West Palm Beach FL | "“It is not a dream, it is a simple feat of scientific electrical engineering, only expensive — blind, faint-hearted, doubting world! "    -NT
 

Offline nowlan

  • Frequent Contributor
  • **
  • Posts: 649
  • Country: au
 

Offline Syntax_Error

  • Regular Contributor
  • *
  • Posts: 204
  • Country: us
Re: recommend intermediate level book about avr programming
« Reply #22 on: March 29, 2016, 04:39:42 pm »
Wikipedia is often a great introductory source of information regarding a topic or set of related topics. The earlier example of USART was given. This is a good example of when Wikipedia shines. I like to start there when I need a "primer" or "crash course" on something.
It's perfectly acceptable to not know something in the short term. To continue to not know over the long term is just laziness.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

- - -
-->