PiccoloBASIC เป็น BASIC interpreter หรือ โปรแกรมที่ทำหน้าที่แปลภาษา BASIC แบบ open-source สำหรับบอร์ดพัฒนา Raspberry Pi Pico ที่ใช้ “uBASIC: a really simple BASIC interpreteu” ของ Adam Dunkels และใช้ระบบไฟล์ LittleFS fail-safe filesystem ของ Arm สำหรับไมโครคอนโทรลเลอร์
ถ้าฉันจำไม่ผิดประสบการณ์การใช้คอมพิวเตอร์ครั้งแรกของฉันคือที่โรงเรียน (ที่ฝรั่งเศส) เราใช้คอมพิวเตอร์ Thomson TO7 ที่เขียนโปรแกรมด้วยภาษา BASIC ฉันไม่คิดว่าภาษานี้ถูกใช้งานในแอปพลิเคชันจริงๆ แต่เรายังคงเห็นโปรเจ็กต์พื้นฐานปรากฏขึ้นเป็นครั้งคราว เช่น ตัวแปลภาษา สำหรับบอร์ด Arduino Zero และตอนนี้ Gary Sims เจ้าของช่อง YouTube Gary Explains ได้ทำการพอร์ตตัวแปลภาษา BASIC interpreter ไปยังบอร์ด Raspberry Pi Pico
โครงการยังอยู่ในระหว่างการพัฒนาอยู่ แต่ฟีเจอร์ที่ได้รับการนำมาใช้แล้วปัจจุบันประกอบด้วย: :
- คำสั่ง Let, If, Print, For, Goto, Gosub
- ตัวแปร String (Let z$=”hello”)
- ค่าตัวเลขทศนิยมและตัวแปร (ให้ z#=1.234)
- ฟังก์ชันในตัว [zero, randint, not, time]
- Sleep, Delay, Randomize, Push และ Pop (สำหรับจำนวนเต็ม)
- ฟังก์ชันทางคณิตศาสตร์ เช่น cos, sin, tan, sqr เป็นต้น
- รองรับ LittleFS
- รองรับ GPIO เบื้องต้น
แม้ว่าโครงการนี้จะยังไม่สมบูรณ์อยู่ แต่ยังมีตัวอย่าง Hello World, Blinky และตัวอย่างโค้ดอื่น ๆ นี่คือตัวอย่างของโปรแกรม Hello World::
1 2 3 4 |
loop: print "Hello World" sleep 1 goto loop: |
Raspberry Pi Pico มี flash 2MB ถูกแบ่งพาร์ติชันให้มีพื้นที่ 640KB สำหรับฟิร์มแวร์ PiccoloBASIC และส่วนที่เหลือสำหรับ LittleFS เพื่อเพิ่มโปรแกรม BASIC, Python scripts และอื่น ๆ นอกจากนี้ Gary มีแผนที่จะแก้ไขข้อบกพร่องบางอย่างและเพิ่มฟีเจอร์เพิ่มเติม เช่น peek และ poke, ชื่อตัวแปรที่ยาวกว่า (ในปัจจุบันเพียงแค่หนึ่งตัวอักษรเท่านั้น), รองรับตัวเลขลบ, 64 บิต และตัวเลขฐานสิบหก, ลูปที่ดีขึ้น (ก้าว, ย้อนกลับ, ใช้เวลา, เป็นต้น), การอ่านเขียนไฟล์, และความรองรับอุปกรณ์ฮาร์ดแวร์เพิ่มเติมเช่น I2C, SPI, Bluetooth, USB คีย์บอร์ด เป็นต้น
สามารถพบซอร์สโค้ดและรายละเอียดเพิ่มเติบน GitHub และวิดีโอแนะนำในช่อง YouTube ของ Gary Explains
หมายเหตุ โปรเจคนี้ไม่ใช่ BASIC interpreter โปรแกรมเดียวสำหรับ Raspberry Pi Pico ยังมีโปรเจคอื่น ๆ อย่างเช่น PicoMite ที่ใช้ MMBasic interpreter ฟรี และ JustPicoBasic โดย bgolab
แปลจากบทความภาษาอังกฤษ : PiccoloBASIC – A BASIC interpreter for the Raspberry Pi Pico board
บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT