As i see so many generic questions about pointers , arrays and other C related stuff. I think we should have a little place for some LEGALONLINE C tools and or references.

If this is going to be usefull , then this post should NOT end up being hundreds of pages long. So plese do not use it as your own private remote/backup of your favorite links. But if its generic and helpfull to most other C users , and maybe especially the learners then post a link to it.

Please describe what the link is pointing at/to , and do a skills classification.

I will start out with the obious GCC links (not classified) , and then some links to some online books/docs that i think would be helpfull to other users here.

Note: If you want support for the latest processors (Applies to all builds)
You need to apply a patch to the binutils.

As EW wrote:

Quote:

The patches for the new devices are always available to anyone at the avr-libc project site on Savannah, in the Patch Manager.

Building the AVR Toolchain under Linux
A. J. Erasmus made this homepagehttp://home.telkomsa.net/antera/
With a "Recipe" for building a "WinAVR" compatible toolchain under linux (Untested by me)
Do start with the Readme

Building the AVR Toolchain under MacOS X (10.1 or later recommended)
First you must install the developer tools from the Apple CD, which came with OS X, or can be downloaded from the Apple website for free.

Using watchdog timers to improve the reliabilityhttp://www.le.ac.uk/engineering/...
Category : Publication from the above author about using Watchdogs
Level : Intermediate to Advanced

Control And Embedded Systemshttp://www.learn-c.com/
Category : Focused on controlling things with embeddec C.
Seems like a nice site with a lot of embedded examples in links on left side
Level : Beginners to Intermediate
Starts with basic electronics , then on to controlling ports in C

This guide provides a useful look at the standard C programming language. ...It is merely a handy reference to the standard C library.
...
This guide is divided into two sections. The first part, "Language", is an analysis of the syntax and the environment. The second part, "Library", is a list of the functions available in the standard C library. ...

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

If the link stops working it is document number INCITS/ISO/IEC 9899-1999. It costs $18, but is well worth it.

You would have trouble learning C from this document, but it is an extreamly good reference for writing/understanding other C programs I have found. Not for someone who needs something to learn the C language from, but great for someone who has another C book to go with this document (even if they are learning the C language).

C Programming Language (2nd Edition)
by Brian W. Kernighan, Dennis Ritchie, Dennis M. Ritchie
Category: ANSI C
Level: int/advanced
Comment: Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C's rich set of operators, economy of expression, improved control flow, and data structures. This 2nd edition has been completely rewritten with additional examples and problem sets to clarify the implementation of difficult language constructs.

I think avrbeginners.net should be mentioned here. Though I don't like it, I'll now "officially" advertise our website for the very first time. Many people ran across it and everybody understood what they had read. I think it's become a really good starting point for beginners.

You can now get a great AVR microcontroller development board and C compiler for an unprecedented low cost. ATMEL’s Butterfly Evaluation Board is $19.99 at Digi-Key.com and the WinAVR C compiler is free. This combination replaces hardware and software that until recently would costs hundreds of dollars just for an entry level system. Now you can join the AVR club for pocket change.

To help you get started, download the free ‘Quick Start Guide for Using WinAVR Compiler and ATMEL’s AVR Butterfly’, a 30-page tutorial in .pdf format, from http://www.smileymicros.com.

This tutorial is an extract of the first two chapters of the book: ' C Programming for Microcontrollers Featuring ATMEL's Butterfly and the WinAVR Compiler' also available on the SmileyMicros website.

