色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

嵌入式領(lǐng)域面試挑戰(zhàn):這7個(gè)問題,你能答對幾個(gè)?

Linux愛好者 ? 來源:Linux愛好者 ? 2024-02-19 16:49 ? 次閱讀

1.關(guān)鍵字static的作用是什么?為什么static變量只初始化一次?

1)修飾局部變量:使得變量變成靜態(tài)變量,存儲(chǔ)在靜態(tài)區(qū),存儲(chǔ)在靜態(tài)區(qū)的數(shù)據(jù)周期和程序相同,

在main函數(shù)開始前初始化,在退出程序時(shí)銷毀(無論是局部靜態(tài)還是全局靜態(tài))。

2)修飾全局變量:全局變量本身就是存儲(chǔ)在靜態(tài)區(qū),因此static并不能改變其存儲(chǔ)位置。但是,static

限制了其鏈接屬性,被static修飾的全局變量只能被該包含該定義的文件訪問(即改變了作用域)

3)修飾函數(shù):是的該函數(shù)只能在包含該函數(shù)定義的的文件中被調(diào)用,對于靜態(tài)函數(shù),申明和定義需要放到同一個(gè)文件夾中。

4)修飾成員變量:使用static修飾類的數(shù)據(jù)成員使其成為類的全局變量,會(huì)被類的所有對象共享,包括派生類的對象,所有的對象都只維持同一個(gè)實(shí)例。

因此,static成員必須在類外進(jìn)行初始化(初始化格式:int base::var=10;),而不能在構(gòu)造函數(shù)內(nèi)進(jìn)行初始化,不過也可以使用const修飾的static數(shù)據(jù)成員在類內(nèi)初始化。

5)修飾成員函數(shù):使用static修飾成員函數(shù),使這個(gè)類只存在這一份函數(shù),所有對象共享該函數(shù),不含this指針,因而只能訪問類的static成員變量。

靜態(tài)成員是可以獨(dú)立訪問的,也就是說,無需創(chuàng)建任何對象實(shí)例就可以訪問。例如可以分裝某些算法,比如數(shù)學(xué)函數(shù),如sin,cos等,這些函數(shù)本就沒必要屬于某一個(gè)對象,所以從類上調(diào)用更好。

注意:不可以用const static修飾成員函數(shù)。

對于所有的對象(不僅僅是靜態(tài)對象),初始化都只有一次,而由于靜態(tài)變量具有“記憶”功能,初始化后,一直都沒有被銷毀,都會(huì)保存在內(nèi)存區(qū)域中,所以不會(huì)再次初始化。

存放在靜態(tài)區(qū)的變量的生命周期一般比較長,一般與整個(gè)源程序“同生死、共存亡”,所以它只需初始化一次。

2.關(guān)鍵字voliate作用和含義/使用場景?

1)volatile是一個(gè)類型修飾符(type specifier)。它是被設(shè)計(jì)用來修飾被不同線程訪問和修改的變量。如果沒有volatile,基本上會(huì)導(dǎo)致這樣的結(jié)果:要么無法編寫多線程程序,要么編譯器失去大量優(yōu)化的機(jī)會(huì)。

2)如果沒有volatile關(guān)鍵字,則編譯器可能優(yōu)化讀取和存儲(chǔ),可能暫時(shí)使用寄存器中的值,如果這個(gè)變量由別的程序更新了的話,將出現(xiàn)不一致的現(xiàn)象。

3)一般用處:

1)并行設(shè)備的硬件寄存器(如:狀態(tài)寄存器)

存儲(chǔ)器映射的硬件寄存器通常也要加 voliate,因?yàn)槊看螌λ淖x寫都可能有不同意義。

2)中斷服務(wù)程序中修改的供其它程序檢測的變量,需要加volatile

當(dāng)變量在觸發(fā)某中斷程序中修改,而編譯器判斷主函數(shù)里面沒有修改該變量,因此可能只執(zhí)行一次從內(nèi)存到某寄存器的讀操作,而后每次只會(huì)從該寄存器中讀取變量副本,使得中斷程序的操作被短路。

3)多任務(wù)環(huán)境下各任務(wù)間共享的標(biāo)志,應(yīng)該加volatile

在本次線程內(nèi), 當(dāng)讀取一個(gè)變量時(shí),編譯器優(yōu)化時(shí)有時(shí)會(huì)先把變量讀取到一個(gè)寄存器中;以后,再取變量值時(shí),就直接從寄存器中取值;

