国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

合肥中科深谷嵌入式項目實戰(zhàn)——基于ARM語音識別的智能家居系統(tǒng)(二)

這篇具有很好參考價值的文章主要介紹了合肥中科深谷嵌入式項目實戰(zhàn)——基于ARM語音識別的智能家居系統(tǒng)(二)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

基于ARM語音識別的智能家居系統(tǒng)

練習一

一、程序編譯

練習二:

二、文件IO

三、文件IO常用API接口函數(shù)

1、打開文件 open()

2、將數(shù)據(jù)內(nèi)容寫入文件 write()

3、關(guān)閉(保存)文件

四、編程示例

總結(jié)


基于ARM語音識別的智能家居系統(tǒng)

我們上一篇講了,關(guān)于Linux系統(tǒng)的一些質(zhì)量,今天,我們實現(xiàn)在Linux系統(tǒng)下編譯程序,我們通過兩個小練習來熟悉一下。

練習一

熟悉基本命令的使用:
?? ?1、在用戶桌面目錄下新建一個目錄文件 demo/。
? ? 2、在該目錄 demo/下新建一個普通文件 hello.c。
? ? 3、修改文件hello.c的權(quán)限為:
? ? ?? ?對用戶可讀可寫可執(zhí)行 ? ? rwx ? 7
? ? ?? ?對同組用戶可寫可執(zhí)行 ? ? -wx ? 3
? ? ?? ?對其他用戶可讀 ? ? ? ? ?r-- ? 4
? ? 4、將該目錄 demo/ 拷貝到根目錄下。

合肥中科深谷嵌入式項目實戰(zhàn)——基于ARM語音識別的智能家居系統(tǒng)(二),合肥中科深谷嵌入式項目實戰(zhàn),智能家居,嵌入式硬件,stm32,arm開發(fā)

一、程序編譯

我們編寫程序?qū)崿F(xiàn)輸出hello world!!,相信大家這里的程序都會寫。

//#include <stdio.h>   //宏:包含導入c語言標準輸入輸出頭文件

int main()   //程序入口
{
	printf("hello world!!\n");   //在終端上打印 hello world!! 字符串 
	
	return 0;
}

合肥中科深谷嵌入式項目實戰(zhàn)——基于ARM語音識別的智能家居系統(tǒng)(二),合肥中科深谷嵌入式項目實戰(zhàn),智能家居,嵌入式硬件,stm32,arm開發(fā)

gcc: 編譯器、編譯c語言的工具。

編譯: gcc hello.c    編譯得到一個可執(zhí)行文件 a.out
執(zhí)行: ./可執(zhí)行文件   ./a.out
gcc hello.c -o bin
-o:將可執(zhí)行文件重命名為bin,方便使用,防止文件覆蓋。

?我們在Linux系統(tǒng)中,運行g(shù)cc hello.c可以得到一個.out文件。如果程序有錯,就會提示哪里有錯。下面是GCC編譯器的介紹:?

GCC(GNU Compiler Collection)是一款免費的開源編譯器,支持多種編程語言,例如C、C++、Objective-C、Fortran、Ada等。它是許多操作系統(tǒng)和軟件的基石,包括GNU/Linux、Mac OS X、FreeBSD等。由于GCC的廣泛應(yīng)用和社區(qū)的龐大,它成為了業(yè)內(nèi)最流行和廣泛使用的編譯器之一。

GCC(GNU Compiler Collection)是一款免費的開源編譯器,支持多種編程語言,例如C、C++、Objective-C、Fortran、Ada等。它是許多操作系統(tǒng)和軟件的基石,包括GNU/Linux、Mac OS X、FreeBSD等。由于GCC的廣泛應(yīng)用和社區(qū)的龐大,它成為了業(yè)內(nèi)最流行和廣泛使用的編譯器之一。

?

合肥中科深谷嵌入式項目實戰(zhàn)——基于ARM語音識別的智能家居系統(tǒng)(二),合肥中科深谷嵌入式項目實戰(zhàn),智能家居,嵌入式硬件,stm32,arm開發(fā)

?

練習二:

?? ?使用?? ?notpad++編寫C程序,實現(xiàn)打印自己的姓名+學校+專業(yè)。在Ubuntu共享目錄中,編譯運行。
?? ?拓展:打印99乘法表(循環(huán))。

我們這里的程序都比較簡單,我就直接展示代碼,這里主要是來練習如何用GCC編譯程序,熟悉這個過程。

#include <stdio.h> 

int main()  
{
	int i, j;
	for(i = 1; i<=9; i++)
	{
		for(j = 1; j<=i; j++)
		{
			printf("%dx%d=%d ", i, j, i*j);
		}
		printf("\n");
	}
	
	return 0;
}

合肥中科深谷嵌入式項目實戰(zhàn)——基于ARM語音識別的智能家居系統(tǒng)(二),合肥中科深谷嵌入式項目實戰(zhàn),智能家居,嵌入式硬件,stm32,arm開發(fā)

如果你得到的結(jié)果和我一模一樣,就說明,你已經(jīng)掌握了這個方法,接下來,我們介紹文件。

二、文件IO

什么是文件?
    文件就是存放數(shù)據(jù)的集合。
    比如:.txt文件 .bmp文件 ? .jpg文件、、、、


Unix/Linux對數(shù)據(jù)文件(*.mp3、*.bmp),程序文件(*.c、*.h、*.o),設(shè)備文件(LCD、觸摸屏、鼠標),網(wǎng)絡(luò)文件( socket ) 等的管理都抽象為文件,使用統(tǒng)一的方式方法管理。

在Linux系統(tǒng)中,一切皆是文件!!!

控制一個LCD屏幕設(shè)備----》控制LCD設(shè)備對應(yīng)的設(shè)備文件---》文件IO

三、文件IO常用API接口函數(shù)

打開文件----》對文件進行讀/寫操作-----》關(guān)閉(保存)文件

1、打開文件 open()

頭文件:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

函數(shù)原型:
    int open(const char *pathname, int flags);
參數(shù)列表:
    const char *pathname:需要打開的文件路徑的字符串  "./1.txt"
     int flags: 打開文件的方式
         O_RDONLY 以只讀方式打開文件
         O_WRONLY 以只寫方式打開文件
         O_RDWR   以可讀寫方式打開文件
返回值:
        失?。?-1,錯誤碼errno被設(shè)置。
        成功:返回一個新的文件描述符(文件的唯一標識符,遙控器)
        我們就可以通過這個文件描述符操縱這個文件。

2、將數(shù)據(jù)內(nèi)容寫入文件 write()

頭文件:
	#include <unistd.h>

函數(shù)原型:
    ssize_t write(int fd, const void *buf, size_t count);
從buf寫入數(shù)據(jù)的內(nèi)存緩沖區(qū)中  取count個字節(jié)數(shù)據(jù)  寫入fd指代的文件中
參數(shù)列表:
    int fd:需要寫入數(shù)據(jù)的目標文件的文件描述符,就是open函數(shù)的返回值。
    const void *buf:臨時存放待寫入的數(shù)據(jù)的內(nèi)存緩沖區(qū)
    size_t count:寫入的數(shù)據(jù)字節(jié)大小
    
返回值:
        失?。?-1,錯誤碼errno被設(shè)置。
        成功:返回實際寫入的字節(jié)個數(shù)。

3、關(guān)閉(保存)文件

頭文件:
	#include <unistd.h>
函數(shù)原型:
    int close(int fd);
參數(shù)列表:
	int fd: 需要關(guān)閉的目標文件的文件描述符。
返回值:
	成功:返回0;
	失?。悍祷?1,錯誤碼errno被設(shè)置。

四、編程示例

#include <stdio.h> 
#include <sys/types.h>  //open()
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>    //write()

