? ? ? ? ? ? 在上一篇中,我們已經(jīng)完成了HAL層的開發(fā),那么framework層要如何調(diào)用它呢?答案是JNI(Java Native Interface)。JNI簡單來說就是java程序可以調(diào)用C/C++寫的動態(tài)鏈接庫。JNI的存在使得底層可以以C代碼的形式實現(xiàn),保持了高效率,上層又以java代碼的
點擊上方藍字關注我哦~ 01 前言 嵌入式軟件輸入采集較為常見有gpio讀取高低電平、ad讀取電壓值等,但是如果要采集一個頻率信號的頻率值,該如何采集? 02 采集頻率值 我們知道傳感器的輸出信號形式除了電壓電流,還有頻率,例如一些加速度傳感、轉(zhuǎn)速傳感器,
點擊上方藍字關注我哦~ 01 前言 前面的文章《基于STM32的DIY遙控小船制作》中使用的HX1838紅外遙控模塊確實是足夠便宜,但是實際用下來遙控距離太短,大概只有2米左右。外加必須指著才能遙控,在公共場合操作起來有些奇怪。 02 升級改造 在某寶上尋到了便宜
硬件抽象層介紹 + 硬件抽象層(Hardware Abstraction Layer,簡稱HAL)是介于android內(nèi)核kernel和上層之間的抽象出來的一層結構,是對Linux驅(qū)動的一個封裝,對上層提供統(tǒng)一接口,上層應用不必知道下層硬件具體怎么工作的,屏蔽了底層的實現(xiàn)細節(jié)。為什么有了 硬
為了更好的理解安卓的層次關系,本文在RK3399的安卓系統(tǒng)上增加LED燈的外設,并使用APP打開關閉LED燈。以這樣一個最簡單的實例,來演示從上層到底層的調(diào)用過程。首先從最底層的kernel層開始。 一、驅(qū)動開發(fā) Kernel層就是要將LED硬件接入到系統(tǒng),完成驅(qū)動的開發(fā)
堆棧的基本概念 堆棧是一種特殊的線性表,堆棧的數(shù)據(jù)元素以及數(shù)據(jù)元素間的邏輯關系和線性表完全相同,其差別是:線性表允許在任意位置插入和刪除數(shù)據(jù)元素操作,而堆棧只允許在固定一端進行插入和刪除數(shù)據(jù)元素操作 根據(jù)堆棧的定義,每次進棧的數(shù)據(jù)元素都放在原
點擊上方藍字關注我哦~ 01 前言 在嵌入式軟件的開發(fā)中,串口是十分常用且基礎的功能。在需要批量發(fā)送數(shù)據(jù)的場合,可以使用while循環(huán)等待發(fā)送完成標志位的方式,但是這種方式會占據(jù)主循環(huán),影響效率。也可以采用dma的方式,但是dma在發(fā)送數(shù)據(jù)時非常高效,但是
點擊上方藍字關注我哦~ 01 前言 STM32上hello world,說白了就是使用串口向PC上的上位機軟件或者串口調(diào)試助手發(fā)送字符串。 串口的使用方法百度一下就能知道了,簡單來說就是下面這樣。 uint8_t buff[BUFF_SIZE];//定義一個緩存數(shù)組 HAL_UART_Receive_IT(&hua
點擊上方藍字關注我哦~ 01 前言 本人當初學習STM32的時候有一些跟風的因素,自以為學的芯片越多就越厲害 =_=、 其實,學習嵌入式重要的是整體的工程思想和項目經(jīng)驗積累,說到底這些芯片,我感覺學習起來都差不多吧,無非就是對內(nèi)資源(寄存器、中斷、定時器
點擊上方藍字關注我哦~ 01 前言 初入門的我們經(jīng)常聽見別人說“真正的程序員用C語言編程,C是最快的語言因為它是最靠近及其底層的語言?!蹦敲春推渌Z言相比C語言到底有什么特別的呢? 02 C語言為什么快 C語言沒有什么特別,這就是它快速的秘訣! 新的
點擊上方藍字關注我哦~ 經(jīng)過驅(qū)動、HAL、JNI、SERVICE一層一層精心澆筑,新增的LED設備調(diào)用接口終于可以被APP調(diào)用了。舉個不恰當?shù)谋扔?,就好像建造一座海洋石油鉆井平臺,從海底一段一段鋼架、油管連接起來,最終在海面上建造出了一個平臺(面向應用層的接口
解釋區(qū)分一下C語言和OOP 我們經(jīng)常說C語言是面向過程的,而C++是面向?qū)ο蟮?,然而何為面向?qū)ο?,什么又是面向過程呢?不管怎么樣,我們最原始的目標只有一個就是實現(xiàn)我們所需要的功能,從這一點說它們是殊途同歸的。過程與對象只是側重點不同而已。 舉個例子
點擊上方藍字關注我哦~ 01 前言 今天抽空研究了下 Makefile,在這里整理一下各處搜到的資料,以備將來復習時快速上手,同時也幫助和我一樣的初學者們節(jié)約時間。 02 準備工作 首先,假設我們有如下幾個代碼文件:main.cpp functions.h function1.cpp function
點擊上方藍字關注我哦~ 01 前言 最近筆者在一些項目上需要對圖像做些變換操作,這些操作opencv基本上都幫我們實現(xiàn)了,但是在linux系統(tǒng)和Android系統(tǒng)實現(xiàn)起來還是有些區(qū)別的,在這里和大家分享下。 02 知識點 由四對點計算透射變換 函數(shù)原型: CvMat* cvGetPe
點擊上方藍字關注我哦~ 為了方便大家查閱,特意把我的公眾號『嵌入式案例Show』文章分類整理。會定期進行整理。 ------更新于2020年6月21日 C語言 C 語言回調(diào)函數(shù)詳解 C代碼常用函數(shù)整理 常用的排序算法(C語言) 嵌入式軟件中的延時函數(shù) win10下使用VS Code