當(dāng)內(nèi)存變量或寄存器變量在因別的線程等而改變了值,該寄存器的值不會(huì)相應(yīng)改變,從而造成應(yīng)用程序讀取的值和實(shí)際的變量值不一致 。

4)一個(gè)參數(shù)既可以是const還可以是volatile嗎?

可以的,例如只讀的狀態(tài)寄存器。它是volatile因?yàn)樗赡鼙灰庀氩坏降馗淖?。它是const因?yàn)槌绦虿粦?yīng)該試圖去修改它。

5)volatile的本意是“易變的” 由于訪問寄存器的速度要快過RAM,所以編譯器一般都會(huì)作減少存取外部RAM的優(yōu)化,但有可能會(huì)讀臟數(shù)據(jù)。

當(dāng)要求使用volatile 聲明的變量的值的時(shí)候,系統(tǒng)總是重新從它所在的內(nèi)存讀取數(shù)據(jù),即使它前面的指令剛剛從該處讀取過數(shù)據(jù)。而且讀取的數(shù)據(jù)立刻被保存。

3.sizeof和strlen的區(qū)別,使用場景?

sizeof() 和 strlen() 的主要區(qū)別在于:

1)sizeof() 是一個(gè)運(yùn)算符,而strlen() 是一個(gè)函數(shù)。

2)sizeof() 計(jì)算的是變量或類型所占用的內(nèi)存字節(jié)數(shù),而 strlen() 計(jì)算的是字符串中字符的個(gè)數(shù)。

3)sizeof() 可以用于任何類型的數(shù)據(jù),而 strlen() 只能用于以空字符 '?' 結(jié)尾的字符串。

4)sizeof() 計(jì)算字符串的長度,包含末尾的 '?',strlen() 計(jì)算字符串的長度,不包含字符串末尾的 '?'。

4.兩個(gè)float怎樣比較相同,為什么這樣比較?什么原因?qū)е碌模?/p>

1)float小數(shù)點(diǎn)前后加起來有效數(shù)字只有6位。當(dāng)給定的float有效數(shù)在6位以內(nèi)轉(zhuǎn)換為字符不會(huì)丟失精度,當(dāng)有效位數(shù)大于6位就會(huì)存在精度丟失。

2)double小數(shù)前后加起來的有效數(shù)字只有16位,當(dāng)給定的double有效數(shù)在16位以內(nèi)轉(zhuǎn)換為字符串不會(huì)丟失精度,當(dāng)有效位數(shù)大于16位就會(huì)存在精度丟失。

3)我們在判斷浮點(diǎn)數(shù)相等時(shí),推薦用范圍來確定,若x在某一范圍內(nèi),我們就認(rèn)為相等,至于范圍怎么定義,要看實(shí)際情況而已了,float,和double 各有不同。

比如要判斷浮點(diǎn)數(shù)floatA和B是否相等,我們先令float x = A –B ;

并設(shè)constfloat EPSINON = 0.00001;

if ((x >= - EPSINON)&& (x <= EPSINON); //或者if(abs(x) <= EPSINON)

cout<<”A 與B相等<

else

cout<<”不相等”<

根據(jù)上面分析建議在系統(tǒng)開發(fā)過程中設(shè)計(jì)到字符轉(zhuǎn)換建議采用double 類型,精度設(shè)置為%.8lf即可,在比較浮點(diǎn)數(shù)十建議EPSINON=0.00000001

5.stm32使用浮點(diǎn)會(huì)對中斷效率產(chǎn)生什么影響?

1)答:在中斷或某個(gè)線程中進(jìn)行浮點(diǎn)數(shù)操作,會(huì)導(dǎo)致另一個(gè) TCP 通訊線程數(shù)據(jù)出錯(cuò)。

TCP 協(xié)議棧中大量使用了 memcpy,而 memcpy 又使用了 FPU 的寄存器,極有可能在 TCP 處理數(shù)據(jù)的過程中,另一個(gè)中斷來了,進(jìn)行了浮點(diǎn)運(yùn)算并修改了 FPU 的寄存器,以致 TCP 數(shù)據(jù)出錯(cuò)。

2)對于32單片機(jī)在中斷中使用浮點(diǎn)運(yùn)算會(huì)使內(nèi)存開銷太大,如果有FPU硬件加速運(yùn)算可以緩解CPU軟件運(yùn)算的壓力。

