在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何打造一套屬于自己的嵌入式軟件開發(fā)平臺

5CTi_cirmall ? 來源:電路設(shè)計技能 ? 作者:電路設(shè)計技能 ? 2020-11-23 14:36 ? 次閱讀

各位工程師朋友,大家好!我是電子風清揚,本期“來實戰(zhàn)”項目《寵物自動喂食器》的執(zhí)行官。先做一個簡單的自我介紹,我是一名懷揣著夢想的新一代嵌入式軟件工程師,目前從事物聯(lián)網(wǎng)設(shè)備的開發(fā)。一路自學過來,走過很多的彎路,也曾經(jīng)無數(shù)次迷茫過,找不到學習的方向。我很了解一個電子初學者在剛剛開始時的艱辛,不知道學什么,怎么去學,不知道實際工作中需要具備什么能力。希望可以通過本次的項目來幫助更多的新人了解什么是真正的實戰(zhàn)項目,需要具備哪些能力,幫助更多的電子初學者找到學習的方向,更順利的進入這個行業(yè),為電子行業(yè)做出一份自己的貢獻。

我會在這次的項目中,逐步為大家分享一些工程項目的經(jīng)驗、調(diào)試技巧、如何打造一套屬于自己的嵌入式軟件開發(fā)平臺。也希望大家可以通過本次的項目找到以下這些問題在自己心目中的答案。

1、為什么很多電子初學者不會做項目?

初始階段掌握的技術(shù)還太少,沒有形成完整的知識體系,也并沒有見過真正的項目(涉及到保密問題,很多項目并不會開源)。僅有的技術(shù)完全限制了自己的想象力,一旦遇到自己不會的技術(shù)就會想盡辦法回避,不愿意去學習。久而久之造成了惡性循環(huán),思路越來越窄,越來越迷茫,最后走上了從入門到放棄的道路。

2、為什么說單片機只是一個工具?

在一個項目中,它只是代替人來處理各種電信號,處理數(shù)據(jù),完成對電路控制。它只是項目中的一部分,想完成一個完整的項目僅有單片機是遠遠不夠的。

3、真正的工程代碼應(yīng)該是什么樣的?

模塊化、層次分明、面向?qū)ο蟆⒘己玫臄?shù)據(jù)結(jié)構(gòu)、清晰的業(yè)務(wù)邏輯、可維護性。

4、項目的開發(fā)流程,以及人員分工?

· 實現(xiàn)哪些功能:確定需求

· 需要哪些器件:元器件選型

· 如何控制器件:電路設(shè)計

· 如何實現(xiàn)需求:編程(數(shù)據(jù)結(jié)構(gòu)、業(yè)務(wù)邏輯)

· 方案可行嗎?:軟硬件結(jié)合

· 產(chǎn)品可以投產(chǎn)么?:現(xiàn)場測試,老化

· 如何轉(zhuǎn)產(chǎn)?:整理整個項目的相關(guān)文件

· 賣出去了壞了怎么辦?:整理維修相關(guān)的技術(shù),形成標準文件

書歸正傳,開始介紹本次的項目。本次的項目希望打造一款寵物自動喂食器,解放鏟屎官。項目計劃按以下功能點來進行:

1、具備定時定量喂食功能(每周喂食曲線,每天喂食的時段,每個時段的百分比可調(diào)節(jié)),實現(xiàn)不同階段的喂食需求。

2、自動完成對喂食情況的統(tǒng)計,方便鏟屎官查看一段時間喂食的情況,結(jié)合寵物的體態(tài)信息進行健康判斷,以及調(diào)整喂食量減少浪費。

3、自動保持飲水盆中的飲水量,對每次的飲水量以及時間進行記錄。

4、對料倉中的喂料量進行監(jiān)測,在料倉中飼料量不足時提醒鏟屎官及時補充。

5、對水倉中的水量進行監(jiān)測,在水倉中飼喂量不足時提示鏟屎官及時補充。

6、警戒線的閾值可調(diào)。

7、良好的人機交互界面設(shè)計。

8、可以連接WIFI,將數(shù)據(jù)上傳到服務(wù)器。(視時間而定,如果時間緊張,延后開發(fā))

9、手機APP端完成信息查看,控制喂食。(視時間而定,如果時間緊張,延后開發(fā))

視頻內(nèi)容截圖:

項目設(shè)計

步驟1:確定項目電路原理

