Esp8266 OLED
เคยเจอไหมต้องการให้จอแสดงผลในรูปแบบตัวเลขจาก หลายๆตัวแปร แต่ต้องเขียนโค๊ตยาวๆหลายบรรทัด ยิ่งตัวแปรมากก็ต้องเขียน .println มากบรรทัด
ดังนั้นจึงมีการอ้างอิงตัวแปร Buffer ขึ้นมาอีกหนึ่งตัวเพื่อใช้ในการเก็บค่าตัวแปร และใช้คำสั่ง sprintf ส่งค่าข้อมูลออก วิธีการนี้จะส่งผลให้ลดการทำงานของ CPU และ RAM ด้วย อีกทั้งลดคำสั่งการทำงานให้น้อยลง
เริ่มต้นการ Include และประกาศตัวแปร
เพิ่มมาจากกระทู้ก่อนหน้านี้ คือ
char oled_buffer[40] = ""
ประการตัวแปรใช้ในการเก็บข้อความ String
เริ่มต้นโปรแกรม ไม่มีอะไรมากแค่แสดงผลข้อความ
ส่วนของโปรแกรมหลัก
เขียนในรูปแบบของฟังก์ชั่นคืนค่าตัวแปร
โดยให้ตัวแปร Count ทำการนับตัวเลขบวกค่าไปเรื่อยๆ เมื่อครบ 1000 ให้กลับค่าไปเป็น 0
บรรทัดที 62 >> นำค่า varCount ซึ่งได้มาจากค่าตัวแปร Count(บรรทัดที่ 52) มาแสดงผล
%d คือ การแสดงผลจากตัวแปร int นั้นเอง
บรรทัดที 63 >> ส่งค่าตัวแปร oled_buffer ไปแสดงผล
หรือจะเขียนในรูปแบบนี้
คือ การนำทั้งข้อความ และตัวแปร มาแสดงผลในคำสั่งเดียวกัน
การเขียนโปรแกรมในรูปแบบการใช้ตัวแปร Buffer จะได้ผลก็ต่อเมื่อใช้ตัวแปรหลายๆตัวเพื่อมาแสดงผล เช่น แสดงค่าของ นาฬิกา ซึ่งมี 3 หลักด้วยกัน hr:min:sec หากเขียนโค๊ต print ที่ละบรรทัดก็จะหลายบรรทัด
https://www.facebook.com/dan.thummaratkmitl