3)代碼中關(guān)于浮點(diǎn)的計(jì)算數(shù)值,一定要在浮點(diǎn)數(shù)后面加個(gè)f。比如10.1f,這是單精度浮點(diǎn);而不要直接用10.1,這是雙精度浮點(diǎn)。因?yàn)殡p精度浮點(diǎn)計(jì)算耗時(shí)很長,差10倍左右

6.講講IIC協(xié)議?stm32上的IIC速度?

1)兩線——串行數(shù)據(jù)(SDA) 和串行時(shí)鐘(SCL)。

2)每個(gè)器件都有一個(gè)唯一的地址識(shí)別,而且都可以作為一個(gè)發(fā)送器或接收器

3)多主機(jī)會(huì)產(chǎn)生總線裁決問題。當(dāng)多個(gè)主機(jī)同時(shí)想占用總線時(shí),企圖啟動(dòng)總線傳輸數(shù)據(jù),就叫做總線競爭。I2C通過總線仲裁,以決定哪臺(tái)主機(jī)控制總線

4)數(shù)據(jù)位的有效性規(guī)定:SDA 線上的數(shù)據(jù)必須在時(shí)鐘的高電平周期保持穩(wěn)定。數(shù)據(jù)線的高或低電平狀態(tài)只有在SCL 線的時(shí)鐘信號(hào)是低電平時(shí)才能改變。

5)起始和停止條件:其中一種情況是在SCL 線是高電平時(shí),SDA 線從高電平向低電平切換表示起始條件。當(dāng)SCL 是高電平時(shí),SDA 線由低電平向高電平切換表示停止條件。

6)起始信號(hào)和終止信號(hào)都是由主機(jī)發(fā)送的。在起始信號(hào)產(chǎn)生之后,總線就處于被占用的狀態(tài),在終止信號(hào)產(chǎn)生之后,總線就處于空閑狀態(tài)。

7)每當(dāng)發(fā)送器傳輸完一個(gè)字節(jié)的數(shù)據(jù)之后,發(fā)送端會(huì)等待一定的時(shí)間,等接收方的應(yīng)答信號(hào)。接收端通過拉低SDA數(shù)據(jù)線,給發(fā)送端發(fā)送一個(gè)應(yīng)答信號(hào),

以提醒發(fā)送端我這邊已經(jīng)接受完成,數(shù)據(jù)可以繼續(xù)傳輸,接下來,發(fā)送端就可以繼續(xù)發(fā)送數(shù)據(jù)了。

8)數(shù)據(jù)傳送格式:主機(jī)發(fā)送給從機(jī),每一個(gè)字節(jié)必須保證是8位,先傳送最高位,每一個(gè)字節(jié)后面需要一個(gè)應(yīng)答位,即一幀數(shù)據(jù)有9位。

9)軟件模擬IIC時(shí),從機(jī)不對主機(jī)尋址信號(hào)應(yīng)答時(shí),它必須將數(shù)據(jù)線置于高電平,而由主機(jī)產(chǎn)生一個(gè)終止信號(hào)以結(jié)束總線的數(shù)據(jù)傳送。

10)每次數(shù)據(jù)傳送總是由主機(jī)產(chǎn)生的終止信號(hào)來結(jié)束。但是,若主機(jī)希望繼續(xù)占用總線進(jìn)行新的數(shù)據(jù)傳送,則可以不產(chǎn)生終止信號(hào),馬上再次發(fā)出起始信號(hào)對另一從機(jī)進(jìn)行尋址。

11)硬件和軟件IIC的區(qū)別是:

硬件的IIC時(shí)序由IIC外設(shè)自己控制,不需要CPU去干預(yù),CPU只需要把對應(yīng)的數(shù)據(jù)寫到寄存器即可。

軟件IIC,的時(shí)序需要CPU自己控制,占用CPU的資源。

如果需要高速通信,建議選擇硬件IIC;如果需要多路通信或者靈活的時(shí)序控制,建議選擇軟件IIC。

硬件IIC移植起來比較麻煩,軟件IIC移植起來就很簡單。

7.IIC從機(jī)地址是如何配置的?主機(jī)地址是如何配置的?

c72ec488-ceda-11ee-a297-92fbcf53809c.png

1)從機(jī)地址的確定:第0位是讀寫位。(如對于24C02這塊存儲(chǔ)器,它若作為從機(jī),那么它的地址中7~4位是固定的,更改不了,

第3~1位是可以更改的,每一位根據(jù)硬件的管教連接來確定,連接高電平那就是1,低電平就是0)

