關(guān)閉
  • 安卓系統(tǒng)定制開(kāi)機(jī)動(dòng)畫(huà)

    點(diǎn)擊上方藍(lán)字關(guān)注我哦~ 01 前言 前一篇文章中簡(jiǎn)述了如何修改開(kāi)機(jī)logo,本篇來(lái)介紹如何修改開(kāi)機(jī)動(dòng)畫(huà)。 02 ?開(kāi)機(jī)動(dòng)畫(huà)的顯示原理 Android系統(tǒng)開(kāi)機(jī)動(dòng)畫(huà), 是由bootanimation進(jìn)程將一組逐幀的圖片按次序循環(huán)播放,從而形成形成的動(dòng)畫(huà)效果。 bootanimation啟動(dòng) boot

  • C語(yǔ)言開(kāi)發(fā)單片機(jī)為什么大多數(shù)都采用全局變量的形式?

    點(diǎn)擊上方藍(lán)字關(guān)注我哦~ 01 前言 全局變量簡(jiǎn)直就是嵌入式系統(tǒng)的戈蘭高地。沖突最激烈的雙方是1. 做控制的工程師 2. 做非嵌入式的軟件工程師。 02 做控制的工程師特點(diǎn) 他們普遍的理解就是“變量都寫(xiě)成全局該有多方便”。我之前面試過(guò)一個(gè)非常有名的做控制實(shí)驗(yàn)

  • 安卓系統(tǒng)定制開(kāi)機(jī)logo圖片

    點(diǎn)擊上方藍(lán)字關(guān)注我哦~ 01 前言 安卓系統(tǒng)原生的開(kāi)機(jī)畫(huà)面是一只可愛(ài)的小企鵝,它是Linux的吉祥物。雖然小企鵝程序員都認(rèn)識(shí),但是在安卓系統(tǒng)定制開(kāi)發(fā)中,客戶看到小企鵝的第一眼一般就是“能不能把這個(gè)企鵝換成我們的logo?”,所以這就成為了第一個(gè)定制需求。

  • 嵌入式技術(shù)學(xué)習(xí)路線

    點(diǎn)擊上方藍(lán)字關(guān)注我哦~ 01 前言 嵌入式技術(shù)是各種電子產(chǎn)品的核心技術(shù),也是工業(yè)4.0、遠(yuǎn)程醫(yī)療、3D打印等新興產(chǎn)業(yè)的核心技術(shù),具有廣闊的發(fā)展前景。很多計(jì)算機(jī)、電子信息類(lèi)專(zhuān)業(yè)的學(xué)生都想把嵌入式開(kāi)發(fā)作為自己的職業(yè)目標(biāo),但是因?yàn)榍度胧缴婕暗闹R(shí)太多,太雜

  • VSCode快速創(chuàng)建多目錄多文件C項(xiàng)目

    點(diǎn)擊上方藍(lán)字關(guān)注我哦~ 01 前言 在VScode中如何像其它IDE一樣快速創(chuàng)建如下圖的項(xiàng)目文件樹(shù)。 就自己寫(xiě)了個(gè)腳本,用于自動(dòng)創(chuàng)建項(xiàng)目。 02 腳本介紹 # 輸入一個(gè)文件名 $projectnameread projectname # 源文件目錄Src="./Src" # 頭文件目錄Inc="./Inc" # 創(chuàng)建項(xiàng)目

    嵌入式
    2020-07-07
  • 使用Keil的SVCS+GIT管理軟件版本

    點(diǎn)擊上方藍(lán)字關(guān)注我哦~ 01 前言 SVCS(softwate version control system),即軟件版本管理系統(tǒng),是keil集成的軟件版本管理工具。首先更正上篇中關(guān)于keil的版本管理系統(tǒng)在μVersion5版本以后才有,實(shí)際上在μVersion2,主菜單內(nèi)就有了SVCS,只是在接觸Git前沒(méi)有

    嵌入式
    2020-07-06
  • 基于VS2015的串口開(kāi)發(fā)

    點(diǎn)擊上方藍(lán)字關(guān)注我哦~ 最近筆者要要實(shí)現(xiàn)win10下的一個(gè)串口工具,要想多少年前開(kāi)發(fā)的串口工具還是vc++6.0下開(kāi)發(fā)的,把之前vc++6.0的工程轉(zhuǎn)換到VS2015下,報(bào)出各種問(wèn)題,這些問(wèn)題就不呈現(xiàn)給大家看了,總之都是心酸淚,既然之前的工程不能用,那就重新來(lái)吧,首

  • 新增LED設(shè)備--從上層到底層理解安卓架構(gòu)之Service篇

    在上一篇中,我們已經(jīng)完成了Framework層的JNI開(kāi)發(fā),本篇我們?cè)趂ramework層實(shí)現(xiàn)一個(gè)LedTestService的服務(wù),并在service中調(diào)用Jni的函數(shù)接口。 Android內(nèi)有許多系統(tǒng)管理服務(wù),如 窗口管理服務(wù)WindowManagerService 電源管理服務(wù)PowerManagerService 通知管理服

    嵌入式
    2020-07-02
    ic ce vi
  • 新增LED設(shè)備--從上層到底層理解安卓架構(gòu)之JNI篇

    ? ? ? ? ? ? 在上一篇中,我們已經(jīng)完成了HAL層的開(kāi)發(fā),那么framework層要如何調(diào)用它呢?答案是JNI(Java Native Interface)。JNI簡(jiǎn)單來(lái)說(shuō)就是java程序可以調(diào)用C/C++寫(xiě)的動(dòng)態(tài)鏈接庫(kù)。JNI的存在使得底層可以以C代碼的形式實(shí)現(xiàn),保持了高效率,上層又以java代碼的

    嵌入式
    2020-07-02
    LED
  • 嵌入式軟件采集頻率值的方法

    點(diǎn)擊上方藍(lán)字關(guān)注我哦~ 01 前言 嵌入式軟件輸入采集較為常見(jiàn)有g(shù)pio讀取高低電平、ad讀取電壓值等,但是如果要采集一個(gè)頻率信號(hào)的頻率值,該如何采集? 02 采集頻率值 我們知道傳感器的輸出信號(hào)形式除了電壓電流,還有頻率,例如一些加速度傳感、轉(zhuǎn)速傳感器,

  • 基于stm32的DIY遙控小船(二)--更換遙控器

    點(diǎn)擊上方藍(lán)字關(guān)注我哦~ 01 前言 前面的文章《基于STM32的DIY遙控小船制作》中使用的HX1838紅外遙控模塊確實(shí)是足夠便宜,但是實(shí)際用下來(lái)遙控距離太短,大概只有2米左右。外加必須指著才能遙控,在公共場(chǎng)合操作起來(lái)有些奇怪。 02 升級(jí)改造 在某寶上尋到了便宜

    嵌入式
    2020-07-02
  • 新增LED設(shè)備--從上層到底層理解安卓架構(gòu)之HAL篇

    硬件抽象層介紹 + 硬件抽象層(Hardware Abstraction Layer,簡(jiǎn)稱(chēng)HAL)是介于android內(nèi)核kernel和上層之間的抽象出來(lái)的一層結(jié)構(gòu),是對(duì)Linux驅(qū)動(dòng)的一個(gè)封裝,對(duì)上層提供統(tǒng)一接口,上層應(yīng)用不必知道下層硬件具體怎么工作的,屏蔽了底層的實(shí)現(xiàn)細(xì)節(jié)。為什么有了 硬

    嵌入式
    2020-07-02
    LED
  • 新增LED設(shè)備--從上層到底層理解安卓架構(gòu)之內(nèi)核篇

    為了更好的理解安卓的層次關(guān)系,本文在RK3399的安卓系統(tǒng)上增加LED燈的外設(shè),并使用APP打開(kāi)關(guān)閉LED燈。以這樣一個(gè)最簡(jiǎn)單的實(shí)例,來(lái)演示從上層到底層的調(diào)用過(guò)程。首先從最底層的kernel層開(kāi)始。 一、驅(qū)動(dòng)開(kāi)發(fā) Kernel層就是要將LED硬件接入到系統(tǒng),完成驅(qū)動(dòng)的開(kāi)發(fā)

  • 數(shù)據(jù)結(jié)構(gòu)之堆棧

    堆棧的基本概念 堆棧是一種特殊的線性表,堆棧的數(shù)據(jù)元素以及數(shù)據(jù)元素間的邏輯關(guān)系和線性表完全相同,其差別是:線性表允許在任意位置插入和刪除數(shù)據(jù)元素操作,而堆棧只允許在固定一端進(jìn)行插入和刪除數(shù)據(jù)元素操作 根據(jù)堆棧的定義,每次進(jìn)棧的數(shù)據(jù)元素都放在原

    嵌入式
    2020-07-02
  • 嵌入式軟件中的串口收發(fā)隊(duì)列設(shè)計(jì)方法

    點(diǎn)擊上方藍(lán)字關(guān)注我哦~ 01 前言 在嵌入式軟件的開(kāi)發(fā)中,串口是十分常用且基礎(chǔ)的功能。在需要批量發(fā)送數(shù)據(jù)的場(chǎng)合,可以使用while循環(huán)等待發(fā)送完成標(biāo)志位的方式,但是這種方式會(huì)占據(jù)主循環(huán),影響效率。也可以采用dma的方式,但是dma在發(fā)送數(shù)據(jù)時(shí)非常高效,但是