視頻內(nèi)容截圖:

相信LM2596是廣大電子愛好者熟悉的一款降壓型電源管理芯片了。LM2596系列是德州儀器(TI)生產(chǎn)的3A電流輸出降壓開關(guān)型集成穩(wěn)壓芯片,它內(nèi)含固定頻率振蕩器(150KHZ)和基準穩(wěn)壓器(1.23v),并具有完善的保護電路、電流限制、熱關(guān)斷電路等。利用該器件只需極少的外圍器件便可構(gòu)成高效穩(wěn)壓電路。提供的有:3.3V、5V、12V及可調(diào)(-ADJ)等多個電壓檔次產(chǎn)品。相關(guān)芯片數(shù)據(jù)手冊,請點擊文末“相關(guān)芯片與數(shù)據(jù)手冊”進行下載閱讀。

此外,我們項目需要用到的電源有3.3V、5V、12V,所以我們采用19V(15V-24V)筆記本充電電源供電以及電池組成的UPS系統(tǒng)進行供電。將設(shè)計兩個LM2596模塊,一個5V,一個12V。查詢數(shù)據(jù)手冊,我們得到Demo電路圖如下:

……

(由于篇幅限制只呈現(xiàn)部分內(nèi)容,點擊“閱讀原文”瀏覽完整項目方案)

步驟2:軟件平臺搭建

視頻內(nèi)容截圖:

第二個步驟給大家?guī)肀敬雾椖康那度胧杰浖脚_的建設(shè)思路,本次的嵌入式軟件平臺分為四層。

1、MyLib:底層驅(qū)動代碼—>硬件抽象層

本層在C語言的平臺下,盡可能的實現(xiàn)面向?qū)ο蟮乃枷搿1敬蔚钠脚_借鑒了高煥堂先生提出的OOPC的思想,并在此基礎(chǔ)上進行了改進,特此聲明。本次描述可能大家一開始看的不太清楚,后續(xù)我會出一個專題課程來講解本次的平臺設(shè)計思想,敬請期待。

本次平臺MyLib層,從兩個角度出發(fā),一個是個人角度,一個是公司角度。

個人:

· 個人技術(shù)以及研發(fā)經(jīng)驗的積累;

·減少重復(fù)性勞動,已經(jīng)開發(fā)好的模塊進行重復(fù)調(diào)用;

·加快個人的研發(fā)進度;

·提升自我的編程能力以及研發(fā)境界;

公司:

·平臺化代碼,集中全公司研發(fā)力量;

·實現(xiàn)公司業(yè)務(wù)代碼的積累,研發(fā)技術(shù)的積累;

步驟3:焊接和硬件測試

全網(wǎng)第一份手動移植TouchGFX視頻教程,不使用CubeMX!!!

在本次的項目中GUI采用了最新的TouchGFX,放棄了已經(jīng)使用多年的emwin。一個原因是因為TouchGFX以后的使用是免費的了,而且界面華麗酷炫;另一個原因也是對自己的一個挑戰(zhàn),在資料非常稀少的情況下能否挑戰(zhàn)成功。本期視頻我將介紹移植過程中的重點以及注意事項,帶領(lǐng)大家感受一下TouchGFX的威力。

很慶幸又一次堅持了下來,期間無數(shù)次想過放棄,最終還是靠著意志力堅持了下來。當成功的那一刻,我發(fā)覺自己又成長了。其實能力的提升就是在這一次次的挑戰(zhàn)中,查閱資料、仔細分析原因、查找解決方案。在這個過程中鍛煉自己的學習能力,不斷完善自己的知識體系。而當你完成了一次次的挑戰(zhàn)后,那么你將不再懼怕接觸新鮮的事物,離成為大佬又近了一步。

1、新建文件夾

2、添加必要的移植接口文件

3、添加touchgfx_lib

4、修改OSWrapper.cpp改為使用RT-Thread

5、修改BoardConfiguration.cpp

注意要開啟CRC,否則會進硬件錯誤!!!

6、初始化SDRAM、LTDC

初始化SDRAM

初始化LTDC

注意這里要編寫LTDC中斷服務(wù)函數(shù)

7、初始化touchgfx

修改DMA

8、觸摸移植

9、生成touchgfx工程

新建TouchGFX文件夾,用來存放touchgfx工程

……

……

(由于篇幅限制只呈現(xiàn)部分內(nèi)容,點擊“閱讀原文”瀏覽完整項目方案)

