一、物聯(lián)網(wǎng)系統(tǒng)中為什么要使用OLED屏
卓越的顯示效果
高對比度和鮮艷色彩:OLED屏幕能夠自發(fā)光,因此能夠?qū)崿F(xiàn)極高的對比度和鮮艷的色彩表現(xiàn),這在物聯(lián)網(wǎng)設(shè)備的顯示界面上尤為重要,可以為用戶提供更清晰、更生動的視覺體驗(yàn)。
廣視角:OLED屏幕的可視角度非常廣,用戶無論從哪個(gè)方向觀看都能獲得良好的顯示效果,這在需要多人觀看的物聯(lián)網(wǎng)應(yīng)用場景中尤為適用。
低功耗與長壽命
低功耗:OLED屏幕在顯示黑色時(shí)幾乎不耗電,因?yàn)楹谏袼攸c(diǎn)是不發(fā)光的。這一特性使得OLED驅(qū)動芯片在物聯(lián)網(wǎng)設(shè)備中能夠顯著降低功耗,延長設(shè)備的使用時(shí)間。
長壽命:雖然傳統(tǒng)OLED屏幕存在燒屏問題,但現(xiàn)代OLED技術(shù)和驅(qū)動芯片設(shè)計(jì)已經(jīng)大大改善了這一問題,使得OLED屏幕在物聯(lián)網(wǎng)設(shè)備中的使用壽命得到保障。
靈活性與創(chuàng)新性
輕薄設(shè)計(jì):OLED屏幕可以做得非常輕薄,這使得物聯(lián)網(wǎng)設(shè)備在設(shè)計(jì)上更加靈活,可以適應(yīng)各種形狀和尺寸的需求。
可彎曲和可折疊:OLED屏幕還具有可彎曲和可折疊的特性,這為物聯(lián)網(wǎng)設(shè)備的設(shè)計(jì)提供了更多的可能性,如可穿戴設(shè)備、柔性顯示屏等。
簡化設(shè)計(jì)與降低成本
集成化設(shè)計(jì):OLED驅(qū)動芯片通常將觸控芯片和顯示驅(qū)動芯片集成在一起,形成TDDI(觸控與顯示驅(qū)動集成)芯片,這大大簡化了物聯(lián)網(wǎng)設(shè)備的硬件設(shè)計(jì),降低了制造成本。
減少外部組件:OLED驅(qū)動芯片內(nèi)置了多種功能,如對比度控制、顯示RAM和振蕩器等,減少了外部組件的需求,進(jìn)一步降低了系統(tǒng)的復(fù)雜性和成本。
市場與技術(shù)趨勢
市場需求:隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,對高清晰度、低功耗、靈活設(shè)計(jì)的顯示屏需求日益增加,OLED驅(qū)動芯片正好滿足了這些需求。
技術(shù)進(jìn)步:OLED技術(shù)和驅(qū)動芯片設(shè)計(jì)不斷取得突破,性能不斷提升,成本不斷降低,為物聯(lián)網(wǎng)系統(tǒng)的廣泛應(yīng)用提供了有力支持。
具體應(yīng)用場景
中高端產(chǎn)品:OLED技術(shù)在智能手機(jī)領(lǐng)域的應(yīng)用已經(jīng)相當(dāng)成熟,特別是在中高端產(chǎn)品中,OLED顯示屏因其色彩鮮艷、對比度高、可彎曲等特性而備受歡迎。OLED驅(qū)動芯片作為這些顯示屏的核心組件,對于提升手機(jī)的顯示效果和用戶體驗(yàn)至關(guān)重要。
技術(shù)趨勢:隨著OLED技術(shù)的不斷發(fā)展,如折疊屏、屏下攝像頭等技術(shù)的出現(xiàn),對OLED驅(qū)動芯片提出了更高的要求。例如,支持LTPO(Low-Temperature Polycrystalline Oxide)動態(tài)刷新率技術(shù)的OLED驅(qū)動芯片能夠更好地適應(yīng)折疊屏手機(jī)的需求,提升續(xù)航能力和顯示效果。
平板電腦
輕薄化設(shè)計(jì):OLED顯示屏的輕薄特性使得其在平板電腦領(lǐng)域具有廣泛應(yīng)用。OLED驅(qū)動芯片通過控制顯示屏的像素點(diǎn),實(shí)現(xiàn)高清晰度、高色彩飽和度的顯示效果,同時(shí)降低功耗,延長設(shè)備的使用時(shí)間。
高端市場:在高端平板電腦市場中,OLED顯示屏已經(jīng)成為標(biāo)配。OLED驅(qū)動芯片作為這些顯示屏的核心組件,對于提升平板電腦的顯示效果和競爭力具有重要作用。
車載顯示
儀表盤和中控屏:隨著汽車智能化的發(fā)展,車載顯示屏的尺寸和分辨率不斷提高。OLED顯示屏因其出色的顯示效果和可彎曲特性,在車載儀表盤和中控屏等領(lǐng)域具有廣泛應(yīng)用前景。OLED驅(qū)動芯片通過提供穩(wěn)定、高效的驅(qū)動信號,確保車載顯示屏的顯示效果和穩(wěn)定性。
未來趨勢:隨著自動駕駛技術(shù)的不斷發(fā)展,車載顯示屏將扮演更加重要的角色。OLED驅(qū)動芯片將繼續(xù)優(yōu)化其性能,以適應(yīng)車載顯示屏的更高要求。
電視
高端市場:OLED電視因其出色的色彩表現(xiàn)和對比度,在高端市場占據(jù)一席之地。OLED驅(qū)動芯片作為OLED電視的核心組件之一,對于提升電視的顯示效果和畫質(zhì)具有重要作用。
大尺寸化:隨著OLED技術(shù)的不斷發(fā)展,大尺寸OLED電視已經(jīng)成為可能。OLED驅(qū)動芯片需要支持更高的分辨率和更大的像素點(diǎn)數(shù)量,以確保大尺寸OLED電視的顯示效果和穩(wěn)定性。
可穿戴設(shè)備
智能手表和智能手環(huán):OLED顯示屏在可穿戴設(shè)備領(lǐng)域的應(yīng)用非常廣泛。OLED驅(qū)動芯片通過控制顯示屏的亮度和色彩,實(shí)現(xiàn)低功耗、高清晰度的顯示效果,提升可穿戴設(shè)備的用戶體驗(yàn)。
健康監(jiān)測:隨著健康監(jiān)測功能的不斷加入,可穿戴設(shè)備對顯示屏的顯示效果和穩(wěn)定性提出了更高要求。OLED驅(qū)動芯片需要不斷優(yōu)化其性能,以適應(yīng)可穿戴設(shè)備的多樣化需求。
其他領(lǐng)域
游戲顯示面板:隨著游戲產(chǎn)業(yè)的發(fā)展,對顯示面板的要求越來越高。OLED顯示屏因其出色的色彩表現(xiàn)和刷新率,在游戲顯示面板領(lǐng)域具有廣泛應(yīng)用前景。OLED驅(qū)動芯片需要支持高刷新率、低延遲等特性,以確保游戲畫面的流暢性和清晰度。
筆記本電腦:隨著筆記本電腦輕薄化趨勢的加劇,OLED顯示屏逐漸成為筆記本電腦領(lǐng)域的新寵。OLED驅(qū)動芯片通過提供高效、穩(wěn)定的驅(qū)動信號,確保筆記本電腦顯示屏的顯示效果和穩(wěn)定性。
二、OLED驅(qū)動芯片的行業(yè)知識介紹
OLED驅(qū)動芯片的定義與作用
定義:OLED驅(qū)動芯片是OLED顯示屏的“大腦”,它通過對電流的控制來影響OLED面板的成像質(zhì)量。
作用:
控制OLED面板的顯示,包括像素的亮度、色彩等。
支持不同的像素分辨率、接口類型和其他功能性指標(biāo),決定OLED屏的應(yīng)用場景。
OLED驅(qū)動芯片的技術(shù)特點(diǎn)
技術(shù)難度:OLED驅(qū)動芯片的技術(shù)門檻較高,需要處理OLED面板制程不完美導(dǎo)致的各類電學(xué)、光學(xué)特性不均勻的補(bǔ)償功能。
圖像算法:相比LCD顯示芯片,OLED顯示芯片多了很多特有的圖像算法,如子像素渲染(SPR)、mura補(bǔ)償(demura)、圓角補(bǔ)償(Round/Notch)、電流補(bǔ)償(IRC)、串?dāng)_補(bǔ)償(CTC)、燒屏亮度補(bǔ)償(Deburin)等。
制程工藝:目前,用于AMOLED驅(qū)動芯片的主要制程工藝是40nm和28nm。雖然全球范圍內(nèi)已有多家芯片代工廠掌握了這些工藝,但能夠提供成熟產(chǎn)能的晶圓代工廠商有限,如臺積電、三星電子、聯(lián)華電子、格羅方德和中芯國際。
OLED驅(qū)動芯片的分類
1、按技術(shù)方向分類
帶Ram的IC
特點(diǎn):此類OLED驅(qū)動芯片內(nèi)置了Demura Ram和Display Ram。Demura Ram用于存儲屏幕顯示不均等問題的補(bǔ)償數(shù)據(jù),以提升顯示效果;Display Ram則用于存儲系統(tǒng)傳輸?shù)膱D片數(shù)據(jù),實(shí)現(xiàn)靜態(tài)畫面的低功耗顯示。
應(yīng)用:由于功耗低、顯示效果好,帶Ram的OLED驅(qū)動芯片是目前各家終端量產(chǎn)的主力。
Ram-less IC
特點(diǎn):保留了Demura Ram,但去掉了Display Ram。這意味著主機(jī)需要持續(xù)送圖給OLED驅(qū)動芯片,以支持視頻等動態(tài)內(nèi)容的顯示。
應(yīng)用:在視頻場景上,預(yù)計(jì)功耗與帶Ram的IC相差不大,但在靜態(tài)場景下功耗會較高。
TDDI(顯示&觸控集成的IC)
特點(diǎn):將觸摸屏控制器集成在OLED驅(qū)動芯片中,實(shí)現(xiàn)了觸控芯片與顯示驅(qū)動芯片之間更高效的通信,降低了顯示噪聲,并有利于移動電子設(shè)備的薄型化、窄邊框設(shè)計(jì)。
應(yīng)用:目前主要應(yīng)用于LCD屏幕的智能手機(jī),但在OLED領(lǐng)域也在逐步推廣。
2、按功能和應(yīng)用場景分類
基礎(chǔ)型OLED驅(qū)動芯片
特點(diǎn):提供基本的顯示驅(qū)動功能,適用于對顯示效果要求不高的應(yīng)用場景。
示例:一些低分辨率、低功耗的OLED顯示屏可能采用此類芯片。
高性能OLED驅(qū)動芯片
特點(diǎn):支持高分辨率、高刷新率、低功耗等特性,適用于對顯示效果要求較高的應(yīng)用場景。
示例:智能手機(jī)、平板電腦、高端電視等設(shè)備的OLED顯示屏通常采用此類芯片。
專用型OLED驅(qū)動芯片
特點(diǎn):針對特定應(yīng)用場景進(jìn)行優(yōu)化設(shè)計(jì),具有特定的功能和性能特點(diǎn)。
示例:車載顯示器、可穿戴設(shè)備等領(lǐng)域的OLED顯示屏可能采用專用型驅(qū)動芯片。
3、按接口類型分類
I2C接口OLED驅(qū)動芯片
特點(diǎn):采用I2C通信協(xié)議與主控設(shè)備連接,具有接口簡單、通信速度適中等特點(diǎn)。
示例:SSD1306、SH1106等芯片支持I2C接口。
SPI接口OLED驅(qū)動芯片
特點(diǎn):采用SPI通信協(xié)議與主控設(shè)備連接,具有通信速度快、可支持多通道通信等特點(diǎn)。
示例:SSD1351、ST7735等芯片支持SPI接口。
并行接口OLED驅(qū)動芯片
特點(diǎn):采用并行通信方式與主控設(shè)備連接,具有數(shù)據(jù)傳輸速度快、接口靈活等特點(diǎn)。
示例:部分早期或特定型號的OLED驅(qū)動芯片可能支持并行接口。
4、按市場主流類型分類
根據(jù)當(dāng)前市場情況,主流OLED驅(qū)動芯片主要包括以下幾類:
LCD顯示驅(qū)動芯片(LCD DDIC)
盡管這里提到的是LCD顯示驅(qū)動芯片,但OLED領(lǐng)域也有類似的分類方式。不過,由于OLED和LCD的顯示原理不同,OLED驅(qū)動芯片在設(shè)計(jì)和功能上會有所區(qū)別。
觸控顯示整合驅(qū)動芯片(TDDI)
如前所述,TDDI芯片將觸摸屏控制器與顯示驅(qū)動芯片集成在一起,廣泛應(yīng)用于智能手機(jī)等移動設(shè)備。
OLED顯示驅(qū)動芯片(OLED DDIC)
這是專門為OLED顯示屏設(shè)計(jì)的驅(qū)動芯片,具有控制OLED發(fā)光單元開關(guān)、調(diào)節(jié)亮度、色彩等功能。
OLED驅(qū)動芯片的選型參數(shù)
1、分辨率
定義:OLED驅(qū)動芯片的分辨率指的是其能夠驅(qū)動的OLED顯示屏的像素點(diǎn)數(shù)量,通常以“水平像素點(diǎn)×垂直像素點(diǎn)”的形式表示。
重要性:分辨率決定了顯示屏的清晰度和細(xì)膩程度,是選擇驅(qū)動芯片時(shí)的重要考慮因素。
示例:SSD1306和SSD1308等驅(qū)動芯片的分辨率均為128x64點(diǎn)矩陣面板,適用于小型便攜式應(yīng)用。
2、電源電壓
定義:包括IC邏輯電源電壓(VDD)和面板驅(qū)動電壓(VCC)。
重要性:電源電壓決定了芯片的工作環(huán)境和穩(wěn)定性,不同的應(yīng)用場景需要選擇適合的電源電壓范圍。
示例:對于SSD1306和SSD1308等芯片,IC邏輯的VDD通常為1.65V至3.3V,而面板驅(qū)動的VCC則為7V至15V。
3、電流能力
定義:包括OLED驅(qū)動的最大輸出電壓、最大源電流和最大匯電流等。
重要性:這些參數(shù)決定了芯片的驅(qū)動能力和功耗水平,對于保證顯示屏的正常工作至關(guān)重要。
示例:SSD1306和SSD1308等芯片在OLED驅(qū)動輸出電壓上最大可達(dá)15V,SSD1306的段最大源電流為100uA,公共最大匯電流為15mA。
4、亮度控制
定義:OLED驅(qū)動芯片通常具有亮度控制功能,通過調(diào)整對比度或亮度級數(shù)來改變顯示屏的亮度。
重要性:亮度控制對于提升用戶體驗(yàn)、降低功耗等方面具有重要意義。
示例:SSD1306和SSD1308等芯片均提供256級亮度控制,用戶可以根據(jù)需要調(diào)整顯示屏的亮度。
5、接口類型
定義:OLED驅(qū)動芯片與微控制器(MCU)之間的通信接口類型,常見的有I2C接口、SPI接口、6800/8000系列并行接口等。
重要性:接口類型決定了芯片與MCU之間的通信方式和數(shù)據(jù)傳輸效率,對于系統(tǒng)的整體性能和穩(wěn)定性具有重要影響。
示例:SSD1306和SSD1308等芯片均支持I2C接口、SPI接口以及6800/8000系列并行接口,用戶可以根據(jù)實(shí)際需要選擇合適的接口類型。
6、其他參數(shù)
工作溫度范圍:決定了芯片在不同溫度環(huán)境下的工作穩(wěn)定性和可靠性。
封裝形式:如COG和COF等封裝形式,對芯片的尺寸、安裝方式和散熱性能等有影響。
可編程幀速率和復(fù)用率:這些參數(shù)決定了顯示屏的刷新率和顯示效果,對于動態(tài)顯示應(yīng)用尤為重要
OLED驅(qū)動芯片的廠商
國際廠商
韓國廠商
三星電子系統(tǒng)LSI:在OLED驅(qū)動芯片(DDI)市場占據(jù)領(lǐng)先地位,特別是在智能手機(jī)領(lǐng)域。據(jù)市場調(diào)查,三星電子系統(tǒng)LSI在OLED DDI市場的占有率較高,且為蘋果旗艦智能手機(jī)iPhone提供了OLED DDI供應(yīng)。
LSI:主力供應(yīng)給三星,并同時(shí)供應(yīng)給國內(nèi)的華米OV等品牌。
Siliconworks:幾乎是蘋果手機(jī)的獨(dú)供廠商,技術(shù)能力不容輕視。
Magnachip:原計(jì)劃被大陸收購,但因美國芯片制裁被叫停,現(xiàn)階段開發(fā)針對國產(chǎn)市場的芯片。
臺灣廠商
Novatek:國產(chǎn)OLED屏幕的主力供應(yīng)商,已進(jìn)入華米OV等頭部品牌客戶。
Raydium:在行業(yè)內(nèi)相對缺料的環(huán)境下,也打入了OPPO、vivo、榮耀等品牌客戶。
Ilitek:與oppo合作關(guān)系密切,主要供應(yīng)給oppo和聯(lián)想。
聯(lián)詠:中國臺灣企業(yè)中唯一一家OLED DDI占有率達(dá)到兩位數(shù)的企業(yè),且在LCD DDI市場也有顯著表現(xiàn)。
美國廠商
新思:其OLED DDIC產(chǎn)品目前全部供應(yīng)給華為和榮耀。
大陸廠商
大陸在OLED驅(qū)動芯片領(lǐng)域的技術(shù)能力雖然起步較晚,但也在逐步進(jìn)步并爭取市場份額。主要代表廠商包括:
Chipone、Eswin、云英谷:在疫情期間因缺貨,在華為和榮耀有接近百萬級別的量產(chǎn)。
芯穎、晟合、昇顯微:主要供貨給華強(qiáng)北等維修市場。
韋爾:雖然進(jìn)入OLED DDIC行業(yè)較晚,但推出的產(chǎn)品已處于驗(yàn)證階段,后續(xù)是否量產(chǎn)還有待觀察。
華為海思:也在開發(fā)自己的OLED顯示驅(qū)動芯片,但受特殊背景影響,預(yù)期后期仍將處于相對被動的局面。
OLED驅(qū)動芯片的市場現(xiàn)狀
需求增長:隨著OLED面板在電視、智能手機(jī)、智能手表等領(lǐng)域的廣泛應(yīng)用以及在新興應(yīng)用領(lǐng)域(如游戲顯示面板、筆記本電腦、平板電腦、車用產(chǎn)品)的滲透率不斷提升,OLED驅(qū)動芯片的需求量也在快速增長。據(jù)Omdia數(shù)據(jù),2022年OLED DDIC出貨量約10億顆,預(yù)計(jì)2023年OLED DDIC出貨量有望同比增長14%,達(dá)到11.6億顆。
競爭格局:目前,韓國的三星LSI和美格納(Magna Chip)在OLED驅(qū)動芯片市場占據(jù)主導(dǎo)地位,兩家企業(yè)的市場份額已近80%。而中國大陸在OLED驅(qū)動IC方面的市場占有率還不到5%,但國內(nèi)芯片廠商自研OLED驅(qū)動芯片的進(jìn)程正在加快,有望補(bǔ)齊我國OLED產(chǎn)業(yè)的短板。
OLED驅(qū)動芯片的發(fā)展趨勢
技術(shù)創(chuàng)新:隨著OLED技術(shù)的不斷發(fā)展,新的技術(shù)點(diǎn)如LTPO動態(tài)刷新技術(shù)、屏下攝像頭技術(shù)、分區(qū)刷新率技術(shù)等不斷涌現(xiàn),這些都需要OLED顯示芯片開發(fā)新的驅(qū)動方式和專屬功能來協(xié)同使用。
產(chǎn)能擴(kuò)張:盡管OLED驅(qū)動芯片技術(shù)門檻較高,但國內(nèi)芯片廠商正在加快自研進(jìn)程,并通過與顯示面板企業(yè)的緊密合作來降低研發(fā)和量產(chǎn)成本。隨著產(chǎn)能的逐步擴(kuò)大,OLED驅(qū)動芯片的供應(yīng)緊張狀況有望得到緩解。
OLED驅(qū)動芯片的其他重要信息
全球趨勢:根據(jù)群智咨詢的調(diào)查數(shù)據(jù),預(yù)計(jì)2024年全球OLED驅(qū)動芯片需求(僅28/40nm制程)將同比增長約17.9%,中國內(nèi)地OLED驅(qū)動芯片需求同比增長達(dá)32.2%。這表明OLED驅(qū)動芯片市場在全球范圍內(nèi),特別是在中國內(nèi)地地區(qū),有著顯著的增長潛力。
供應(yīng)鏈合作:OLED驅(qū)動芯片的供應(yīng)鏈合作復(fù)雜,涉及多個(gè)設(shè)計(jì)公司和制造廠商。設(shè)計(jì)公司如LSI、Novatek等通過與晶圓代工廠如UMC、TSMC等的緊密合作,實(shí)現(xiàn)了OLED驅(qū)動芯片的大規(guī)模量產(chǎn)。
三、OLED驅(qū)動芯片的硬件設(shè)計(jì)方案
本文主要采用了晶門半導(dǎo)體有限公司的SSD1315做為驅(qū)動芯片。
一、SSD1315基本信息
類型:單芯片CMOS OLED/PLED驅(qū)動控制芯片。
功能:直接從內(nèi)部12864位GDDRAM(圖形顯示數(shù)據(jù)RAM)中顯示數(shù)據(jù),支持單色12864點(diǎn)陣顯示。
接口方式:SSD1315支持多種接口方式,包括6800、8080、SPI和I2C等,這使得它可以根據(jù)不同的應(yīng)用需求選擇合適的通信方式。
二、SSD1315技術(shù)特點(diǎn)
內(nèi)存尋址模式:SSD1315支持三種內(nèi)存尋址模式,包括水平尋址模式、垂直尋址模式和頁尋址模式。這些模式允許用戶根據(jù)需要選擇合適的讀寫方式,提高顯示效率。
顯示控制:SSD1315提供了豐富的顯示控制功能,如設(shè)置顯示起始行、對比度控制、段重映射、正反顯示、顯示開關(guān)等。這些功能使得用戶可以靈活控制OLED顯示屏的顯示效果。
滾動功能:SSD1315支持水平和垂直滾動功能,用戶可以通過設(shè)置滾動區(qū)域和滾動方向來實(shí)現(xiàn)復(fù)雜的顯示效果。
硬件配置:SSD1315的硬件配置靈活,可以通過設(shè)置不同的引腳電平來選擇不同的工作模式。此外,它還支持多種硬件配置選項(xiàng),如設(shè)置COM輸出掃描方向、Vcomh級別等。
三、SSD1315應(yīng)用場景
SSD1315廣泛應(yīng)用于各種需要OLED顯示屏的場合,如電子標(biāo)簽、儀器儀表、消費(fèi)電子產(chǎn)品等。由于其低功耗、高對比度、快速響應(yīng)等優(yōu)點(diǎn),SSD1315在便攜式設(shè)備和低功耗應(yīng)用中尤為受歡迎。
硬件參考設(shè)計(jì)
研發(fā)設(shè)計(jì)注意使用事項(xiàng)
硬件連接:在使用SSD1315時(shí),需要確保硬件連接正確無誤。特別是電源線和數(shù)據(jù)線的連接,必須按照規(guī)格書的要求進(jìn)行連接。
初始化設(shè)置:在使用SSD1315之前,需要進(jìn)行初始化設(shè)置。這些設(shè)置包括設(shè)置內(nèi)存尋址模式、顯示控制參數(shù)等。正確的初始化設(shè)置是確保OLED顯示屏正常工作的關(guān)鍵。
驅(qū)動程序:為了控制SSD1315并驅(qū)動OLED顯示屏,需要編寫相應(yīng)的驅(qū)動程序。這些驅(qū)動程序需要根據(jù)SSD1315的規(guī)格書進(jìn)行編寫,以確保與芯片的兼容性和穩(wěn)定性。
四、OLED驅(qū)動芯片的軟件設(shè)計(jì)方案
本文采用了奇跡物聯(lián)的紅豆版開源技術(shù)平臺為主控單元,一步步手把手教會讀者如何使用紅豆版開源平臺編寫SSD1315驅(qū)動。這里對代碼就不多詳解,如果需要詳細(xì)了解,請到奇跡物聯(lián)的紅豆版開源平臺了解詳細(xì)代碼講解。
1 Gitee鏈接地址
Demo位于amaziot_bloom_os_sdksample3rd3.1_SSD1315
Gitee源碼地址:https://gitee.com/ning./hongdou
Github源碼地址:https://github.com/ayumid/hongdou
編譯指令:.build.bat -l .amaziot_bloom_os_sdksample3rd3.1_SSD1315
2 組件功能介紹
驅(qū)動OLED顯示圖片,不同大小的漢字,字符,數(shù)字;畫圓,畫矩形,畫線;OLED驅(qū)動使用SSD1315。任何品牌的OLED,只要是驅(qū)動芯片使用的SSD1315,都可以使用本驅(qū)動。驅(qū)動使用模擬spi實(shí)現(xiàn)。
使用SSD1315作為主控的OLED,硬件有兩種接法,區(qū)別是是否使用DC引腳。使用DC引腳,需要主控來控制DC引腳確定當(dāng)前發(fā)送的是命令還是數(shù)據(jù),不使用DC引腳,需要主控在發(fā)送數(shù)據(jù)之前發(fā)送一個(gè)bit,來確定是命令還是數(shù)據(jù),具體查看drv_ssd1315_wr_byte的實(shí)現(xiàn)。
3 代碼講解
1 drv_ssd1315_show_picture
功能:該函數(shù)用于,顯示圖片。
參數(shù):
參數(shù) | 釋義 |
x,y | 起點(diǎn)坐標(biāo) |
sizex,sizey | 圖片長寬 |
BMP[] | 要寫入的圖片數(shù)組 |
mode | 反色顯示;1,正常顯示 |
返回值:無
示例:
//顯示圖片,注意參數(shù)和實(shí)際點(diǎn)陣大小一致 drv_ssd1315_show_picture(0,12,132,37,BMP1,1);
2 drv_ssd1315_scroll_display
功能:該函數(shù)用于,滾動顯示漢字。
參數(shù):
參數(shù) | 釋義 |
num | 顯示漢字的個(gè)數(shù) |
space | 每一遍顯示的間隔 |
mode | 0,反色顯示;1,正常顯示 |
返回值:無
示例:
//滾動顯示漢字 drv_ssd1315_scroll_display(14,4,1); //3
3 drv_ssd1315_show_chinese
功能:該函數(shù)用于,顯示漢字。
參數(shù):
參數(shù) | 釋義 |
x,y | 起點(diǎn)坐標(biāo) |
num | 漢字對應(yīng)的序號 |
mode | 0,反色顯示;1,正常顯示 |
返回值:無
示例:
//顯示不同大小的漢字 drv_ssd1315_show_chinese(0,0,0,16,1); //16*16 drv_ssd1315_show_chinese(16,0,0,24,1); //24*24 drv_ssd1315_show_chinese(24,25,0,32,1);//32*32 drv_ssd1315_show_chinese(64,0,0,64,1); //64*64
4 drv_ssd1315_show_num
功能:該函數(shù)用于,顯示數(shù)字。
參數(shù):
參數(shù) | 釋義 |
x1,y1 | 起始坐標(biāo) |
x2,y2 | 終止坐標(biāo) |
color | 線的顏色 |
返回值:無
示例:
5 drv_ssd1315_pow
功能:該函數(shù)用于,顯示數(shù)字。
參數(shù):
參數(shù) | 釋義 |
m | 底數(shù) |
n | 指數(shù) |
返回值:無
示例:
temp=(num/drv_ssd1315_pow(10,len-t-1))%10;
6 drv_ssd1315_show_string
功能:該函數(shù)用于,顯示字符串。
參數(shù):
參數(shù) | 釋義 |
x,y | 起點(diǎn)坐標(biāo) |
size1 | 字體大小 |
*chr | 字符串起始地址 |
mode | 0,反色顯示;1,正常顯示 |
返回值:無
示例:
//顯示字符,數(shù)字 drv_ssd1315_show_string(36,16,"AMAZIOT",16,1); drv_ssd1315_show_string(26,32,"2024/06/01",16,1);
7 drv_ssd1315_show_char
功能:該函數(shù)用于,在指定位置顯示一個(gè)字符,包括部分字符。
參數(shù):
參數(shù) | 釋義 |
x,y | 顯示坐標(biāo) |
size1 | 選擇字體 6x8/6x12/8x16/12x24 |
mode | 0,反色顯示;1,正常顯示 |
返回值:無
示例:
drv_ssd1315_show_char(48,48,t,16,1);//顯示ASCII字符
8 drv_ssd1315_draw_circle
功能:該函數(shù)用于,畫圓。
參數(shù):
參數(shù) | 釋義 |
x,y | 顯示坐標(biāo) |
r | 圓的半徑 |
返回值:無
示例:
9 drv_ssd1315_draw_line
功能:該函數(shù)用于,畫線。
參數(shù):
參數(shù) | 釋義 |
x1,y1 | 起點(diǎn)坐標(biāo) |
x2,y2 | 結(jié)束坐標(biāo) |
返回值:無
示例:
10 drv_ssd1315_draw_point
功能:該函數(shù)用于,畫點(diǎn)。
參數(shù):
參數(shù) | 釋義 |
x,y | 顯示坐標(biāo) |
t | 1 填充 0,清空 |
返回值:無
示例:
11 drv_ssd1315_clear
功能:該函數(shù)用于,清屏。
參數(shù):無
返回值:無
示例:
drv_ssd1315_clear();
12 drv_ssd1315_refresh
功能:該函數(shù)用于,更新顯存到OLED。
參數(shù):無
返回值:無
示例:
drv_ssd1315_refresh();
13 drv_ssd1315_display_on
功能:該函數(shù)用于,開啟OLED顯示。
參數(shù):
返回值:無
示例:
14 drv_ssd1315_wr_byte
功能:該函數(shù)用于,發(fā)送一個(gè)字節(jié)的數(shù)據(jù),注意硬件DC引腳有誤,會根據(jù)宏定義DRV_SSD1315_USED_DC_PIN來控制使用哪種驅(qū)動實(shí)現(xiàn)方式。
參數(shù):
參數(shù) | 釋義 |
dat | 數(shù)據(jù) |
cmd | 命令 數(shù)據(jù) |
width | 圖片寬度 |
pic[] | 圖片數(shù)組 |
返回值:無
示例:
drv_ssd1315_wr_byte(0xAE,DRV_SSD1315_OLED_CMD);//--turn off oled panel
15 drv_ssd1315_display_turn
功能:該函數(shù)用于,屏幕旋轉(zhuǎn)180度。
參數(shù):
參數(shù) | 釋義 |
i | 0 正常顯示 1 翻轉(zhuǎn)180度 |
返回值:無u
示例:
16 drv_ssd1315_color_turn
功能:該函數(shù)用于,反顯函數(shù)。
參數(shù):
參數(shù) | 釋義 |
i | 0 正常顯示 1 反色顯示 |
返回值:無
示例:
4 Demo實(shí)戰(zhàn)
4.1 創(chuàng)建一個(gè)Demo
復(fù)制20.1_file_xtu示例工程,到同一個(gè)文件夾下,修改文件名為3.1_SSD1315,如圖:
4.2 修改makefile
增加文件組件所在目錄頭文件路徑,和源文件路徑,如圖:
4.3 增加頭文件
使用代碼編輯器,將新建的工程文件加入代碼編輯器中,打開main.c,修改main.c,加入am.h等頭文件,如圖:
4.4 修改代碼
在Phase2Inits_exit 創(chuàng)建一個(gè)任務(wù),如圖:
4.5 宏定義介紹
sample_ssd1315_uart_printf
輸出日志到DEBUG 串口,日志比較少,可以輸出到這個(gè)串口,如果日志比較多,需要輸出到usb口,以免不必要的問題出現(xiàn)
sample_ssd1315_catstudio_printf
輸出日志到USB 串口,使用catstudio查看,catstudio查看日志需要更新對應(yīng)版本mdb.txt文件,軟件打開filtter過濾日志,只查看用戶輸出的日志
SAMPLE_SSD1315_STACK_SIZE
棧空間宏定義
4.6 全局變量介紹
sample_ssd1315_stack_ptr
任務(wù)??臻g,本例使用數(shù)組實(shí)現(xiàn),用戶在做項(xiàng)目時(shí),可以預(yù)先估算下當(dāng)先任務(wù)需要的大致??臻g,OS沒有提供可以查看??臻g使用情況的API
sample_ssd1315_task_ref
任務(wù)指針
4.7 函數(shù)介紹
Phase1Inits_enter
底層初始化,本例空
Phase1Inits_exit
底層初始化,本例空
Phase2Inits_enter
底層初始化,本例空
Phase2Inits_exit
創(chuàng)建主任務(wù),初始化消息隊(duì)列,定時(shí)器,任務(wù)等。
代碼片段:
{ int ret = 0; GPIOConfiguration config = {0}; //創(chuàng)建定時(shí)?? OSATimerCreate(&sample_xl9535_int_detect_timer_ref); //創(chuàng)建中斷處理任務(wù) OSATaskCreate(&sample_ssd1315_task_ref, sample_ssd1315_stack_ptr, SAMPLE_SSD1315_STACK_SIZE, 100, "ssd1315_task", sample_ssd1315_task, NULL); }
sample_exat_rcv_uart_task
主任務(wù),獲取imsi,rsrq等參數(shù)信息。
代碼片段:
void sample_ssd1315_task(void *param) { OSA_STATUS status = OS_SUCCESS; float t=0; drv_ssd1315_init();//初始化OLED drv_ssd1315_color_turn(0);//0正常顯示,1 反色顯示 drv_ssd1315_display_turn(0);//0正常顯示 1 屏幕翻轉(zhuǎn)顯示 while(1) { //顯示圖片,注意參數(shù)和實(shí)際點(diǎn)陣大小一致 drv_ssd1315_show_picture(0,12,132,37,BMP1,1); drv_ssd1315_refresh(); sample_ssd1315_sleep(1); drv_ssd1315_clear(); //顯示漢字 drv_ssd1315_show_chinese(30,0,0,16,1);// drv_ssd1315_show_chinese(48,0,1,16,1);// drv_ssd1315_show_chinese(64,0,2,16,1);// drv_ssd1315_show_chinese(82,0,3,16,1);// //顯示字符,數(shù)字 drv_ssd1315_show_string(36,16,"AMAZIOT",16,1); drv_ssd1315_show_string(26,32,"2024/06/01",16,1); drv_ssd1315_show_string(0,48,"ASCII:",16,1); drv_ssd1315_show_string(63,48,"CODE:",16,1); drv_ssd1315_show_char(48,48,t,16,1);//顯示ASCII字符 t++; if(t>'~')t=' '; drv_ssd1315_show_num(103,48,t,3,16,1); drv_ssd1315_refresh(); sample_ssd1315_sleep(1); drv_ssd1315_clear(); //顯示不同大小的漢字 drv_ssd1315_show_chinese(0,0,0,16,1); //16*16 drv_ssd1315_show_chinese(16,0,0,24,1); //24*24 drv_ssd1315_show_chinese(24,25,0,32,1);//32*32 drv_ssd1315_show_chinese(64,0,0,64,1); //64*64 drv_ssd1315_refresh(); sample_ssd1315_sleep(1); drv_ssd1315_clear(); //顯示不同大小的字符 drv_ssd1315_show_string(0,0,"AMAZIOT",8,1);//6*8 "AMAZIOT" drv_ssd1315_show_string(0,8,"AMAZIOT",12,1);//6*12 "AMAZIOT" drv_ssd1315_show_string(0,20,"AMAZIOT",16,1);//8*16 "AMAZIOT" drv_ssd1315_show_string(0,36,"AMAZIOT",24,1);//12*24 "AMAZIOT" drv_ssd1315_refresh(); sample_ssd1315_sleep(1); //滾動顯示漢字 drv_ssd1315_scroll_display(14,4,1); } }
4.8 編譯
在SDK根目錄打開命令行,輸入命令.build.bat -l .amaziot_bloom_os_sdksample3rd3.1_SSD1315
PS F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF λ .build.bat -l .amaziot_bloom_os_sdksample3rd3.1_SSD1315 子目錄或文件 outbin 已經(jīng)存在。 命令語法不正確。 子目錄或文件 buildobj 已經(jīng)存在。 gnumake: Entering directory `F:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/3.1_SSD1315' armcc.exe -c --cpu Cortex-R4 --no_unaligned_access -g -O2 --apcs /inter --diag_suppress 2084,1,2,177,188,223,550,1296,2795,6319,9931,9933 --diag_error=warning --gnu --thumb --loose_implicit_cast -DDATA_COLLECTOR_IMPL -DISPT_OVER_SSP -DDIAG_SSP_DOUBLE_BUFFER_USE_DYNAMIC_ALLOCATION -DENV_XSCALE -DL1_DCXO_ENABLED -DLTE_HIGH_MOBILITY_OPTIMIZATION -DRUN_XIP_MODE -DCRANE_Z2 -DCA_LONG_IPC_MSG -DNEZHA3 -DNEZHA3_1826 -DUPGRADE_PLMS -DUPGRADE_PLMS_SR -DLTE_GSMMULTIBCCH -DGPLC_LTE_RSSI_SCAN -DL1V_NEW_RSSI -DUPGRADE_PLMS_3G -DUPGRADE_PLMS_L1 -DUPGRADE_FG_PLMS -DFG_PLMS_URR -DUPGRADE_L1A_FG_PLMS -DUPGRADE_PLMS_STAGE_2 -DUPGRADE_MBCCH -DMULTI_BCCH_READY_IND -DURR_MRAT_ICS_SEARCH -DUPGRADE_ICS -DMRAT_NAS -DUPGRADE_PLMS_SEARCH_API -DICS_MBCCH -DICS_MBCCH_2G_RSSI -DDIAG_NEWPP -DPHS_SW_DEMO -DPHS_SW_DEMO_TTC -DPHS_SW_DEMO_TTC_PM -DFULL_SYSTEM -D_DDR_INIT_ -D_TAVOR_HARBELL_ -DUPGRADE_ARBEL_PLATFORM -D_TAVOR_B0_SILICON_ -DTDL1C_SPY_ENABLE -DDLM_TAVOR -DTAVOR -DFLAVOR_DUALCORE -DDEBUG_D2_MOR_REG_RESEREVED_ENABLE -D_DIAG_USE_COMMSTACK_ -D_TAVOR_DIAG_ -DPM_DEBUG_MODE_ENABLED -DPM_D2FULL_MODE -DPM_EXT_DBG_INT_ARR -DFEATURE_WB_AMR_PS -DMACRO_FOR_LWG -DHL_LWG -DOPTIMIZE_FOR_2G_BCCH -DPLAT_TEST -D_FDI_USE_OSA_ -DPLAT_USE_THREADX -DLWIP_IPNETBUF_SUPPORT -DCRANE_MCU_DONGLE -DAT_OVER_UART -DPHS_SW_DEMO_TTC_PM -DUPGRADE_LTE_ONLY -DEXT_AT_MODEM_SUPPORT -DLTEONLY_THIN_SINGLE_SIM -DLFS_FILE_SYS -DLFS_FILE_SYS_V2 -DPSM_ENABLE -DNO_PAHO_MQTT -DNO_XML -DNO_LWM2M -DREMOVE_MBEDTLS -DNO_AT_NET -DCRANE_SD_NOT_SUPPORT -DNTP -DYMODEM_EEH_DUMP -DENABLE_DM_LTEONLY -DLTEONLY_THIN -DNO_EXTEND_MY_Q_AT -DNOT_SUPPORT_HTTPS -DNOT_SUPPORT_PM813 -DCRANEL_4MRAM -DREMOVE_PB -DUART_NEW_VERSION -DREMOVE_MEP -DREMOVE_SMS -DREMOVE_ENVSIM -DAPN_INCODE -DLTEONLY_THIN_SINGLE_SIM_2MFLASH -DASR160X_OPENCPU_FEATURE -DENABLE_UART3_FEATRUE -DENABLE_UART4_FEATRUE -DYUGE_MBEDTLS_3_2_1 -DENABLE_MAC_TX_DATA_LOGGING -DDISABLE_NVRAM_ACCESS -DINTEL_UPGRADE_EE_HANDLER_SUPPORT -DLTE_W_PS -DL1_DUAL_MODE -DUPGRADE_HERMON_DUAL -DINTEL_UPGRADE_DUAL_RAT -DINTEL_UPGRADE_GPRS_CIPHER_FLUSH -DUPGRADE_ENHANCED_QUAD_BAND -DINTEL_2CHIP_PLAT -DI_2CHIP_PLAT -DUPGRDE_TAVOR_COMMUNICATION -DRUN_WIRELESS_MODEM -DFLAVOR_DDR12MB_GB1MB5 -DFEATURE_SHMEM -DACIPC_ENABLE_NEW_CALLBACK_MECHANISM -DRELIABLE_DATA -DMAP_NSS -DTV_FNAME=""SW_PLATFORM=PMD2NONE PHS_SW_DEMO PHS_SW_DEMO_PM SRCNUCLEUS FULL_SYSTEM NOACRTC PDFLT PLAT_TEST PV2 DIAGOSHMEM NVM WITHL1V"" -DTV_FDESC=""SW_DESCRIPTION="" -DENABLE_ACIPC -D_DATAOMSL_ENABLED_ -DUSB_CABLE_DETECTION_VIA_PMIC -DMIPS_TEST -DMIPS_TEST_RAM -DFLAVOR_DIET_RAM -DNVM_INCLUDE -DMSL_INCLUDE -DMSL_POOL_MEM -DNO_AUDIO -DOSA_QUEUE_NAMES -D_DIAG_DISABLE_USB_ -DOSA_NUCLEUS -DOSA_USED -DPM_D2NONE_MODE -DCRANE_SOC_TEMPERATURE_SENSOR -DL1_SW_UPDATE_FOR_DIGRF -DPHS_L1_SW_UPDATE_R7 -DUPGRADE_LTE -DFRBD_CALIB_NVM -DFRBD_AGC_CALIB -DFRBD_FDT_CALIB -DHSPA_MPR -DCAPT_PARAMS_OPTIMIZE -DL1_WB_R99_ONLY -DL1V_WB_R99_ONLY -DINTERGRATED_RF_SUPPORT -DL1_RX_DIV_SUPPORT -DENABLE_OOS_HANDLING -DTAVOR_D2_WB_L1_SUPPORT -DL1_DDR_HIGH_FREQ -DUPGRADE_DIGRF3G_SUPPORT -DW_PS_PLUS_G_PAGING -D"NO_APLP=0" -DINTEL_UPGRADE_UNIFIED_VOICE_TASK -DINTEL_UPGRADE_R99 -DAPLP_SPY_ENABLE -D__TARGET_FEATURE_DOUBLEWORD -DWHOLE_UMTS_STACK -DUSE_TTPCOM_CSR_BLUETOOTH_AUDIO_GAIN_CONTROL -DL1_UPGRADE_R5 -DUPGRADE_EDGE -DUPGRADE_R4_FS1 -DINTEL_UPGRADE_GSM_CRL_IF -DUPGRADE_EGPRS_M -DINTEL_UPGRADE_EGPRS_M -DINTEL_UPGRADE_RF_PARAMS_IN_CF_TDS -DINTEL_UPGRADE_2SAMPLES_PER_SYMBOL -D"GPRS_MULTISLOT_CLASS=12" -D"EGPRS_MULTISLOT_CLASS=12" -DMARVELL_UPGRADE_BSIC_REDESIGN -DMSL_INCLUDE -DINTEL_HERMON_SAC -DCRANE_CUST_BUILD -DL1_SW_UPDATE_FOR_DIGRF -DFLAVOR_COM -DSILICON_PV2 -DSILICON_SEAGULL -DSILICON_TTC_CORE_SEAGULL -DPCAC_INCLUDE -Otime -DBUILD_DATE=""06 07 2024"" -DBUILD_TIME=""15:00:50"" -Iatcmdsinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyyugeinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalUARTinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalcoreinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalPMUinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalGPIOinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xosposixinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xdiagdiag_logicsrc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswSysCfginc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswplatforminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xenvwin32inc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswBSPinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswplatformdev_platbuild -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xososainc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xosthreadxinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xosnu_xscaleinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacpsminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcachttpclientsrc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xdiagdiag_logicinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptimerinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopintcinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswPMinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoppminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilTickManagerinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopBSPinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyatcmdsrvinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyatparserinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonysdkinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcachttpclientinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacciinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcinclude -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludearch -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludeipv4 -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludeipv6 -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludelwip -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludenetif -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopmmi_matinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xtavorArbelinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xtavorenvinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonymodeminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacdusterinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacfotainc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalI2Cinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalACIPCinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilfatsysflash -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilFDIsrcINCLUDE -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalMMUinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilFDIsrcFDI_ADD -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilFDIsrcFM_INC -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilfatsysfshdr -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutillittlefsinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacttsinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacdialinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilcsw_memoryinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoputilitiesinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopcommpminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilnvminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilEEhandlerinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilEEhandlersrc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopRTCinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyci_clientinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalBT_deviceinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalUARTinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopmrdinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopdmainc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilsoftutilinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalSPIinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacwebsocketinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacatnet_srvinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilfotacomminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swAudioinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swACM_COMMinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swaudio_stubsrc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopaaminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swAudioHALinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhaldbgshellinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacopencpuinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFamaziot_bloom_os_sdkutils -IF:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/3.1_SSD1315aminc -IF:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/3.1_SSD1315atcmdsinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFamaziot_bloom_os_sdk3rd_drives -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFamaziot_bloom_os_sdk3rd_drivesSSD1315 -o buildobj/ext_at_cmds.o F:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/3.1_SSD1315/atcmds/src/ext_at_cmds.c armlink.exe buildobj/main.o buildobj/ext_at_cmds.o buildobj/ext_at_controller.o buildobj/drv_ssd1315_oled.o -o F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFoutbinArbel_PMD2NONE_40M.axf --via F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFprebuilt_1606lArbel_PMD2NONE_targ_objliblist.txt --elf --scatter F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFprebuilt_1606lCrane_DS_4M_Ram_2M_Flash_XIP_CIPSRAM_Common_SingleSIM.sct --predefine="-DLTEONLY_THIN_SINGLE_SIM" --map --symbols --info sizes,totals --list F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFoutbinArbel_PMD2NONE_40M.map --keep init.o(Header) --keep init.o(Vectors) --diag_suppress 6312,6314,6319,6329 --feedback F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFoutfeedbackLinkOptLteonlyThin_SingleSim_NoSMS.txt F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFtoolsbuildimage_1606l.bat SDK_PROD_TYPE : [DM] SDK_CUST_SKU : [THIN_SINGLE_SIM_NO_SMS] SDK_PS_MODE : [LTEONLY] SDK_CHIP_VER : [Z2A0] SDK_OS_TYPE : [TX] Platform Convertion Tools v4.01 with PS option extension Convertion done! |INPUT |outbincp_1606L.bin |MARK |NAME |EXEADDR .LOADADDR.LENGTH .CPZLADDR|COMPRESS STASTIC | |--------|--------|--------.--------.--------.--------|------------------------------| |This Is LteOnly 4M| |RW_CPZ_1|DDR_RW_ |7e119000.80066758.0000d32c.80067000|0000d32c->00003000 |This Is LteOnly 4M| |RW_CPZ_2|PS_NCAH |7e388000.80073a84.00001300.8006a000|00001300->00001000 |This Is LteOnly 4M| |RW_CPZ_3|ITCM |7e3dac00.80074d84.0000f51c.8006b000|0000f51c->0000a000 |This Is LteOnly 4M| |RW_CPZ_4|CODE_PS |7e1aa000.800842a0.0002fe38.80075000|0002fe38->0001e000 |This Is LteOnly 4M| |RW_CPZ_5|CODEPSB |7e1dc000.800b40d8.000339c0.80093000|000339c0->0001b000 |This Is LteOnly 4M| |RW_CPZ_6|CODEPSC |7e213000.800e7a98.000323ec.800ae000|000323ec->0001b000 |This Is LteOnly 4M| |RW_CPZ_7|CODEPSD |7e249000.80119e84.00028d88.800c9000|00028d88->0001a000 |This Is LteOnly 4M| |RW_CPZ_8|CODEPSE |7e277000.80142c0c.0002e310.800e3000|0002e310->0001a000 |This Is LteOnly 4M| |RW_CPZ_9|CODEPSF |7e2a9000.80170f1c.0001c948.800fd000|0001c948->00011000 |This Is LteOnly 4M| |RW_CPZ_A|CODE_PL |7e2ca000.8018d864.0002fa44.8010e000|0002fa44->0001e000 |This Is LteOnly 4M| |RW_CPZ_B|CODEPLB |7e2fa000.801bd2a8.00039058.8012c000|00039058->00021000 |This Is LteOnly 4M| |RW_CPZ_C|CODEPLC |7e337000.801f6300.000268d4.8014d000|000268d4->00011000 |--------|--------|--------.--------.--------.--------|------------------------------| | | 0x00205bd4 -> 0x00147000| | | 2.022(MB) -> 1.277(MB)| |------------------------------------------------------------------------------------| cp_1606L.axf cp_1606L.bin cp_1606L.map gnumake: Leaving directory `F:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/3.1_SSD1315' "copy NEZHAC_CP_CNR_MIFI_TX.bin to ./ " 已復(fù)制 1 個(gè)文件。
4.9 生成固件
參考入門中開發(fā)工具,生成工具。
4.10 測試
測試步驟:
參考編譯教程,和文檔開頭的編譯指令,進(jìn)行編譯
按照編譯教程選擇對應(yīng)的選項(xiàng)
燒錄
4.11 固件
上電后,屏幕會依次顯示圖片,不同大小的漢字,字符,數(shù)字;
點(diǎn)擊下載 OLED Demo固件
5 生態(tài)組件鏈接
OLED屏驅(qū)動
(如有侵權(quán),聯(lián)系刪除)
五、如何了解更多OLED驅(qū)動芯片功能
本文章源自奇跡物聯(lián)開源的物聯(lián)網(wǎng)應(yīng)用知識庫Cellular IoT Wiki,更多技術(shù)干貨歡迎關(guān)注收藏Wiki:Cellular IoT Wiki 知識庫(https://rckrv97mzx.feishu.cn/wiki/wikcnBvAC9WOkEYG5CLqGwm6PHf)
歡迎同學(xué)們走進(jìn)AmazIOT知識庫的世界!
這里是為物聯(lián)網(wǎng)人構(gòu)建的技術(shù)應(yīng)用百科,以便幫助你更快更簡單的開發(fā)物聯(lián)網(wǎng)產(chǎn)品。
Cellular IoT Wiki初心:
在我們長期投身于蜂窩物聯(lián)網(wǎng) ODM/OEM 解決方案的實(shí)踐過程中,一直被物聯(lián)網(wǎng)技術(shù)碎片化與產(chǎn)業(yè)資源碎片化的問題所困擾。從產(chǎn)品定義、芯片選型,到軟硬件研發(fā)和測試,物聯(lián)網(wǎng)技術(shù)的碎片化以及產(chǎn)業(yè)資源的碎片化,始終對團(tuán)隊(duì)的產(chǎn)品開發(fā)交付質(zhì)量和效率形成制約。為了減少因物聯(lián)網(wǎng)碎片化而帶來的重復(fù)開發(fā)工作,我們著手對物聯(lián)網(wǎng)開發(fā)中高頻應(yīng)用的技術(shù)知識進(jìn)行沉淀管理,并基于 Bloom OS 搭建了不同平臺的 RTOS 應(yīng)用生態(tài)。后來我們發(fā)現(xiàn),很多物聯(lián)網(wǎng)產(chǎn)品開發(fā)團(tuán)隊(duì)都面臨著相似的困擾,于是,我們決定向全體物聯(lián)網(wǎng)行業(yè)開發(fā)者開放奇跡物聯(lián)內(nèi)部沉淀的應(yīng)用技術(shù)知識庫 Wiki,期望能為更多物聯(lián)網(wǎng)產(chǎn)品開發(fā)者減輕一些重復(fù)造輪子的負(fù)擔(dān)。
Cellular IoT Wiki沉淀的技術(shù)內(nèi)容方向如下:
奇跡物聯(lián)的業(yè)務(wù)服務(wù)范圍:基于自研的NB-IoT、Cat1、Cat4等物聯(lián)網(wǎng)模組,為客戶物聯(lián)網(wǎng)ODM/OEM解決方案服務(wù)。我們的研發(fā)技術(shù)中心在石家莊,PCBA生產(chǎn)基地分布在深圳、石家莊、北京三個(gè)工廠,滿足不同區(qū)域&不同量產(chǎn)規(guī)模&不同產(chǎn)品開發(fā)階段的生產(chǎn)制造任務(wù)。跟傳統(tǒng)PCBA工廠最大的區(qū)別是我們只服務(wù)物聯(lián)網(wǎng)行業(yè)客戶。
連接我們,和10000+物聯(lián)網(wǎng)開發(fā)者一起 降低技術(shù)和成本門檻
讓蜂窩物聯(lián)網(wǎng)應(yīng)用更簡單~~
哈哈你終于滑到最重要的模塊了,
千萬不!要!劃!走!忍住沖動!~
歡迎加入飛書“開源技術(shù)交流群”,隨時(shí)找到我們哦~
點(diǎn)擊鏈接如何加入奇跡物聯(lián)技術(shù)話題群(https://rckrv97mzx.feishu.cn/docx/Xskpd1cFQo7hu9x5EuicbsjTnTf)可以獲取加入技術(shù)話題群攻略
Hey 物聯(lián)網(wǎng)從業(yè)者,
你是否有了解過奇跡物聯(lián)的官方公眾號“eSIM物聯(lián)工場”呢?
這里是奇跡物聯(lián)的物聯(lián)網(wǎng)應(yīng)用技術(shù)開源wiki主陣地,歡迎關(guān)注公眾號,不迷路~
及時(shí)獲得最新物聯(lián)網(wǎng)應(yīng)用技術(shù)沉淀發(fā)布
審核編輯 黃宇
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2898文章
43780瀏覽量
369068 -
OLED屏
+關(guān)注
關(guān)注
0文章
160瀏覽量
20800 -
開源
+關(guān)注
關(guān)注
3文章
3181瀏覽量
42235
發(fā)布評論請先 登錄
相關(guān)推薦
評論