int main()  
{
	//1、打開文件 1.txt
	int fd = open("./1.txt", O_RDWR);
	if(fd == -1)
	{
		//printf("open file failed!");
		perror("open file failed!");  //通過錯誤碼打印錯誤信息
		return -1;   //程序非正常結(jié)束
	}
	
	//2、向文件中寫入數(shù)據(jù)
	char buf[50] = "好好學習,天天向上!";
	int w_size = write(fd, buf, 50);
	printf("返回實際寫入的字節(jié)個數(shù): %d\n", w_size);
	
	//3、保存退出
	close(fd);

	return 0;
}
  • //1、打開文件 1.txt:這是打開文件的部分。它嘗試打開當前目錄下的"1.txt"文件,如果文件不存在,則返回-1。
  • //通過錯誤碼打印錯誤信息:這是錯誤處理的代碼。如果在打開文件過程中發(fā)生錯誤,它會打印錯誤信息并返回-1。
  • //2、向文件中寫入數(shù)據(jù):這是向文件寫入數(shù)據(jù)的部分。它創(chuàng)建一個字符數(shù)組buf,并寫入"好好學習,天天向上!"這句話。然后使用write()函數(shù)將buf的內(nèi)容寫入到文件中。
  • //返回實際寫入的字節(jié)個數(shù): %d:這是打印實際寫入文件字節(jié)數(shù)的部分。
  • //3、保存退出:這是關(guān)閉文件的部分。在寫入數(shù)據(jù)后,使用close()函數(shù)關(guān)閉文件。

我們這里實現(xiàn)了打開文件,寫入文件的,最后關(guān)閉文件,今天的程序難度不大,主要還是熟悉操作。

總結(jié)

今天,我們主要熟悉了用GCC來編譯程序和對文件的相關(guān)操作。下一篇,我們來介紹在led屏幕上顯示圖片。文章來源地址http://www.zghlxwxcb.cn/news/detail-756990.html