2)在起始信號(hào)后必須傳送一個(gè)從機(jī)的地址(7位),第8位是數(shù)據(jù)的傳送方向位(R/T),用“0”表示主機(jī)發(fā)送數(shù)據(jù)(T),“1”表示主機(jī)接收數(shù)據(jù)(R)。

審核編輯:黃飛

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

    關(guān)注

    5090

    文章

    19173

    瀏覽量

    306844
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5363

    瀏覽量

    120926
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4345

    瀏覽量

    62867
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1642

    瀏覽量

    49231
  • 狀態(tài)寄存器
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    7120

原文標(biāo)題:分享7道嵌入式面試題,你會(huì)幾道?

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    想成為嵌入式程序員應(yīng)知道的幾個(gè)最基本問題

    。這些問題著重考察的系統(tǒng)調(diào)用和內(nèi)存分配策略方面的能力嗎?標(biāo)志著出題者也許花時(shí)間在微機(jī)上而不是在嵌入式系統(tǒng)上。如果上述任何問題的答案是"是"的話,那么我知道我得認(rèn)真考慮我是否應(yīng)該
    發(fā)表于 09-09 10:14

    經(jīng)典嵌入式面試

    經(jīng)典嵌入式面試
    發(fā)表于 08-20 09:39

    嵌入式開發(fā)面試題3題道,思考一下,會(huì)幾個(gè)

    嵌入式開發(fā)面試題3題道,思考一下,會(huì)幾個(gè)1.ARM異常有哪些分類?2.ARM異常會(huì)發(fā)生哪些硬件操作?3.請簡述中斷和異常的差別?
    發(fā)表于 08-21 14:49

    嵌入式er日常!面試的準(zhǔn)備

    在求職中,我主要投報(bào)了軟件研發(fā)和嵌入式軟件研發(fā)兩個(gè)職位,與各位分享一下我的面試準(zhǔn)備。面試需要準(zhǔn)備一下幾個(gè)方面:首先,是自我介紹準(zhǔn)備一段1分鐘
    發(fā)表于 07-07 10:02

    秋招開始了!確定不看看這份C語言測試的經(jīng)典嵌入式面試題?

    符的 ASCII 值。這些問題著重考察的系統(tǒng)調(diào)用和內(nèi)存分配策略方面的能力嗎?標(biāo)志著出題者也許花時(shí)間在微機(jī)上而不上在嵌入式系統(tǒng)上。如果上述任何問題的答案是“是”的話,那么我知道我得認(rèn)真考慮我是否應(yīng)該去做這份工作。
    發(fā)表于 09-14 14:55

    學(xué)員嵌入式Max面試經(jīng)歷分享

    嵌入式Max 】,有少許調(diào)整。這個(gè)算是換工作系列最后一篇,主要想談?wù)務(wù)夜ぷ鬟^程中的一些感想,比如公司對于學(xué)歷的看法;有些公司面試為什么相對來說是面試造核彈、入職擰螺絲?以及我對這些東西的理解與看法
    發(fā)表于 07-05 16:28

    嵌入式物聯(lián)網(wǎng)的硬件設(shè)計(jì)挑戰(zhàn)

    `隨著物聯(lián)網(wǎng)的出現(xiàn),由于連接設(shè)備的快速發(fā)展,嵌入式系統(tǒng)市場出現(xiàn)了大規(guī)模增長。由于物聯(lián)網(wǎng),嵌入式智能連接以驚人的速度持續(xù)增長。嵌入式系統(tǒng)在物聯(lián)網(wǎng)中的作用物聯(lián)網(wǎng)被定義為一個(gè)過程,其中對象配
    發(fā)表于 08-16 14:28

    C++在嵌入式領(lǐng)域的用處是什么?

    面試嵌入式Linux好幾次被問到是否用C++開發(fā)過產(chǎn)品據(jù)我所知嵌入式領(lǐng)域基本上都是用C語言和匯編語言C++有什么用?能開發(fā)什么產(chǎn)品?
    發(fā)表于 11-06 06:51

    嵌入式軟件面試資料大合集

    背景先說說本人的背景,我,一個(gè)大專人,從事嵌入式開發(fā)兩年了,之前在一家公司是負(fù)責(zé)單片機(jī)和物聯(lián)網(wǎng)開發(fā)的。2020年年底我選擇了裸辭(主要想出去玩)。知道春節(jié)結(jié)束后,出來找工作。我的技術(shù)棧:單片機(jī)(51
    發(fā)表于 10-28 08:14

    嵌入式技術(shù)面試的問題匯總

    嵌入式技術(shù)面試1 C/C++1.1 結(jié)構(gòu)體struct與union區(qū)別?struct與class區(qū)別?1.2 結(jié)構(gòu)體使用需要注意什么?字節(jié)對齊?1.3 帶參數(shù)宏與一個(gè)函數(shù)差別?1.4 有一個(gè)
    發(fā)表于 11-09 08:02

    嵌入式工程師如何準(zhǔn)備基礎(chǔ)知識(shí)面試

    作者:火哥授權(quán)轉(zhuǎn)載自公眾號(hào)嵌入式老鳥的職場之道(id:ict_embedded),火哥也是我們的校園代理火哥自從校招找工作到現(xiàn)在,面試過不下50家公司,拿到過不少于30個(gè)offer。雖然不能說
    發(fā)表于 12-24 07:22

    嵌入式軟件面試題集錦

    嵌入式有關(guān)面試內(nèi)容
    發(fā)表于 01-05 11:25 ?10次下載

    嵌入式技術(shù)面試

    嵌入式技術(shù)面試1 C/C++1.1 結(jié)構(gòu)體struct與union區(qū)別?struct與class區(qū)別?1.2 結(jié)構(gòu)體使用需要注意什么?字節(jié)對齊?1.3 帶參數(shù)宏與一個(gè)函數(shù)差別?1.4 有一個(gè)
    發(fā)表于 11-04 09:21 ?16次下載
    <b class='flag-5'>嵌入式</b>技術(shù)<b class='flag-5'>面試</b>

    面試嵌入式工作,會(huì)被問什么問題?

    面試嵌入式工作時(shí),面試官可能會(huì)從多個(gè)方面考察應(yīng)聘者的知識(shí)、技能和經(jīng)驗(yàn)。以下是一些常見的嵌入式工作面試問題,這些問題涵蓋了基礎(chǔ)知識(shí)、專業(yè)技能、
    的頭像 發(fā)表于 07-17 09:26 ?2069次閱讀
    <b class='flag-5'>面試</b><b class='flag-5'>嵌入式</b>工作,會(huì)被問什么問題?

    面試嵌入式都會(huì)問那些問題呢?

    作為一名電子工程專業(yè)的畢業(yè)生,我對嵌入式系統(tǒng)開發(fā)一直充滿熱情。當(dāng)我決定踏入這個(gè)行業(yè),尋找屬于自己的職業(yè)道路時(shí),面試成為了我必須面對的挑戰(zhàn)。在這里,我想分享一些我在嵌入式系統(tǒng)
    的頭像 發(fā)表于 11-27 09:13 ?379次閱讀
    <b class='flag-5'>面試</b><b class='flag-5'>嵌入式</b>都會(huì)問那些問題呢?
    主站蜘蛛池模板: 丰满少妇被猛烈进出69影院| 国产毛片视频网站| 午夜在线视频国产极品片| 日本调教网站| 日本二区三区欧美亚洲国| 新香蕉少妇视频网站| av亚洲2017色天堂| 成人免费视频在线| 国产AV亚洲精品久久久久| 国产电影午夜成年免费视频 | 久热人人综合人人九九精品视频| 精品淑女少妇AV久久免费| 久久精品国产亚洲AV蜜臀| 美美哒免费影视8| 日韩在线看片中文字幕不卡| 亚洲99精品A片久久久久久| 一道精品视频一区二区| 亚洲人成网77777色在线播放| 影音先锋男人资源813.| 嘴巴舔着她的私处插| old老男人野外树林tv| 郭德纲于谦2012最新相声| 免费观看久久| 午夜伦4480yy妇女久久| 一个人的视频在线观看免费观看| 闺蜜扒开我尿口使劲揉| 欧美日韩精品一区二区三区四区 | 99久女女精品视频在线观看 | 亚洲精品高清中文字幕完整版| 1024人成网站色www下载| 俄罗斯bbbbbbbbb大片| 美女尿口羞羞视频| 在线a亚洲视频| 国产99精品视频一区二区三区| 欧美精品中文字幕亚洲专区| 666永久视频在线| 国产精品女上位在线观看| 老师紧窄粉嫩| 小黄文纯肉短篇| 国产高清国内精品福利色噜噜| 日本免费xxx|