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.
この記事は Circuit Cellar の October 2024 版に掲載されています。
7 日間の Magzter GOLD 無料トライアルを開始して、何千もの厳選されたプレミアム ストーリー、9,000 以上の雑誌や新聞にアクセスしてください。
すでに購読者です ? サインイン
この記事は Circuit Cellar の October 2024 版に掲載されています。
7 日間の Magzter GOLD 無料トライアルを開始して、何千もの厳選されたプレミアム ストーリー、9,000 以上の雑誌や新聞にアクセスしてください。
すでに購読者です? サインイン
Renesas New RA8 Entry-Line MCU Groups Brings High Performance of Arm Cortex-M85 Processor to Cost-Sensitive Applications with Market-Leading CoreMark Performance
Renesas Electronics Corp., a premier supplier of advanced semiconductor solutions, introduced the RA8E1 and RA8E2 microcontroller (MCU) groups, extending the industry's most powerful series of MCUs.
Same Sky Expands AMT Absolute Encoder Line to Support Larger Shaft Sizes
Same Sky's Motion & Control Group announced the addition of a new series to its innovative AMT absolute encoder family designed to support larger motor shaft sizes from 9mm to 15.875mm (5/8 inch).
XP Power Launches New Series of Low-Profile, Baseplate-Cooled DC-DC Brick Converters
The RDF150 and RDF200 series are the latest additions to the RDF series of low-profile, baseplate-cooled, ultra-wide input DC-DC brick converters, which is already available in power outputs of 25W and 50W.
HMI Introduces Ultra-Low Voltage 12-bit GPIO Expander with Interrupt Output
HMI, a leading provider of advanced analog and power management technologies, announced the launch of its HL5310, an innovative ultra-low voltage 12-bit GPIO expander featuring interrupt output.
The Future of Embedded Chip Design Navigating the Chip Creation Space
Custom Silicon at Lower Cost, Reduced Development Time
The Long and Winding Road
From Maxim's RS-232 to WeMos ESP32: So Much to Do, So Little Time
Start to Finish Driving LCDs
Lumex Display with Microchip Driver for a TI MCU
Easing the Path for App Releases
Managed Development of React Native with Expo
Datasheet: Tiny Embedded Boards
Deliver Power, Performance, and Versatility in Meager Square Millimeters
Harvesting Ambient Energy
Hybrid Power Sources Cut IoT Battery Dependency