到了這里,關(guān)于合肥中科深谷嵌入式項目實戰(zhàn)——基于ARM語音識別的智能家居系統(tǒng)(二)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 初級嵌入式軟件工程師養(yǎng)成記(學習路線+學習資源+實戰(zhàn)項目匯總)

    初級嵌入式軟件工程師養(yǎng)成記(學習路線+學習資源+實戰(zhàn)項目匯總)

    我的圈子: 高級工程師聚集地 我是董哥,高級嵌入式軟件開發(fā)工程師,從事嵌入式Linux驅(qū)動開發(fā)和系統(tǒng)開發(fā),曾就職于世界500強企業(yè)! 創(chuàng)作理念:專注分享高質(zhì)量嵌入式文章,讓大家讀有所得! 世界這么大,還是遇見你… 大家好,我是董哥,一名嵌入式 Linux 開發(fā)工程師,

    2024年02月13日
    瀏覽(96)
  • 【嵌入式項目】基于ARM+Linux的車載系統(tǒng)(完整工程資料源碼)

    【嵌入式項目】基于ARM+Linux的車載系統(tǒng)(完整工程資料源碼)

    ????????基于ARM+Linux的車載系統(tǒng)演示效果 基于ARM+Linux的車載系統(tǒng) ????????本項目計劃主要應(yīng)用于家用,辦公等領(lǐng)域轎車中實施的基于物聯(lián)網(wǎng)云平臺的車載系統(tǒng)項目,既能夠為車主在行駛過程中提供舒適的體驗,又能提供一定的安全保障。??? ????????基于ARM+Linux的車

    2024年03月26日
    瀏覽(88)
  • 【項目設(shè)計】基于STM32人臉識別系統(tǒng) - 單片機 物聯(lián)網(wǎng) 嵌入式

    【項目設(shè)計】基于STM32人臉識別系統(tǒng) - 單片機 物聯(lián)網(wǎng) 嵌入式

    項目設(shè)計主要是對于所學知識的整體回顧,需要結(jié)合各個學科,才能做出達到符合標準的設(shè)計。 文章的目的在分享優(yōu)質(zhì)的項目以及項目經(jīng)驗,提供設(shè)計思路,歡迎交流與指正不足之處。 由于人臉識別技術(shù)具有無需接觸、安全性高、可靠性高等優(yōu)點,在身份認證領(lǐng)域具有廣闊

    2024年01月21日
    瀏覽(98)
  • 嵌入式-stm32-基于HAL庫的感應(yīng)開關(guān)蓋垃圾桶項目(開源)

    嵌入式-stm32-基于HAL庫的感應(yīng)開關(guān)蓋垃圾桶項目(開源)

    網(wǎng)盤資料: 《嵌入式-stm32-基于HAL庫的感應(yīng)開關(guān)蓋垃圾桶項目(開源)》 鏈接:https://pan.baidu.com/s/1kFk09nMKPDvLwIUqMT9q3w 提取碼:og66 –來自百度網(wǎng)盤超級會員V6的分享 一:項目概述 二:材料準備 三:細節(jié)分析(重點) 四:Stm32CubeMx操作步驟以及實現(xiàn)細節(jié) 五:Keil5業(yè)務(wù)邏輯代碼編

    2024年02月03日
    瀏覽(89)
  • 嵌入式系統(tǒng)項目設(shè)計——基于LED、按鍵、蜂鳴器的打地鼠游戲(完整代碼)

    嵌入式系統(tǒng)項目設(shè)計——基于LED、按鍵、蜂鳴器的打地鼠游戲(完整代碼)

    內(nèi)容摘自上學期嵌入式系統(tǒng)課程設(shè)計最終的實驗報告,因為CSDN不支持上傳word資料,所以我就摘錄下來寫進文章里了,希望可以幫助到你 1.1選題背景 打地鼠游戲是一種非常受小孩子歡迎的游戲,擁有數(shù)量極其廣大的受眾,所以它的市場前景非常廣闊。當今社會雖然存在各種各

    2024年02月09日
    瀏覽(99)
  • C/C++|物聯(lián)網(wǎng)開發(fā)入門+項目實戰(zhàn)|指針|嵌入式C語言高級|C語言內(nèi)存空間的使用-學習筆記(9)

    C/C++|物聯(lián)網(wǎng)開發(fā)入門+項目實戰(zhàn)|指針|嵌入式C語言高級|C語言內(nèi)存空間的使用-學習筆記(9)

    參考: 麥子學院-嵌入式C語言高級-內(nèi)存空間 內(nèi)存類型資源地址、門牌號的代名詞 指針:地址的代名詞 指針變量:存放指針這個概念的盒子 *P char *p *p; C語言娟譯器對指針這個特殊的概念,有2個疑問? 1、分配一個盒子,盒子要多大? 在32bit系統(tǒng)中,指針就4個字節(jié) 2、盤子里存放

    2023年04月22日
    瀏覽(104)
  • 物聯(lián)網(wǎng)項目分享 基于ESP32的在線墨水屏桌面擺件 -物聯(lián)網(wǎng) 單片機 嵌入式

    物聯(lián)網(wǎng)項目分享 基于ESP32的在線墨水屏桌面擺件 -物聯(lián)網(wǎng) 單片機 嵌入式

    hr style=\\\" border:solid; width:100px; height:1px;\\\" color=#000000 size=1\\\" ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最

    2024年02月21日
    瀏覽(96)
  • 嵌入式linux項目之智能倉儲(基于正點原子IMX6ULL開發(fā)板)

    嵌入式linux項目之智能倉儲(基于正點原子IMX6ULL開發(fā)板)

    提示:該項目根據(jù)華清遠見智能倉儲項目改版,將他的A9開發(fā)板換成了自己的IMX6ULL開發(fā)板。同時等我將該項目整個流程完成之后,會為大家附上適配正點原子linux開發(fā)板的全部代碼 (代碼資料和視頻教程私聊) 視頻教程 相應(yīng)課程配套源碼 本人其他項目鏈接基于linux的智能倉儲項

    2024年01月16日
    瀏覽(137)
  • 單片機項目分享 基于stm32的便攜用電功率統(tǒng)計系統(tǒng) -物聯(lián)網(wǎng) 嵌入式 單片機

    單片機項目分享 基于stm32的便攜用電功率統(tǒng)計系統(tǒng) -物聯(lián)網(wǎng) 嵌入式 單片機

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天

    2024年02月19日
    瀏覽(93)
  • 嵌入式linux物聯(lián)網(wǎng)畢業(yè)設(shè)計項目智能語音識別基于stm32mp157開發(fā)板

    嵌入式linux物聯(lián)網(wǎng)畢業(yè)設(shè)計項目智能語音識別基于stm32mp157開發(fā)板

    stm32mp157開發(fā)板FS-MP1A是華清遠見自主研發(fā)的一款高品質(zhì)、高性價比的Linux+單片機二合一的嵌入式教學級開發(fā)板。開發(fā)板搭載ST的STM32MP157高性能微處理器,集成2個Cortex-A7核和1個Cortex-M4 核,A7核上可以跑Linux操作系統(tǒng),M4核上可以跑FreeRTOS、RT-Thread等實時操作系統(tǒng)。開發(fā)板搭配仿真

    2024年02月02日
    瀏覽(102)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包