I'd recommend http://www.cs.virginia.edu/~lcc-...
Even if you have no intention of using the compiler, it's C-Tutorial is among the best I have ever read. It's an ANSI C implementation so learning to program in this is essentially learning to program using anything else. The tutorial is concise, easy to read and not too wordy. The PDF file is organized very well including plenty of code examples. Best of all, the compiler, the tutorial and even a healthy dose of extra goodies (Explanations on how to use a lot of Windows API's) are all available completley free of cost unless you're writing something for comercial use (in which case there are licensing feeds) I would recommend it to anyone with an interest in C programming, if for nothing other than a very good refrence.

-Curiosity may have killed the cat
-But that's why they have nine lives

Gracia Teleoperation Tutorial
This tutorial discusses a C++ program running on a host computer that uses the Garcia API to communicate with a Garcia robot. The program takes user input from a joystick or gamepad and converts it to motion commands that are sent across the serial link.

Pointers, References and Values New
Provides information about Passing Parameters, Returning Results, and Storing Member Variables with Musings on Good C++ Style.

Programming Tutorials
Contains C++ tutorials, as well as Denthor of Asphyxia's graphics tutorials converted to C++, several programming articles, and a new series on the Standard Template Library.

Basic Input and Output with C++
In this lesson we will focus on using the keyboard as our input device and the monitor as our output device.

comp.lang.c FAQ list Table of Contents
This article is a table of contents for the comp.lang.c frequently-asked questions (FAQ) list, listing the questions which the abridged and full versions of the FAQ list answer.

All About: File I/O in C++
Starts with the very basis of File I/O (Input/Output) in C++ then looks into aspects that are more advanced, showing some tricks, and describing useful functions.

Found a reference to this at Yahoo group AVR-Chat.Hackers Delight, ISBN: 0201914654.
What may be the ultimate reference for manipulating and isolating bits and bytes with C or asm. Authors website and review from IBM Systems Journal, http://www.hackersdelight.org/.

This one changed my programming life. I own maybe 6 of the books that are listed above and have been through a lot of tutorials and I have never been able to grok C but now at least I know why I have not been able to understand some of C's problems. One of the reasons? C is written for people who write compilers not for people who write programs. If you know a little about C and you would like the next project to go smoother, then this is for you.

While the official published C standards must be purchased, the standards committee's working drafts are freely and legally available from their web site. The following is technically a draft of a future version, but the committee is not actually working on a future version, so it is for all practical purposes identical to the current standard plus errata:

In what way is the post you just made a suggestion for an online book or tool (the subject of this thread)? What you have performed is called a "thread hijack" and does nothing but piss people off. Tell me the name of the thread you want created to ask your question (perhaps something like "newbie hasn't got the first idea about ADC" ?) and I will split your hijack off this thread and give it your chosen name.

STOP hijacking threads that has no connection to your question. DO start your own thread instead. DO that in the correct forum regarding your question.

When wanting to start a new thread (a new line of conversation on a specific subject) use the new topic button (not the new reply button - that is for answering in an existing thread).

"He used to carry his guitar in a gunny sack, or sit beneath the tree by the railroad track. Oh the engineers would see him sitting in the shade, Strumming with the rhythm that the drivers made. People passing by, they would stop and say, "Oh, my, what that little country boy could play!" [Chuck Berry]

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

It's a downloadable HTML flash slideshow with audio commentary. It's almost like you're sitting in a classroom. I rarely see this novel way of presenting educational material on the web. It also takes up a lot less hard disk space then, say, a video presentation.

C language tutorial
This free online website will be very useful for students who are beginners for
C programming.

* All topics are explained very clearly and in very easy way to understand.
* Easy navigation through all topics
* Simple example programs and output
* Real time application programs with source code[/url]

I browsed the few first pages of your tutorial, and found some questionable stuff.

Examples:

In the page "C â€“ Basic Program" there is a table named "Description for each section of a C program". It implies that the different constructs mentioned must be lumped together and ordered as in that table. This is wrong - C does not imply any of that lumping together or ordering (C implies some order of thingsorder, but not the one you describe).

On the page "C â€“ Printf and Scanf" you write

Quote:

[printf and scanf] functions are declared and defined in â€œstdio.hâ€ [..].

This is partly wrong. They certainly are declared there, but they are not defined there (at least not necessarily, and not in any implementation of libc that I have seen).

It is also notable that while you point out that C is case sensitive (the actual formulation of yours is "All functions in C are case sensitive" which is too nerrow - it's not only functions but the whole langage) you spell them with a capital first letter in the heading of the page.

I stopped there for the time being.

-----

For anyone actually venturing into reading the tutorial as a whole I suggest you do it with a browser with ad blocking. E.g. Firefox with AdBlock+.

"He used to carry his guitar in a gunny sack, or sit beneath the tree by the railroad track. Oh the engineers would see him sitting in the shade, Strumming with the rhythm that the drivers made. People passing by, they would stop and say, "Oh, my, what that little country boy could play!" [Chuck Berry]

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

C language tutorial. This is a free C programming tutorial website for new programmers. In this website all topics are explained assuming that reader has no prior experience of c programming. It also contains lots of c sample programs with explanation and sample input output.