demos(3)
πΈ NAME πΈ
demos β yeah bestie, that's the whole entire name, she's a short one π
It's a page from the avr-libc manual, section 3, and it's basically the lil' tour-guide page for all the demo projects. π
β¨ SYNOPSIS β¨
π¦ Modules π¦
okay so here's the whole module lineup, no cap:
- Combining C and assembly source files
- A simple project
- A more sophisticated project
- Using the standard IO facilities
- Example using the two-wire interface (TWI)
π DETAILED DESCRIPTION π
So like, there's a whole bunch of little demo projects here, and their whole job is to show off different aspects of using the opensource utilities for the AVR controller series. π«Ά
Real talk tho: keep in mind these demos are mainly for educational purposes, and they're normally not directly suitable for use in any production environment. Don't be shipping these to prod, babe. π
Usually they've been kept as simple as sufficient to demonstrate one particular feature. Simple is the vibe, periodt.
The simple project is kinda like the 'Hello world!' application but for a microcontroller β like, the most simple project that can be done. It's explained in good detail so the reader can actually understand the basic concepts behind using the tools on an AVR microcontroller. Slay, educational queen. π
The more sophisticated demo project builds right on top of that simple project and adds some controls to it. On the way it touches a number of avr-libc's basic concepts. She's growing up. π¦
A comprehensive example on using the standard IO facilities is here to explain that whole complex topic, using a practical microcontroller peripheral setup with one RS-232 connection, and an HD44780-compatible industry-standard LCD display. Iconic combo fr fr. π
The Example using the two-wire interface (TWI) project explains how to use the two-wire hardware interface (also known as 'I2C') that lives on many AVR controllers. π§
Finally, the Combining C and assembly source files demo shows how C and assembly language source files can collaborate within one project. The way that works is: the overall project is managed by a C program part for easy maintenance, while the time-critical parts are written directly in manually optimized assembly language for the shortest execution times possible. β‘
Naturally, this kind of project is very closely tied to the hardware design, so it's custom-tailored to a particular controller type and peripheral setup. As an alternative to the assembly-language solution, this project also offers a C-only implementation (deploying the exact same peripheral setup) based on a more sophisticated (and thus more expensive) but pin-compatible controller. Two paths, same vibe. π
π which demo runs on what π
okay so this part matters, pay attention bestie:
- While the simple demo is meant to run on about any AVR setup possible where a LED could be connected to the
OCR1[A]output... - ...the large and stdio demos are mainly targeted to the Atmel STK500 starter kit.
- ...and the TWI example requires a controller where some 24Cxx two-wire EEPROM can be connected to.
STK500 setup warning, bestie, read this: for the STK500 demos, the default CPU (either anAT90S8515or anATmega8515) should be removed from its socket, and theATmega16that ships with the kit should be inserted into socketSCKT3100A3. TheATmega16offers an on-board ADC that is used in the large demo, and all AVRs with an ADC feature a different pinout than the industry-standard compatible devices. So yeah, swap that chip, don't skip it. π
In order to fully utilize the large demo, a female 10-pin header with cable, connecting to a 10 kOhm potentiometer will be useful. Hardware girlies, assemble. π₯
For the stdio demo, an industry-standard HD44780-compatible LCD display of at least 16x1 characters will be needed. Among other things, the LCD4Linux project page describes many things around these displays, including common pinouts. Go look it up iykyk. πΈ
π AUTHOR π
Generated automatically by Doxygen for avr-libc from the source code. π€β¨
and that's the whole page, bestie!! this was demos(3) from the avr-libc manual, Version 2.1.0, dated Sat Jan 29 2022. mwah, go build something cute on an AVR ππ¦π
π¦ where this page comes from
- fedora 43: avr-libc 2.2.1-3.fc43 Β· BSD-3-Clause
- fedora 44: avr-libc 2.2.1-5.fc44 Β· BSD-3-Clause
- opensuse-leap 16.0: avr-libc 2.1.0-bp160.1.33 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms