【オリジナル】簡単なkey-valueのメモリデータベースで、mcu上で実行できます.
stringを格納し、格納し、取得できる非常に簡単なメモリデータベースと考えることができます.1.単片機で走ることができます.2.インタフェースはとても簡単です.
ucomlib
A simple key-value memory database
1.インタフェース定義
ucomlibインタフェースは主に以下のとおりです.初期化および非初期化. データ読み出しおよび記憶インタフェース. タイムアウトメカニズム.
1.1初期化と非初期化
1.2データ読出しと記憶インタフェース
1.3タイムアウトメカニズム関連.
タイムアウト処理機能には、ユーザーがタイムアウト処理関数を実装し、インタフェースを呼び出す必要があります.
を選択して設定できます.
ユーザのタイミングプログラムで呼び出す必要があります.
カウントを更新してタイムアウトイベントを開始します
1.5ユーザーが実現するコールバック関数
1.イベント(タイムアウト)処理関数
2.反発ロック
MCUではオフ割り込みとオン割り込みで実現でき、linuxではスレッドロックpthread_mutex_t.
3.コマンド(応答)処理関数:
2.適用例:
ここでは、同時環境アクセスの簡単な例を実現します.コード:
main.c
ucomlib
A simple key-value memory database
1.インタフェース定義
ucomlibインタフェースは主に以下のとおりです.
1.1初期化と非初期化
int CommuInit(void);
1.2データ読出しと記憶インタフェース
int CommSaveMsg(const int msgId,const char *msgData,unsigned int dataLen)
:
:
msgId: ID
msgData:
dataLen:
int CommGetMsg(const int msgId,char *msgData,unsigned int* pDataLen)
:
( )
:
msgId: ID
msgData:
pDataLen:
1.3タイムアウトメカニズム関連.
タイムアウト処理機能には、ユーザーがタイムアウト処理関数を実装し、インタフェースを呼び出す必要があります.
int CommSetEventHandler(EVENT_HANDLER ev)
を選択して設定できます.
ユーザのタイミングプログラムで呼び出す必要があります.
int OnTimer()
カウントを更新してタイムアウトイベントを開始します
1.5ユーザーが実現するコールバック関数
1.イベント(タイムアウト)処理関数
:typedef int (*EVENT_HANDLER)(const int event,const int msgId)
2.反発ロック
int CRITICAL_INIT();
void ENTER_CRITICAL();
void EXIT_CRITICAL();
int CRITICAL_DEINIT();
MCUではオフ割り込みとオン割り込みで実現でき、linuxではスレッドロックpthread_mutex_t.
3.コマンド(応答)処理関数:
:typedef int (*command_handler_t)(void *para)。
2.適用例:
ここでは、同時環境アクセスの簡単な例を実現します.コード:
main.c