2019年2月11日 星期一

ROSA 系統開發 64 ─ 日期時間的顯示

https://4rdp.blogspot.com/2019/02/rosa-64.html?m=0


ROSA 系統函式庫化,跟其它 Arduino 函式庫是有些差異的,因為一般的 Arduino 函式庫採取草稿碼 / 匯入程式庫 / 加入 ZIP 程式庫,然後 ino 主程式 #include <...> 就可以使用這些程式庫,而 ROSA 的函式庫是不匯入程式庫的,為什麼要這麼做?因為 ROSA 的函式庫跟其它函式庫不同在它會去含入外部定義的資料,這使得 ROSA 的函式庫必須跟主程式在同一目錄下。

這個新版程式的函式庫先設計兩個:ROSA_TIMER.cpp 及 ROSA_DISPLAY.cpp
顧名思義,TIMER 處理時間與日期,DISPLAY 處理顯示部分,

// (C) 2019, Bridan Wang, CC BY-NC-SA 3.0 TW
// This is a demo program applied Robot Operation System for Arduino
// http://4rdp.blogspot.tw/search/label/ROSA%20(Arduino)

//軟件許可協議
//
//研發養成所 Bridan Wang 提供此軟體供學校教育或個人單獨使用
//對外分享展示本軟體時,請說明來源來自研發養成所
//你可以架構在本軟體基礎上,設計新功能或修改
//本軟體屬於 Bridan 和或其它原始碼供應商,並受適用的法律版權保護
//此軟體按“原樣”提供,可能含有錯誤,不作任何明示,暗示或法律的保證
//本軟體僅限 Arduino 部分微控制器產品,適用於特定用途
// Bridan 在任何情況、環境以及特殊使用不負任何原因損害賠償責任
//
//這是 ROSA 韌體版本的一部分。
//
//建議使用 Arduino-1.8.8 以後版本編譯,因為有發現之前版本有錯誤情形

/***********************************************************
// Include
************************************************************/
#include "ROSA_DEFINE.h"
#include ".\ROSA\ROSA_TIMER.cpp"
#include ".\ROSA\ROSA_DISPLAY.cpp"

/***********************************************************
// Main Program
************************************************************/
void setup() {
  ROSA_TIMER_SETUP();
  ROSA_DISPLAY_SETUP();
}

void loop() 
{
  ROSA_TIMER_RUNNING();
}

/***********************************************************
// SYSTEM TIMER
************************************************************/
void TIMER_2ms()
{
}

void TIMER_10ms()
{
}

void TIMER_100ms()
{
}

void TIMER_1sec()
{
   ROSA_DISPLAY_LOOP();
   ROSA_DISPLAY_DATE();
   ROSA_DISPLAY_TIME();
}

ROSA 系統可以處理的年份範圍為 2000 ~ 2255,有潤年處理功能,另外在編譯過程中,發現 Arduino 1.8.5 有 bug,在跨月份時,日期與月份會歸零,這問題 Arduino 1.8.8 已解決。

本程式放在 ROSA_v2019.1.7.zip,有興趣的朋友可以透過下列連結取得:
https://docs.google.com/forms/d/e/1FAIpQLScqMLIi7bPF-XLTFVplfGU6lGte1P2Y7Sjur4lC_kDZDyYEEw/viewform

沒有留言:

張貼留言