91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

5CTi_cirmall ? 來源:電路設計技能 ? 作者:電路設計技能 ? 2020-11-23 14:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

3、真正的工程代碼應該是什么樣的?

模塊化、層次分明、面向對象、良好的數(shù)據(jù)結構、清晰的業(yè)務邏輯、可維護性。

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

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

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

· 如何控制器件:電路設計

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

· 方案可行嗎?:軟硬件結合

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

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

· 賣出去了壞了怎么辦?:整理維修相關的技術,形成標準文件

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

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

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

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

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

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

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

7、良好的人機交互界面設計。

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

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

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

項目設計

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

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

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

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

……

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

步驟2:軟件平臺搭建

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

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

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

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

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

個人:

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

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

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

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

公司:

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

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

步驟3:焊接和硬件測試

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

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

7、初始化touchgfx

修改DMA

8、觸摸移植

9、生成touchgfx工程

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

……

……

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

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

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

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

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

Q:我是如何解決的呢?

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

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

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

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

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

二、自定義控件如何使用

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

……

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

整個實際操作視頻如下:

步驟5:機器各結構搭建與組裝

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

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

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

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

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

1、添加文件到工程下

2、導入鍵盤素材

導入后可以在touchgfx_designer中看到

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

4、UI界面設計

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

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

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

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

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

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

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

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

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

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

2、創(chuàng)建scrollList

3、設置參數(shù)

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

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

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

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

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

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

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

電源板的3D效果:

PCB板圖片

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

電源板

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

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

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

責任編輯:lq

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

    關注

    12

    文章

    1291

    瀏覽量

    58011
  • 單片機
    +關注

    關注

    6077

    文章

    45519

    瀏覽量

    671886
  • 嵌入式軟件
    +關注

    關注

    4

    文章

    250

    瀏覽量

    28107

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

文章出處:【微信號:cirmall,微信公眾號:電路設計技能】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    EsDA 科普 | 文讀懂嵌入式開發(fā)的“全家桶”方案

    在工業(yè)4.0與AI浪潮交匯的今天,嵌入式軟件開發(fā)正面臨前所未有的復雜度挑戰(zhàn)。如何降低門檻、提升效率、實現(xiàn)一站式交付?EsDA給出了系統(tǒng)化的答案。本文將帶您快速了解這
    的頭像 發(fā)表于 03-18 11:37 ?184次閱讀
    EsDA 科普 | <b class='flag-5'>一</b>文讀懂<b class='flag-5'>嵌入式開發(fā)</b>的“全家桶”方案

    文淺談嵌入式設計

    本文深入探討嵌入式系統(tǒng)設計的完整流程與關鍵要點,從芯片選型、硬件架構到軟件開發(fā),助您掌握打造穩(wěn)定高效智能設備的實戰(zhàn)方法論。
    的頭像 發(fā)表于 03-13 10:32 ?136次閱讀

    嵌入式軟件開發(fā)工具市場新動向:訂閱制趨勢下的中國開發(fā)者選擇

    面對軟件業(yè)從永久授權模式廣泛轉向訂閱制的行業(yè)趨勢,作為行業(yè)兩大主流嵌入式軟件開發(fā)工具,即Keil MDK與IAR Embedded Workbench也推出了不同的市場策略,正在為中國開發(fā)
    的頭像 發(fā)表于 01-30 17:20 ?820次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>工具市場新動向:訂閱制趨勢下的中國<b class='flag-5'>開發(fā)</b>者選擇

    嵌入式驅動開發(fā),需要掌握哪些技能?

    單元測試、集成測試、系統(tǒng)測試等,并學會使用調(diào)試工具進行問題排查。 6、 其他嵌入式驅動開發(fā),實質(zhì)也是軟件開發(fā),還需要掌握開發(fā)文檔的編輯、軟件
    發(fā)表于 01-20 16:46

    嵌入式系統(tǒng)應用熱門的原因主要有幾個方面

    嵌入式軟件開發(fā)要想走向標準化,就必須使用多任務的操作系統(tǒng)。嵌入式系統(tǒng)的應用程序可以沒有操作系統(tǒng)直接在芯片上運行;但是為了合理地調(diào)度多任務、利用系統(tǒng)資源、系統(tǒng)函數(shù)以及和專家?guī)旌瘮?shù)接口,用戶必須自行選配
    發(fā)表于 01-08 06:37

    軟件到硬件的轉場:場由OceanOS-CM0啟發(fā)的嵌入式思考

    重定向等系列底層操作。 這種差異背后,是調(diào)試思維的根本轉變。軟件開發(fā)者習慣于依賴IDE的調(diào)試器、斷點、變量觀察窗口;而嵌入式開發(fā)者必須掌握更底層的調(diào)試手段——串口日志、邏輯分析儀、甚至是LED的狀態(tài)
    發(fā)表于 01-04 15:52

    C語言單元測試在嵌入式軟件開發(fā)中的作用及專業(yè)工具的應用

    功能包括: 測試通過/失敗統(tǒng)計 代碼覆蓋率可視化 執(zhí)行時間分析 缺陷跟蹤和報告生成 winAMS的圖形化界面可以直觀展示測試結果和覆蓋率數(shù)據(jù)。 七、總結與展望 C語言單元測試在嵌入式軟件開發(fā)中具有不可
    發(fā)表于 12-18 11:46

    個面向單片機、事件驅動的嵌入式開發(fā)平臺介紹

    EventOS,是個面向單片機、事件驅動的嵌入式開發(fā)平臺。它主要有兩大技術特色:是事件驅動,二是超輕量。EventOS以及其母項目EventOS,目標是
    發(fā)表于 12-05 06:26

    CW32嵌入式軟件開發(fā)的必備知識

    嵌入式軟件開發(fā)作為計算機科學和電子工程的交叉領域,要求開發(fā)人員具備系列的專業(yè)知識和技能。 而基于CW32的嵌入式
    發(fā)表于 11-28 07:48

    嵌入式開發(fā)平臺 AMD嵌入式軟件和工具2025.1版現(xiàn)已推出

    AMD 2025.1 版嵌入式軟件和工具是面向新嵌入式系統(tǒng)開發(fā)打造的綜合
    的頭像 發(fā)表于 08-20 09:15 ?4037次閱讀

    AMD 2025.1版嵌入式軟件和工具的新增功能

    AMD 2025.1 版嵌入式軟件和工具是面向新嵌入式系統(tǒng)開發(fā)打造的綜合
    的頭像 發(fā)表于 08-15 15:32 ?1317次閱讀

    2025“芯原杯”全國嵌入式軟件開發(fā)大賽圓滿落幕

    此前,2025年7月20日至26日,第四屆“芯原杯”全國嵌入式軟件開發(fā)大賽決賽在??诔晒εe辦。
    的頭像 發(fā)表于 08-06 09:51 ?1398次閱讀

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

    對于初學嵌入式的朋友們,會想要了解嵌入式軟件開發(fā)常用的軟件有些,有什么用。那么看以下常用的軟件介紹。 1.Visual Studio Cod
    發(fā)表于 07-03 17:06

    飛凌嵌入式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