Lisp is a Turing-complete programming language, based on Alonso Church's lambda calculus. It was designed by John McCarthy and published in his 1960 paper, "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I" [1]. Of its many dialects, Common Lisp and Scheme are the best known, along with the newer Racket and Clojure.
Lisp pioneered many programming language ideas now commonly in use [2], such as higher order functions, recursion, lexical closures, dynamic typing, tree data structures, automatic garbage collection, and the read-eval-print loop (REPL). I've been programming in Common Lisp and Scheme as a hobby for many years. Recently, I discovered uLisp, a version designed to run on microcontrollers (MCUs) [3]. As a fan of Lisp and embedded systems, for the past few years, I've been willing to try the uLisp platform and write about it.
In this article I begin by discussing very simple uLisp examples that showcase basic syntax and programming concepts. Then, I discuss some extensions to the language that deal specifically with MCU-related functionalities, such as general-purpose input/ output and I2C serial data communications. I present some hardware examples using Seeed Studio's Wio Terminal development board and the Sensirion SGP30 gas sensor. Nevertheless, uLisp support as well a few other MCU platforms.
To follow the topics discussed here, you just need a basic knowledge of microcontrollers and the Arduino platform.
ULISP CRASH COURSE
uLisp is available for many MCU boards in five versions [4]. The version of uLisp that you wish to use can be downloaded free from uLisp.com:
1) AVR: for Arduino Mega 2560, ATmega 1284, and AVR DA/DB series.
2) AVR-Nano: for Arduino UNO, Arduino Nano, and Arduino Every.
3) ARM: for Arduino Zero and MKTZero, Adafruit MO, M4, PyBadge/PyGamer, nrf52840 and Clue, BBC Micro Bit, Teensy 40/4.1, RP2040-based boards, and others.
Esta historia es de la edición October 2024 de Circuit Cellar.
Comience su prueba gratuita de Magzter GOLD de 7 días para acceder a miles de historias premium seleccionadas y a más de 9,000 revistas y periódicos.
Ya eres suscriptor ? Conectar
Esta historia es de la edición October 2024 de Circuit Cellar.
Comience su prueba gratuita de Magzter GOLD de 7 días para acceder a miles de historias premium seleccionadas y a más de 9,000 revistas y periódicos.
Ya eres suscriptor? Conectar
As a 'Matter of Fact
Inside atest Home Control Consolidation Attempt via Google Home and Matter-over-Thread
Industrial Computers Boost Machine Vision Systems
GPU and CPU Performance Drive Rugged Industrial Platforms
Infineon Introduces Industry's First 20 Gbps Universal USB Peripheral Controller
Infineon Technologies announced the addition of the EZUSBTM FX20 programmable USB peripheral controller to its EZ-USB product family.
Microchip Makes it Easier to Build Sophisticated GUIs for MPLAB Harmony v3 and Linux Environments
Designers are incorporating Graphical User Interfaces, or GUIs, into more electronic devices to enhance the user experience by providing intuitive and visually appealing interactions with today's modern applications.
Entertainment On Wheels
In-Dash Panels Control Head Units, Multiple Displays, Cameras and Sensors
Using Amazon Alexa to Control Custom IoT Gadgets
Integrating Voice Recognition for Smart Home Projects
Datasheet: Power Up With DC-DC Converters
Application Types Drive Parameters Beyond Efficiency and Density
D&D Die Roller with Raspberry PI RP2040
Fantastical Project Built with MCU TFT Display and LVGL Graphics
No Blues with Bluetooth!
Part 6: Bluetooth Cybersecurity Basics
LoRaWAN Goes the Distance at Low Power
IoT’s Versatile Protocol for Long-Range, Wide-Area Connectivity