步驟4:開發(fā)項目需求和系統(tǒng)整體測試

關(guān)于上期視頻留下的“坑”,我這次也填上了!(關(guān)于編譯出現(xiàn)不通過的情況,我找到原因并解決了!)

Q:上次編譯為什么沒通過?

A:因為之前在刪除東西的時候,誤操作將環(huán)境變量也刪掉了,導(dǎo)致編譯不能通過。

Q:我是如何解決的呢?

A:重新給電腦裝了系統(tǒng),然后順手將軟件都重新安裝了一下,現(xiàn)在可以正常編譯通過。

本期視頻主要展示本次項目中圖形界面的最新進展。

我新增并實現(xiàn)了幾個交互效果,以此來對touchgfx在項目中的應(yīng)用進行一個評估,視頻里也有詳細得講解我是如何實現(xiàn)這些效果的。

接下來先用圖文為大家梳理一下本期重點:(此次采用自問自答的方式)

一、控件的種類是否足夠支撐項目的需求和使用

二、自定義控件如何使用

三、UI和硬件交互是否便捷,人機交互設(shè)計是否方便

……

(由于篇幅限制只呈現(xiàn)部分內(nèi)容,點擊“閱讀原文”瀏覽完整項目方案)

整個實際操作視頻如下:

步驟5:機器各結(jié)構(gòu)搭建與組裝

這期視頻為大家進一步講解在設(shè)計人機交互界面之前的準備工作。

為了完成字符以及數(shù)字的輸入,這里就需要用到鍵盤。

不過遺憾的是目前鍵盤控件還不能直接在TouchGFX_Designer中直接加入,需要我們通過代碼進行手動加入。

在官方提供的demo中只是把字符顯示在了鍵盤上的text控件上,并沒有提供對外的輸出接口,同時獲取輸入的時候也需要我們來實現(xiàn)。

那么讓我們開始這一期的知識點梳理吧!

1、添加文件到工程下

2、導(dǎo)入鍵盤素材

導(dǎo)入后可以在touchgfx_designer中看到

3、引用頭文件并創(chuàng)建鍵盤

4、UI界面設(shè)計

注冊回調(diào)函數(shù),來顯示鍵盤

因為鍵盤不支持拖動和隱藏,所以先創(chuàng)建鍵盤到看不見的地方

實現(xiàn)彈出效果和文本更新與保存

實現(xiàn)好了鍵盤之后,還需要我們實現(xiàn)一個拖動切換的菜單。

再一次需要表示遺憾的是:我們的TouchGFX_Designer中并不能完全完成設(shè)計工作,還是需要我們手動來完成圖標的更新。

從這些天的使用來看,這款GUI的設(shè)計器還有很長一段路要走,這一點相比于GUIX就要差了一些。

不過從長遠的角度來看,這款GUI有自己的特色,逐漸發(fā)展完善,相信它一定會成為人機交互開發(fā)的一把利器。

然后為我們所用!我們要做的就是此時此刻去“征服”它!

那么接下來還是手動去完成圖標的更新:

1、創(chuàng)建一個自定義控件

2、創(chuàng)建scrollList

3、設(shè)置參數(shù)

4、編寫代碼(由于篇幅有限,這里僅展示部分代碼)

整個流程如何操作的視頻如下:

下面開始我們本次項目的UI界面規(guī)劃

步驟6:硬件電路整體展示

本次給大家?guī)砦覀儭皩櫸锿妒称鳌钡挠布娐氛w的展示。

我解釋一下啊,由于采購部分器件的時候,發(fā)生缺料,我目前用3D展示給大家,直觀又好看~

本次電路的整體3D效果:

電源板的3D效果:

PCB板圖片

控制板拓展了網(wǎng)口、WIFI模塊接口、USB接口、串口可以滿足很多項目的開發(fā),可以將這個板作為開發(fā)板使用。

電源板

平時可以給主板供電,同時為電池進行充電,當外部電源被切斷時自動切換到電池供電,保證系統(tǒng)在意外斷電時可以正常工作。

關(guān)于更多細節(jié)部分的講解,請大家移步我最近更新的視頻里:

步驟7:人機交互界面規(guī)劃實現(xiàn)

