通過鍊錶資料結構,把裝置鏈起來,方便資料實時動態增加和刪除
但鍊錶資料結構在記憶體中單獨開闢了空間,通過函式實現同全域性裝置資料機構之間的更新
鍊錶的功能包含了:建立頭結點,增加、查詢、刪除結點
link_pro.h
#ifndef __sl2000_link_h_
#define __sl2000_link_h_
struct sys_dev * create(struct sys_dev main_dev);
struct sys_dev * delete(struct sys_dev * head,int type);
struct sys_dev * insert(struct sys_dev *head,struct sys_dev new_dev);
void dev_print(struct sys_dev *head);
struct sys_dev * stu_to_link(struct sys_dev * head);
void link_to_stu(struct sys_dev *head);
int find_id(char id,struct sys_dev * head,struct sys_dev *dev);
struct sys_dev * get_dev_id(char id,struct sys_dev *head);
#endif
link_pro.c
#include "config.h"
#include "link_pro.h"
extern struct sys_all g_dev[1];
struct sys_dev *create(struct sys_dev main_dev)
struct sys_dev * insert(struct sys_dev * head, struct sys_dev new_dev)
pfind->next=pnew;
} printf("plink insert ok...\n");
return head; }
struct sys_dev * delete(struct sys_dev * head,int type)
while(pfind->node.type!=type && pfind->next!=null)
if(pfind->node.type==type)
else
free(pfind);
printf("%d type of device has been deleted!\n",type);
}else
return head;
}void dev_print(struct sys_dev * head)
else
} }struct sys_dev * stu_to_link(struct sys_dev * head)
return head;
}void link_to_stu(struct sys_dev * head)
else }}
int find_id(char id, struct sys_dev * head, struct sys_dev * dev)
else
p=p->next;
}
} return 0;
}struct sys_dev * get_dev_id(char id, struct sys_dev * head)
else
p=p->next;
}
} return null;
}
基於ARM的智慧型燈光控制系統總結(1 專案介紹)
系統硬體 主控模組 nanopi s2 cortex a9 四核s5p4418 5v轉3.3v模組 光感 聲感 5v繼電器 麵包板及led燈 串列埠轉usb除錯介面等 無線網路模組 tiny6410 arm11 三星s3c6410 紅外感測 繼電器 麵包板及led燈 先看整體效果,主控程式的為znk...
基於ARM的智慧型家居遠端控制系統設計
隨著網際網路技術和資訊通訊技術向普通家庭生活的不斷普及,如何將消費電子 計算機和通訊融為一體,已成為人們非常關心的乙個問題。智慧型家電網路管理系統能夠實現家用電器的網路化 智慧型化管理。通過該系統將家中的網路電器與網際網路和gprs網路相連,這樣無論何時何地,使用者都可以通過該系統遠端操縱家用電器。...
智慧型工業監管控制系統
智慧型工業監管控制系統 以遵化海祥機械專案為例 一 專案背景 1 隨著工業4.0 中國製造2025等概念的提出,從 到地方鼓勵工業企業開啟網際網路 模式,使用工業物聯網平台 上雲 解決生產中的各種問題。2 海祥機械廠為傳統工業企業,以往生產過程主要靠人工現場監控,但需要監控的裝置 指示燈眾多,人力成...