freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于cortex-a8的家庭智能安防系統(tǒng)(編輯修改稿)

2025-02-14 14:13 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 mp_init(void){ int fd。 = 0。 = 0。 = 0。 led_init()。 fd = open (DEV_NAME, O_RDWR)。 if (fd 0) { perror(open)。 exit(EXIT_FAILURE)。 } = fd。 printf(\ntemp init finished!\n)。 return 0。 }。 函數(shù)功能:模塊初始化函數(shù):(2)extern float get_temper(void){數(shù)據(jù)處理:右移七位*2current_temp = ((float) (buff[0]7)/2)。highpoint = buff[1]8。lowpoint = buff[2]8。}。函數(shù)功能:讀取溫度接口:(3) extern int get_highpoint(void){ read_temper()。 return 。}。函數(shù)功能:獲取報(bào)警溫度(4) extern int set_temper(int Highpoint, int Lowpoint){ if(Highpoint Lowpoint + 5 || !Lowpoint) Lowpoint = Highpoint 5。 ioctl(, SET_OS, Highpoint)。 ioctl(, SET_HYST, Lowpoint)。 Highpoint = 0。 Lowpoint = 0。 return 0。}。函數(shù)功能:設(shè)置報(bào)警溫度第4章 蜂鳴器、LED模塊 蜂鳴器模塊說(shuō)明圖 7 由于這個(gè)蜂鳴器是無(wú)源的,所以要想使其產(chǎn)生聲音必須給他提供一個(gè)有一定頻率的高低電平。所以這里我們采用S5PC100的PWM定時(shí)器來(lái)使蜂鳴器發(fā)出聲音。在S5PC100中,有兩個(gè)寄存器,TCNTB0、TCMPB0,TCNTB0表示計(jì)數(shù)器從TCNTB0對(duì)應(yīng)的值開(kāi)始遞減,當(dāng)其遞減到TCMPB0時(shí),電平翻轉(zhuǎn)。當(dāng)逆變器未使能時(shí),從TCNTB0減到TCMPB0時(shí)候TOUT輸出高電平,而從TCMPB0到0時(shí)輸出低電平。由此可知,當(dāng)TCMPB0相同時(shí),TCNTB0值越大聲音越低,反之越尖。首先是beep的初始化:static void beep_init(void){ writel((readl(S5PC100_GPD_BASE) amp。 (~0xF 4)) | (0x2 4), S5PC100_GPD_BASE)。 writel((readl(S3C2410_TCFG0) amp。 ~0xff), S3C2410_TCFG0)。 writel((readl(S3C2410_TCFG1) amp。 ~(0xf 4) | (0x1 4)), S3C2410_TCFG1)。 writel(t_def, S3C2410_TCNTB(1))。 writel(t_def/2, S3C2410_TCMPB(1))。 writel((readl(S3C2410_TCON) amp。 ~(0xf8)) | (0xe8), S3C2410_TCON)。}設(shè)備類型為字符設(shè)備,系統(tǒng)自動(dòng)分配設(shè)備號(hào)和創(chuàng)建設(shè)備節(jié)點(diǎn),提供的系統(tǒng)調(diào)用接口:static struct file_operations s5pc100_pwm_ops = { .owner = THIS_MODULE, .open = s5pc100_pwm_open, .release = s5pc100_pwm_close, .ioctl = s5pc100_pwm_ioctl}。打開(kāi)(open)static int s5pc100_pwm_open(struct inode *inode, struct file *file)關(guān)閉(release)static int s5pc100_pwm_close(struct inode *inode, struct file *file)IO控制(ioctl)(定義CMD碼,控制蜂鳴器鳴在什么情況下叫)。static int s5pc100_pwm_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)開(kāi)蜂鳴器:static void beep_on(void){ writel((readl(S3C2410_TCON) amp。 ~(0xf8)) | (0xd8), S3C2410_TCON)。}關(guān)蜂鳴器:static void beep_off(void){ writel((readl(S3C2410_TCON) amp。 ~(0xf8)), S3C2410_TCON)。}定義CMD碼:define SET_CNT _IO(39。k39。, 2)define SET_PRE _IO(39。k39。, 3)1. 改寫(xiě)Kconfigconfig PWM_BEEP tristate PWM_BEEP Device Support depends on ARCH_S5PC100 help support beep test on FSC100 board2. 修改Makefile添加obj$(CONFIG_PWM_BEEP) += 3. $ make menuconfigDevice Drivers Character devices * PWM_BEEP Device Support4. 重新編譯內(nèi)核用戶接口提供了兩種不同的報(bào)警聲音(溫度報(bào)警和非法闖入報(bào)警),應(yīng)用層采用了多線程模式,該模塊唄初始化的時(shí)候會(huì)自動(dòng)創(chuàng)建兩個(gè)線程,同時(shí)打開(kāi)蜂鳴器設(shè)備,并進(jìn)入阻塞態(tài),等待喚醒信號(hào);當(dāng)溫度超過(guò)用戶設(shè)定的報(bào)警溫度或者有不明身份的闖入者,都會(huì)觸發(fā)喚醒相應(yīng)的beep線程,立即報(bào)警。(1)extern int beep_init(void)。 函數(shù)功能:初始化蜂鳴器模塊,創(chuàng)建線程(2)extern int beep_on(void)。 /*The temper is beyound expected!*/ 函數(shù)功能:溫度報(bào)警接口(3)extern int beep_on2(void)。 /*Here is someone came into!*/ 函數(shù)功能:有人闖入時(shí)報(bào)警接口(4)extern int beep_off(void)。 函數(shù)功能:關(guān)閉蜂鳴器 LED功能模塊說(shuō)明圖 8 LED模塊功能說(shuō)明在S5PC100的板子上一共有4盞燈,在本次LED的模塊開(kāi)發(fā)中,把4盞燈都加以運(yùn)用,在驅(qū)動(dòng)的實(shí)現(xiàn)中通過(guò)cmd碼的實(shí)現(xiàn)對(duì)燈的亮或滅的控制;通過(guò)arg這個(gè)參數(shù)實(shí)現(xiàn)對(duì)指定燈的控制;static int s5pc100_led_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg);通過(guò)LED的電路原理圖可知,要實(shí)現(xiàn)對(duì)LED的控制就是實(shí)現(xiàn)對(duì)GPG3寄存器的控制。通過(guò)查看S5PC100的用戶手冊(cè),知道GPG3是一個(gè)復(fù)用寄存器,因此需要改變GPG3的端口狀態(tài)為Output狀態(tài)。在往GPF3DAT數(shù)據(jù)寄存器寫(xiě)入1,即可點(diǎn)亮LED燈。//LED燈的初始化既將GPG3置為Output狀態(tài)static void led_init(void){ writel((readl(S5PC100_GPG3_BASE) amp。 (~0XFFFF)) | (0X1111),S5PC100_GPG3_BASE)。}//點(diǎn)亮對(duì)應(yīng)的LED燈static void led_on(char flag){ switch(flag){ case 0: writel((readl(S5PC100_GPG3_BASE + 0x4) amp。(~0x1) ) | (0x1),S5PC100_GPG3_BASE + 0x4)。 break。...... }}//關(guān)閉對(duì)應(yīng)的LED燈static void led_off(char flag){ switch(flag){ case 0: writel((readl(S5PC100_GPG3_BASE + 0x4) ) amp。 ( ~ 0x1),S5PC100_GPG3_BASE + 0x4)。 break。...... }}//LED的操作控制 cmd:亮或滅的控制 ;arg:對(duì)應(yīng)燈的控制;static int s5pc100_led_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg){ switch(cmd) { case LED_ON: led_on((char)arg)。 break。 case LED_OFF: led_off((char)arg)。 break。 default: break。 } return 0。}//Cmd控制碼。define LED_ON _IO(39。k39。, 0)define LED_OFF _IO(39。k39。, 1)//把對(duì)應(yīng)的燈點(diǎn)亮;void led_on(const int )。//把對(duì)應(yīng)燈滅 void led_off(const int )。注:形參為對(duì)應(yīng)的燈號(hào);編號(hào)為:0/1/2/3第5章 web模塊 功能模塊實(shí)現(xiàn)設(shè)計(jì)系統(tǒng)登錄模塊1) 對(duì)用戶身份進(jìn)行驗(yàn)證用戶輸入用戶名2) 3) 對(duì)用戶身份進(jìn)行驗(yàn)證用戶輸入密碼。模塊背景描述:1. 為了提高當(dāng)前系統(tǒng)的安全性能,當(dāng)用戶輸入用戶名而沒(méi)有輸入密碼或者密碼小于6位數(shù)的時(shí)候,就彈出alert提示用戶輸入信息不全,當(dāng)輸入密碼而沒(méi)有輸入用戶名的時(shí)候,會(huì)提示用戶完成用戶名補(bǔ)全。當(dāng)前系統(tǒng)默認(rèn)用戶名為username,密碼為123456,通過(guò)此用戶名和密碼可以直接登錄。2. 點(diǎn)擊LOGIN的時(shí)候驗(yàn)證通過(guò)就進(jìn)入控制總界面。驗(yàn)證不通過(guò):密碼將會(huì)清空;點(diǎn)擊RESET按鈕則直接清空用戶名框和密碼框;后臺(tái)全部使用cgi作為驗(yàn)證,驗(yàn)證通過(guò)則進(jìn)入主界面控制安防系統(tǒng)。模塊算法設(shè)計(jì):1. 入口說(shuō)明:用戶通過(guò)用戶界面點(diǎn)擊按鈕LOGIN鏈接。2. 輸入?yún)?shù):記錄的用戶name和pasword3. 出口說(shuō)明:驗(yàn)證通過(guò)則進(jìn)入系統(tǒng)。不通過(guò)則返回登錄界面調(diào)用參數(shù)的描述:1. 輸入用戶名username:該數(shù)據(jù)由數(shù)據(jù)庫(kù)提供。2. 輸入密碼password: 該數(shù)據(jù)由數(shù)據(jù)庫(kù)提供.登錄數(shù)據(jù)流:1) 要使用到G001系統(tǒng)登錄模塊func_login();接口作為驗(yàn)證信息。用戶登錄界面圖例:圖 9 設(shè)置頁(yè)面:圖 10 視頻顯示頁(yè)面:圖 11 控制頁(yè)面:圖 12 Web頁(yè)面所用技術(shù):為了能讓一些出差人士,和在外工作的人員有一個(gè)舒適安全的家園,項(xiàng)目加上了一個(gè)web界面來(lái)控制家里的服務(wù)器, 所用技術(shù):css布局,javascript驗(yàn)證判斷,每次傳入后臺(tái)的name只有一個(gè),后臺(tái)cgi取得最這個(gè)名字之后就可以操作服務(wù)器做用戶對(duì)應(yīng)的事件驅(qū)動(dòng),用一組form表單,通過(guò)javascript來(lái)控制表單提交項(xiàng)為一項(xiàng)function check_button(string button_value){ (submit_button).value=button_value。 return true。} CGI(mon gateway interface)通信模塊:功能:作為web的后臺(tái)驗(yàn)證信息,主要負(fù)責(zé)調(diào)用各種數(shù)據(jù)接口和和數(shù)據(jù)庫(kù)銜接。工作流程: 通過(guò)web頁(yè)面得到用戶輸入的信息,此信息通過(guò)boa服務(wù)器直接傳給了cgi程序,捕獲該信息之后保存數(shù)據(jù)到環(huán)境變量,cgi根據(jù)用戶提交的信息,分別調(diào)用查詢(更新)數(shù)據(jù)庫(kù)里面的不同表之間的信息。最后確認(rèn)用戶需要插入或者更新的數(shù)據(jù)。并對(duì)應(yīng)改之。 Boa移植Boa網(wǎng)絡(luò)服務(wù)器224。搭建成功,測(cè)試順利通過(guò). 處理說(shuō)明: 1.,解壓并進(jìn)入源碼目錄的src子目錄。進(jìn)行編譯 tar xzf 2.交叉編譯BOA,直接在操作系統(tǒng)公用用戶上運(yùn)行.3.配置BOA,Boa需要在/etc目錄下建立一個(gè)boa目錄。,可以在其基礎(chǔ)上進(jìn)行修改。1.Group nogroup修改成Group 0,由于在/etc/group文件中沒(méi)有nogroup組,所以設(shè)成0,另外在/etc/passwd中有nobody用戶,所以User nobody不用修改。2.ScriptAlias /cgibin/ /usr/lib/cgibin/ 修改成 ScriptAlias /cgibin/ /var//cgibin/其它默認(rèn)設(shè)置即可。還需要?jiǎng)?chuàng)建日志文件所在目錄/var/log/boa,創(chuàng)建HTML文檔的主目錄/var/,將靜態(tài)網(wǎng)頁(yè)存入該目錄下(可以將主機(jī)/usr/share/doc/HTML/),創(chuàng)建CGI腳本所在目錄/var//cgibin,將cgi的腳本存放在該目錄下。,通常可以從linux主機(jī)的/etc目錄下直接復(fù)制即可。成功配置以后,還需要?jiǎng)?chuàng)建日志文件所在目錄/var/l
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1