責任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 人機交互
    +關(guān)注

    關(guān)注

    12

    文章

    1240

    瀏覽量

    56273
  • 單片機
    +關(guān)注

    關(guān)注

    6066

    文章

    44946

    瀏覽量

    648299
  • 嵌入式軟件
    +關(guān)注

    關(guān)注

    4

    文章

    245

    瀏覽量

    27221

原文標題:《來實戰(zhàn)》之寵物喂食器:交互界面控件設(shè)計與硬件電路整體演示(3D展示)

文章出處:【微信號:cirmall,微信公眾號:電路設(shè)計技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    飛凌嵌入式ElfBoard ELF 1板卡-Uboot

    適配于該評估板一套軟件系統(tǒng),也就是說NXP的工程師完成了大量的平臺移植工作,ElfBoard開發(fā)板與EVK評估板又有些許差異,我們只需要在NXP提供的uboot源碼(uboot-imx
    發(fā)表于 05-22 10:44

    如何成為嵌入式軟件工程師?

    如何成為嵌入式軟件工程師? 01明確崗位的角色與定位 嵌入式軟件工程師主要負責開發(fā)運行在特
    發(fā)表于 04-15 14:37

    IAR發(fā)布云端平臺,助力現(xiàn)代嵌入式軟件開發(fā)團隊

    平臺嵌入式軟件開發(fā)人員提供前所未有的自由度與靈活性,助力開發(fā)團隊在工具選擇和日常工作流中實現(xiàn)更高效的協(xié)作與創(chuàng)新。
    的頭像 發(fā)表于 03-12 11:56 ?314次閱讀

    打破技術(shù)壁壘!AWFlow讓嵌入式軟件開發(fā)觸手可及

    嵌入式軟件開發(fā)中,創(chuàng)意和技術(shù)創(chuàng)新常常難以融合。AWFlow通過其圖形化組態(tài)方法,利用拖拽節(jié)點構(gòu)建業(yè)務(wù)流程圖,幫助用戶實現(xiàn)奇思妙想。在嵌入式軟件開發(fā)中,創(chuàng)意和技術(shù)創(chuàng)新常常難以融合。
    的頭像 發(fā)表于 02-10 16:44 ?443次閱讀
    打破技術(shù)壁壘!AWFlow讓<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>觸手可及

    嵌入式機器學習的應(yīng)用特性與軟件開發(fā)環(huán)境

    設(shè)備和智能傳感器)上,這些設(shè)備通常具有有限的計算能力、存儲空間和功耗。本文將您介紹嵌入式機器學習的應(yīng)用特性,以及常見的機器學習開發(fā)軟件開發(fā)環(huán)境。 嵌入式機器學習的應(yīng)用特性與優(yōu)勢 由于
    的頭像 發(fā)表于 01-25 17:05 ?587次閱讀
    <b class='flag-5'>嵌入式</b>機器學習的應(yīng)用特性與<b class='flag-5'>軟件開發(fā)</b>環(huán)境

    文了解嵌入式軟件開發(fā)的對象

    以前應(yīng)用場景很單嵌入式開發(fā)可能談不上面向?qū)ο?b class='flag-5'>開發(fā)。但現(xiàn)在,做嵌入式開發(fā),沒有面向?qū)ο?b class='flag-5'>開發(fā),你就有點落伍了。 本文結(jié)合個人經(jīng)驗和周立
    的頭像 發(fā)表于 11-15 10:31 ?784次閱讀
    <b class='flag-5'>一</b>文了解<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>的對象

    你認為嵌入式軟件開發(fā)的盡頭是什么?

    嵌入式軟件開發(fā)的“盡頭”是個富有哲理且多維度的概念,因為它不僅關(guān)乎技術(shù)發(fā)展的極限,還涉及到行業(yè)應(yīng)用、市場需求、技術(shù)融合與創(chuàng)新等多個方面。從幾個不同的視角來看
    的頭像 發(fā)表于 09-18 09:42 ?745次閱讀
    你認為<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>的盡頭是什么?

    EsDA,一站式嵌入式軟件

    EsDA是一套面向工業(yè)智能物聯(lián)領(lǐng)域的嵌入式系統(tǒng)設(shè)計自動化工具集,包含實時操作系統(tǒng)AWorksLP、低代碼開發(fā)平臺AWStudio、資源管理平臺
    的頭像 發(fā)表于 09-15 08:10 ?706次閱讀
    EsDA,<b class='flag-5'>一站式</b><b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>

    嵌入式開發(fā)常用軟件有哪些?

    嵌入式開發(fā)常用軟件有哪些? 對于初學嵌入式的朋友們,會想要了解嵌入式軟件開發(fā)常用的軟件有些,有什
    發(fā)表于 09-09 15:22

    七大嵌入式GUI盤點

    。 MiniGUI 款國產(chǎn)GUI,款面向嵌入式系統(tǒng)的高級窗口系統(tǒng)和圖形用戶界面(GUI)支持系統(tǒng),由魏永明先生于1998年底開始開發(fā)。2002年,魏永明先生創(chuàng)建北京飛漫
    發(fā)表于 09-02 10:58

    嵌入式系統(tǒng)中的實時操作系統(tǒng)

    嵌入式RTOS是嵌入式應(yīng)用程序運行、相互交互和與外界通信的底層軟件機制。在本節(jié)中,您將了解嵌入式軟件開發(fā)人員使用哪些流行RTOS以及它們運行
    的頭像 發(fā)表于 08-20 11:28 ?831次閱讀

    嵌入式QT常見開發(fā)方式有哪些?

    嵌入式工程師可以使用同一套代碼庫開發(fā)適用于不同嵌入式操作系統(tǒng)(如Linux、RTOS)的應(yīng)用程序,只需針對目標平臺調(diào)整編譯選項和配置即可。
    發(fā)表于 08-12 10:05

    節(jié)點、跨平臺開發(fā),AWFlow讓嵌入式開發(fā)變得更簡單

    國產(chǎn)化趨勢對嵌入式軟件開發(fā)構(gòu)成挑戰(zhàn),導(dǎo)致軟件移植和適配需求激增,影響開發(fā)效率。AWFlow軟件通過節(jié)點化和跨
    的頭像 發(fā)表于 08-02 08:25 ?687次閱讀
    節(jié)點<b class='flag-5'>式</b>、跨<b class='flag-5'>平臺</b><b class='flag-5'>開發(fā)</b>,AWFlow讓<b class='flag-5'>嵌入式開發(fā)</b>變得更簡單

    嵌入式軟件開發(fā)與AI整合

    嵌入式軟件開發(fā)與AI整合是當前技術(shù)發(fā)展的重要趨勢之。隨著人工智能技術(shù)的快速發(fā)展,嵌入式系統(tǒng)越來越多地集成了AI算法,以實現(xiàn)更復(fù)雜的智能功能。以下是關(guān)于
    的頭像 發(fā)表于 07-31 09:25 ?1281次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>與AI整合

    嵌入式軟件開發(fā)招聘

    本帖最后由 jf_19082533 于 2024-7-26 13:56 編輯 尋求:嵌入式軟件工程師 要求:3年以上開發(fā)經(jīng)驗,音視頻領(lǐng)域應(yīng)用層開發(fā) 地址:北京市昌平區(qū) 郵箱:10
    發(fā)表于 07-26 13:44
    主站蜘蛛池模板: 护士巨好爽好大乳 | 天天干夜夜想 | 欧美黑人xxxxxxxxxx | 欧美久操 | 日日操天天操夜夜操 | 天堂8中文在线bt | 欧美色图 亚洲 | 欧美一区亚洲 | 操碰人人| 在线亚洲一区二区 | 欧美视频免费一区二区三区 | 黄 色 录像成 人播放免费99网 | 亚洲欧美一区二区三区图片 | 久久久国产高清 | 五月天婷婷在线视频 | 美女扒开尿口给男人桶视频免费 | 久久久五月 | 一级片免费观看视频 | 男人和女人做免费做爽爽视频 | 美女网色站 | 717影院理论午夜伦八戒 | 久久vs国产综合色大全 | 久久sp| 欧美系列在线播放 | 性欧美暴力猛交69hd | 又粗又硬又爽又黄毛片 | 中文字幕在线观看一区二区 | 色日韩在线 | 中文字幕在线天堂 | 国产精品久久久久久久久久妇女 | 欧美成人三级伦在线观看 | 国产精品久久久久久久久齐齐 | 欧美特级午夜一区二区三区 | 久久夜色精品国产噜噜小说 | 亚洲入口无毒网址你懂的 | 亚洲国产婷婷综合在线精品 | 国产一二三区精品 | 精品亚洲成a人片在线观看 精品亚洲大全 | 大量喷潮free | 色中色软件 | 中文字幕一区二区三区免费看 |