The latest versions of Atmel Studio 7 seem to omit External Tools… from the Tools menu. This command is necessary to add your own programmer so it can be launched from Studio. If it is missing, how is it added?
Arduino is officially an open source electronic prototyping system, which is sold with the slogan “So easy, my granny can use it”. It is not quite as simple as that but it is pretty easy to buy a successful project and implement it quickly. So if your idea has already been done, Arduino makes it straightforward to carry it out.
First, what is the difference between these terms, UART and USART? UART stands for Universal Asynchronous Receiver and Transmitter, and USART means Universal Synchronous and Asynchronous Receiver and Transmitter. Most microcontrollers today, like PIC and AVR, have USART, but the Synchronous function is not often used as they have other synchronous devices like I2C and SPI. So this post will concentrate on asynchronous transmission, which is the same on both devices.
The AVR microcontroller is excellent with C code because it was designed with C in mind. Atmel have also made it easy to use C in AVR Studio, as WinAVR compiler can run from within AVRStudio just like the assembler.
Only a few years ago, using C compilers involved complicated commandline instructions and make files but WinAVR more or less takes care of this for you. WinAVR is based on the free GNU-GCC compiler but is much friendlier, especially for beginners.
The question we are often asked is should I start with C or assembly language to program my AVR microcontroller? Well, there are pros and cons to both approaches.
C has many advantages, including much faster code writing and increased portability. It is also much easier to understand and modify the code later. By using library files, code can be reused easily or pre-written functions can just be added by including a library.
Continue reading “AVR Microcontroller Coding” »
AVR microcontrollers are available from Atmel directly, from any of their distributors or here on the Kanda site. The range covers everything from 1KB 8-pin devices to 100-pin 256KB microcontrollers. Available package types include DIP, SOIC, QFN and TQFP. They feature all the usual peripherals including UART, SPI and Two Wire Interfaces, plus ADC, analog comparators and PWM for analog work and some have more advanced features like CAN and USB.
Continue reading “AVR Microcontrollers” »