電子方案開(kāi)發(fā)供應(yīng)鏈平臺(tái)
移動(dòng)端
方案網(wǎng)小程序
方案網(wǎng)手機(jī)端
加小編微信入群
發(fā)布時(shí)間:2018-08-18 閱讀量:2629 來(lái)源: 我愛(ài)方案網(wǎng) 作者: cicyxu
STM32的硬件I2C很多人都對(duì)它望而卻步。因?yàn)楹芏喙こ處煻颊f(shuō),STM32 硬件 I2C有BUG、不穩(wěn)定、死機(jī)等等……最后都使用GPIO模擬I2C。因?yàn)楹芏嗳擞X(jué)得模擬IIC比硬件IIC具有更方便的跨平臺(tái)移植性!那么硬件I2C到底是不是個(gè)坑?真的是這么不好用嗎?那今天就來(lái)看看這位工程師是如何為他正名的。
討論資源來(lái)自技術(shù)問(wèn)答,詳情請(qǐng)入》》
zhangfei: 虛擬I2C更好移植性,不同的芯片未必有或者有那么多I2C 可以供開(kāi)發(fā)者使用
Jacobs: 那個(gè)硬件IIC是有BUG的 所以大家都虛擬IIC
gyp0428: ST為了防止侵權(quán),把硬件IIC整得有點(diǎn)復(fù)雜,還有BUG
哈里:我的系統(tǒng)里有幾個(gè)芯片是IIC接口,剛開(kāi)始用官方的庫(kù)函數(shù)也花了挺長(zhǎng)時(shí)間調(diào)試,好不容易調(diào)通了,可是待正式小批量使用時(shí),出現(xiàn)了偶爾死機(jī)的情況,后來(lái)斷點(diǎn)查看,是卡在了IIC處理上,具體在哪里也說(shuō)不清楚。于是花了段時(shí)間,用模擬IIC接口方式,程序基本就穩(wěn)定了。我的理解是這樣的:1.硬件IIC的時(shí)序不能出差錯(cuò),如果你在讀寫(xiě)IIC時(shí),此時(shí)若正好碰上兩根線上有了干擾,時(shí)序就不對(duì)了,它等不到回信也就卡在了哪里;2.模擬IIC即使出了干擾,也只是此時(shí)讀寫(xiě)出錯(cuò),數(shù)據(jù)都不出來(lái)或?qū)懖贿M(jìn)去,但程序還會(huì)繼續(xù)運(yùn)行,待下次輪到時(shí)再讀寫(xiě),最大的好處是不影響整個(gè)程序運(yùn)行。3.至于運(yùn)行時(shí)間,應(yīng)該比硬件IIC要慢(慢多少我也沒(méi)測(cè)過(guò)),但是慢這點(diǎn)時(shí)間,基本對(duì)程序沒(méi)什么影響。
裝X-BOY: 并不是IIC硬件有問(wèn)題,是ST提供的庫(kù)函數(shù)在設(shè)置IIC的API函數(shù)中出現(xiàn)了錯(cuò)誤而且模擬的IIC同樣很好用也有很多源代碼,就不用再去改庫(kù)函數(shù)里的BUG了,所以用模擬IIC的多
theuit: 我也想知道BUG在哪里?這么多人都說(shuō)BUG,難道ST不會(huì)知道么?到底有沒(méi)有改呢?如果沒(méi)有改肯定有他的道理呀。我HW,沒(méi)配過(guò)IIC的程序。
Linzw123: 。。。我遇到過(guò)有芯片,模擬I2C無(wú)論如何都不能準(zhǔn)確配置,只有硬件i2c才能配置成功的情況,所以,兩種都要會(huì)才是硬道理
追憶似水年華:的確,模擬I2C好用。但是在我看來(lái)在一個(gè)72M的Cortex-M3的MCU上這樣做非常不妥。一般來(lái)說(shuō)I2C是一種慢速總線,就算工作在400kHz的快速模式上,I2C傳送每個(gè)字節(jié)仍需要至少23us——還沒(méi)有計(jì)算地址、起始信號(hào)和結(jié)束信號(hào)的發(fā)送。如果使用GPIO模擬的I2C,這23us的CPU時(shí)間都在空轉(zhuǎn)中浪費(fèi)了,而這23us已經(jīng)可以做不少的事情了,所以在STM32上I2C還是使用硬件為佳——雖然它多多少少有點(diǎn)缺陷。
從這個(gè)工程師的意思來(lái)看,STM32的硬件I2C不是不能用,只是用起來(lái)有點(diǎn)復(fù)雜。所謂蘿卜白菜,各有所愛(ài),每個(gè)人都有自己獨(dú)特的使用方法,其實(shí)只要最終的結(jié)果實(shí)現(xiàn)了,何必執(zhí)著于使用方法呢,你說(shuō)對(duì)嗎?
在現(xiàn)代汽車行業(yè)中,HUD平視顯示系統(tǒng)正日益成為駕駛員的得力助手,為駕駛員提供實(shí)時(shí)導(dǎo)航、車輛信息和警示等功能,使駕駛更加安全和便捷。在HUD平視顯示系統(tǒng)中,高精度的晶振是確保系統(tǒng)穩(wěn)定運(yùn)行的關(guān)鍵要素。YSX321SL是一款優(yōu)質(zhì)的3225無(wú)源晶振,擁有多項(xiàng)卓越特性,使其成為HUD平視顯示系統(tǒng)的首選。
隨著醫(yī)療技術(shù)的進(jìn)步,心電監(jiān)護(hù)設(shè)備在日常生活和醫(yī)療領(lǐng)域中起到了至關(guān)重要的作用。而無(wú)源晶振 YSX211SL 作為一種先進(jìn)的心電貼產(chǎn)品,以其獨(dú)特的優(yōu)勢(shì)在市場(chǎng)上備受矚目。
對(duì)于可編程晶振選型的話,需要根據(jù)企業(yè)的需求選擇。在選擇可編程晶振的時(shí)候注重晶振外觀、晶振的頻率、晶振的輸出模式、晶振的型號(hào)等等,這些都是要注意的,尤其是晶振的頻率和晶振輸出模式以及晶振的型號(hào)都是需要注意的。
在現(xiàn)代科技發(fā)展中,服務(wù)器扮演著越來(lái)越重要的角色,為各種應(yīng)用提供強(qiáng)大的計(jì)算和數(shù)據(jù)存儲(chǔ)能力。而高品質(zhì)的服務(wù)器組件是確保服務(wù)器穩(wěn)定運(yùn)行的關(guān)鍵。YSO110TR寬電壓有源晶振,作為服務(wù)器的重要組成部分,具備多項(xiàng)優(yōu)勢(shì),成為業(yè)界必備的可靠之選。
其實(shí)對(duì)于差分晶振怎么測(cè)量方式有很多種,主要還是要看自己選擇什么樣的方式了,因?yàn)檫x擇不同的測(cè)量方式步驟和操作方式是不同的。關(guān)于差分晶振怎么測(cè)量的方式,小揚(yáng)給大家詳細(xì)的分享一些吧!