嵌入式系統(tǒng)不只是ARM+Linux,不是只有安卓,凡是電子產(chǎn)品都可稱為嵌入式系統(tǒng)。物聯(lián)網(wǎng)行業(yè)的興起,也提升了FreeRTOS市場(chǎng)占有率。本文就是介紹FreeRTOS基礎(chǔ)及其應(yīng)用,只是個(gè)人整理,可能存在問題,其目的只是簡(jiǎn)要介紹系統(tǒng)的基礎(chǔ),只能作為入門資料。
射雕英雄傳中的裘千丈說,UART就是我的輕功水上漂過河。想從河上過(通信),提前布暗樁,行走時(shí)步伐按樁距固定(波特率提前確定),步幅太大或太小都會(huì)落水。為了不被二弟裘千仞識(shí)破,可以安排侍衛(wèi)在對(duì)岸監(jiān)視通知,沒風(fēng)險(xiǎn)才開始表演(流控)。為了保證踩點(diǎn)準(zhǔn)確,隔一段距離定個(gè)特殊標(biāo)記的粗木樁。
Wi-Fi的發(fā)源地是夏威夷,Wi-Fi是一種無線局域網(wǎng)協(xié)議。而對(duì)于網(wǎng)絡(luò)協(xié)議中的多址接入?yún)f(xié)議的歷史可以追述到1971年的ALOHAnet,按照WiKi的記錄,ALOHAnet是一個(gè)在夏威夷大學(xué)開發(fā)的一個(gè)無線網(wǎng)絡(luò),為什么要構(gòu)建這個(gè)無線網(wǎng)絡(luò),是因?yàn)橄耐膷u嶼之間不易布置有線鏈路,如果布置的話,其成本也會(huì)很高。所以當(dāng)時(shí)就采用了一種相對(duì)成本比較低廉的無線設(shè)備,構(gòu)造一個(gè)以O(shè)ahu島為中心和其他夏威夷島嶼通信的無線鏈路。這也就是Wi-Fi最開始的雛形。
在使用 lvgl 庫(kù)的時(shí)候,筆者使用的V7版本的庫(kù),使用過程中發(fā)現(xiàn)網(wǎng)上關(guān)于V7版本的資料非常少,官網(wǎng)有文檔介紹其如何使用,但有些方面還不是很全面,而且網(wǎng)上現(xiàn)在的中文教程大多數(shù)是針對(duì)于V6版本的,V6和V7使用上的差異在有些方面還是挺大的,所以筆者也就想把自己在使用V7版本的庫(kù)的時(shí)候的一些心得記錄下來。
由于近期要做一個(gè)裝置 ,想著把裝置做的好看一點(diǎn),就打算使用 GUI 來做一個(gè)信息的相關(guān)顯示,之前聽說過一款比較輕量級(jí)的圖形庫(kù),也就是 lvgl,手頭又正好有一塊搭配屏幕的野火指南者開發(fā)板,單片機(jī)型號(hào)是 STM32F103VET6,F(xiàn)lash 為 512KB,RAM 為 64KB,屏幕為 3.2 寸電阻觸摸屏,我們?cè)趤砜匆幌逻\(yùn)行 lvgl 這個(gè) GUI 需要的資源。
編程習(xí)慣的培養(yǎng)需要的是一個(gè)長(zhǎng)期的過程,需要不斷地總結(jié),積累,并且我們需要從意識(shí)上認(rèn)識(shí)其重要性,一個(gè)良好的編程習(xí)慣對(duì)于我們能力的提高也是有巨大的幫助的。下面是筆者在閱讀《專業(yè)嵌入式軟件開發(fā)》這本書時(shí)所看到的一些關(guān)于編程好習(xí)慣的總結(jié),特此記錄和分享一下。
介紹內(nèi)聯(lián)函數(shù)之前,需要說明一下C++在執(zhí)行普通函數(shù)時(shí)的一個(gè)過程,在調(diào)用普通函數(shù)時(shí),執(zhí)行到函數(shù)調(diào)用指令時(shí),程序?qū)⒃诤瘮?shù)調(diào)用后立即存儲(chǔ)該指令的內(nèi)存地址,并將函數(shù)參數(shù)復(fù)制到堆棧,跳轉(zhuǎn)到標(biāo)記函數(shù)起點(diǎn)的內(nèi)存單元,執(zhí)行函數(shù)代碼,然后調(diào)回到地址被保存的指令處。
在嵌入式開發(fā)中,面對(duì)的都是單個(gè)CPU的情況,而在這個(gè)開發(fā)過程中,我們會(huì)涉及到裸機(jī)開發(fā)或者是跑操作系統(tǒng)的開發(fā),在裸機(jī)開發(fā)的過程中,整個(gè)系統(tǒng)是以模塊的角度來看的,也就是系統(tǒng)在運(yùn)行完了這個(gè)模塊之后,再去運(yùn)行另外一個(gè)模塊。但在有操作系統(tǒng)的情況下,我們是把系統(tǒng)處理的一件一件事情以任務(wù)的角度來進(jìn)行劃分的,這任務(wù)與任務(wù)之間是并發(fā)執(zhí)行的。每個(gè)任務(wù)的運(yùn)行看起來是獨(dú)立的,從宏觀的角度看是多個(gè)任務(wù)同時(shí)在占據(jù)著CPU的執(zhí)行,就像是多CPU一樣,在真正的多CPU系統(tǒng)中,每個(gè)CPU都有一套自己的寄存器,而為了實(shí)現(xiàn)這樣一種多 CPU 運(yùn)行的機(jī)制,那么操作系統(tǒng)就為每個(gè)任務(wù)用一塊專用的存儲(chǔ)空間構(gòu)建了一個(gè)“虛擬 CPU”,用來保存 CPU 內(nèi)存各個(gè)寄存器的信息,這塊專用的存儲(chǔ)器空間就是“任務(wù)堆棧”,有多少個(gè)任務(wù)就會(huì)有多少個(gè)任務(wù)堆棧。
今天主要是跟大家分享幾個(gè)交換兩數(shù)的宏,他們的實(shí)現(xiàn)或許會(huì)給你帶來新的啟發(fā)和收獲!
引言 ADC 的功能是將模擬信號(hào)采樣得到數(shù)字信號(hào),而有些時(shí)候,我們需要使用到定時(shí)采樣,比如在計(jì)算一個(gè)采集的波形的頻率的時(shí)候,我們需要精確的知道采樣頻率,也就是 1 s 內(nèi)采集的點(diǎn)數(shù),這個(gè)時(shí)候,就需要使用到定時(shí)采集。定時(shí)采樣有如下三種方法: 使用定時(shí)器
概述 在計(jì)算機(jī)系統(tǒng)中,變量、中間數(shù)據(jù)一般存放在系統(tǒng)存儲(chǔ)空間中,只有實(shí)際使用的時(shí)候才將他們從存儲(chǔ)空間調(diào)入到中央處理器內(nèi)部進(jìn)行計(jì)算。通常存儲(chǔ)空間分為兩類:內(nèi)部存儲(chǔ)空間和外部存儲(chǔ)空間。對(duì)于電腦來講,內(nèi)部存儲(chǔ)空間就是電腦的內(nèi)存,外部存儲(chǔ)空間就是電腦
今天介紹一下我使用過的一款2G網(wǎng)絡(luò)模塊,在車載行駛中使用,在很惡劣的情況下,依舊可以保證網(wǎng)絡(luò)快速鏈接。因?yàn)楝F(xiàn)在的網(wǎng)絡(luò)模塊都是差不多的,尤其是IOT、LORA以及2G 3G 4G這些通過基站進(jìn)行組網(wǎng)的模塊。
筆者能力有限,如果文中出現(xiàn)錯(cuò)誤的地方,還希望各位朋友能夠給我指出來,我將不勝感激,謝謝~ 引言 數(shù)字信號(hào)在我們生活中隨處可見,自然而然地就會(huì)涉及到對(duì)于數(shù)字信號(hào)的處理,最為典型的一個(gè)應(yīng)用就是示波器,在使用示波器的過程當(dāng)中,我們會(huì)通過示波器測(cè)量到
289117336
Tronlong創(chuàng)龍
xjhw
phane99
依秋
大有可為
SeanShen
xiaoguaixh
946987619
賀士翀
liqinglong1023