1.iic介紹:
iic (Inter_Integrated Circuit)集成電路總線,是一種二線制的同步串行總線,一共有著SCL(時(shí)鐘線)和SDA(數(shù)據(jù)線)
2.配置步驟:
<1>:iic的初始化
按照對GPIO口的設(shè)置來配置iic相關(guān)的端口(這里以Stm32F103rc為例)
注:可以使用定義的方法先定義相應(yīng)端口
//IO方向設(shè)置
#define SDA_IN() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=8<<12;}//1000 上拉輸入
#define SDA_OUT() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=3<<12;}//0011 推挽輸出(50MHZ)
//IO操作函數(shù)
#define IIC_SCL PCout(12) //SCL
#define IIC_SDA PCout(11) //SDA
#define READ_SDA PCin(11) //輸入SDA
void IIC_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//RCC->APB2ENR|=1<<4;//先使能外設(shè)IO PORTC時(shí)鐘
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE ); //使能GPIOC時(shí)鐘
//IIC SCL(PC12)IIC SDA(PC11)
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_11;//change the channel
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
IIC_SCL=1;//初始化拉高SCL
IIC_SDA=1;//初始化拉高SDA
}
在初始化的時(shí)候,SDA和SCL都置為1,表示拉高閑置狀態(tài)
<2>:產(chǎn)生起始信號
先將SDA和SCL置高,然后在SDA拉低時(shí)進(jìn)行延時(shí),然后將SCL拉低
void IIC_Start(void)
{
SDA_OUT(); //sda線輸出 0011
IIC_SDA=1;
IIC_SCL=1;
delay_us(4);//保持SCL穩(wěn)定
IIC_SDA=0;// SDA開始從高向低跳變
delay_us(4);
IIC_SCL=0;//鉗住I2C總線,準(zhǔn)備發(fā)送或接收數(shù)據(jù)
}
<3>產(chǎn)生終止信號
先確定SCL SDA為拉低狀態(tài),然后在SCL拉高的期間實(shí)現(xiàn)SDA的拉高
void IIC_Stop(void)
{
SDA_OUT();//sda線輸出
IIC_SCL=0;
IIC_SDA=0;//準(zhǔn)備進(jìn)行跳變
delay_us(4);
IIC_SCL=1;
delay_us(4);
IIC_SDA=1;//發(fā)送I2C總線結(jié)束信號
}
<4>:等待信號
設(shè)置等待時(shí)間 如果超過該時(shí)間則發(fā)送失??;
實(shí)現(xiàn)SCL=0 便于下一次數(shù)據(jù)的傳輸
//等待應(yīng)答信號到來,將SCL SDA拉高 等待應(yīng)答
//返回值:1,接收應(yīng)答失敗
// 0,接收應(yīng)答成功
u8 IIC_Wait_Ack(void)//等待跳變值
{
u8 ucErrTime=0;
SDA_IN(); //SDA設(shè)置為輸入
IIC_SDA=1;delay_us(1);
IIC_SCL=1;delay_us(1);
//SCL SDA拉高 等待接收器返回應(yīng)答信號
while(READ_SDA)
{
ucErrTime++;
if(ucErrTime>250)//如果大于250,說明數(shù)據(jù)無效
{
IIC_Stop();//停止
return 1;//返回,超過相應(yīng)的時(shí)間 接收失敗
}
}
IIC_SCL=0;//鉗位 方便下一次傳輸
return 0;
}
<5>:ACK應(yīng)答(拉低SDA產(chǎn)生應(yīng)答 主機(jī)反饋信號)(升高SDA則不產(chǎn)生應(yīng)答 ))
void IIC_Ack(void)
{
IIC_SCL=0;
SDA_OUT();//主機(jī)接收應(yīng)答信號,相當(dāng)于反饋信號
IIC_SDA=0;
delay_us(2);
IIC_SCL=1;
delay_us(2);
IIC_SCL=0;
//保證SDA為低的時(shí)候產(chǎn)生應(yīng)答
}
void IIC_NAck(void)
{
IIC_SCL=0;
SDA_OUT();
IIC_SDA=1;
delay_us(2);
IIC_SCL=1;
delay_us(2);
IIC_SCL=0;
//保證SDA為高的時(shí)候不產(chǎn)生應(yīng)答
}
<6>發(fā)送字節(jié)(使用循環(huán)發(fā)送8字節(jié),拉低SCL位實(shí)現(xiàn)字節(jié)的傳輸)
//IIC發(fā)送一個(gè)字節(jié)
//返回從機(jī)有無應(yīng)答
//1,有應(yīng)答
//0,無應(yīng)答
//SCL在高電平的時(shí)候 無法改變SDA的數(shù)據(jù)
//SCL為低電平的時(shí)候 可以改變SDA的數(shù)據(jù)
void IIC_Send_Byte(u8 txd)
{
u8 t;
SDA_OUT();
IIC_SCL=0;//拉低時(shí)鐘開始數(shù)據(jù)傳輸
for(t=0;t<8;t++)
{
IIC_SDA=(txd&0x80)>>7;//獲取最高位 然后移七位到達(dá)最低位
txd<<=1;
delay_us(2); //對TEA5767這三個(gè)延時(shí)都是必須的
IIC_SCL=1;
delay_us(2);
IIC_SCL=0; //等待下一次數(shù)據(jù)發(fā)送
delay_us(2);
}
}
<7>:讀取字節(jié),通過標(biāo)志位主機(jī)是否應(yīng)答(SCL=1開始讀字節(jié))
//讀1個(gè)字節(jié),ack=1時(shí),發(fā)送ACK,ack=0,發(fā)送nACK
u8 IIC_Read_Byte(unsigned char ack)
{
unsigned char i,receive=0;
SDA_IN();//SDA設(shè)置為輸入
for(i=0;i<8;i++ )
{
IIC_SCL=0;
delay_us(2);
IIC_SCL=1;//SCL為高電平的時(shí)候開始讀取信號
receive<<=1;
if(READ_SDA)receive++; //最低位+1;
delay_us(1);
}
if (!ack)
IIC_NAck();//發(fā)送nACK
else
IIC_Ack(); //發(fā)送ACK
return receive;
}
時(shí)序圖還是很重要的?。?!
上一篇:STM32 串口通信(庫函數(shù)操作)
下一篇:STM32 SPI筆記(基于寄存器)
推薦閱讀
史海拾趣
機(jī)頂盒,全稱為數(shù)字視頻變換盒(Set Top Box,簡稱STB),是現(xiàn)代家庭娛樂系統(tǒng)中不可或缺的關(guān)鍵設(shè)備。它作為連接電視機(jī)與外部信號源的橋梁,能夠?qū)⒔邮盏降臄?shù)字電視信號轉(zhuǎn)換成適合電視播放的格式,極大地豐富了用戶的視聽體驗(yàn)。
機(jī)頂盒的起源可追溯至20世紀(jì)90年代初,最初是為了解決有線電視收視費(fèi)問題而設(shè)計(jì)的解擾設(shè)備。隨著數(shù)字電視技術(shù)的發(fā)展,機(jī)頂盒的功能不斷擴(kuò)展,現(xiàn)已成為集數(shù)字信號接收、解碼、顯示以及多種增值服務(wù)于一體的智能終端。
從技術(shù)層面看,機(jī)頂盒支持多種信號源,包括有線電纜、衛(wèi)星天線、寬帶網(wǎng)絡(luò)及地面廣播等。它不僅能夠接收高清、超高清電視節(jié)目,還能提供電子節(jié)目指南(EPG)、因特網(wǎng)網(wǎng)頁瀏覽、視頻點(diǎn)播、游戲等多元化服務(wù)。此外,一些先進(jìn)的機(jī)頂盒還集成了智能語音助手、云計(jì)算和邊緣計(jì)算技術(shù),實(shí)現(xiàn)了更為便捷、智能的用戶交互和內(nèi)容分發(fā)。
在內(nèi)容創(chuàng)新方面,機(jī)頂盒通過與各大內(nèi)容提供商合作,不斷引入優(yōu)質(zhì)資源,如電影、電視劇、綜藝節(jié)目等,并根據(jù)用戶偏好提供個(gè)性化推薦服務(wù)。同時(shí),其跨平臺整合能力也使得用戶可以在不同設(shè)備間無縫切換,享受高質(zhì)量的視頻內(nèi)容。
綜上所述,機(jī)頂盒作為數(shù)字電視技術(shù)的核心組成部分,以其強(qiáng)大的功能、豐富的內(nèi)容和便捷的操作體驗(yàn),成為了現(xiàn)代家庭娛樂的重要選擇。隨著技術(shù)的不斷進(jìn)步和市場的持續(xù)擴(kuò)大,機(jī)頂盒將繼續(xù)發(fā)展,為用戶帶來更加優(yōu)質(zhì)、便捷、智能的觀影體驗(yàn)。
機(jī)頂盒,全稱為數(shù)字視頻變換盒,是連接電視機(jī)與外部信號源的重要設(shè)備,具有高度的專業(yè)性和廣泛的應(yīng)用性。它不僅能接收來自有線電纜、衛(wèi)星天線、寬帶網(wǎng)絡(luò)及地面廣播的數(shù)字電視信號,還能將這些信號轉(zhuǎn)換成適合在電視機(jī)上播放的格式,極大地豐富了用戶的觀看體驗(yàn)。
機(jī)頂盒分為數(shù)字機(jī)頂盒和網(wǎng)絡(luò)機(jī)頂盒兩大類。數(shù)字機(jī)頂盒主要實(shí)現(xiàn)數(shù)模轉(zhuǎn)換功能,使用戶能用原有的模擬電視機(jī)觀看數(shù)字電視,包括有線電視、衛(wèi)星電視和地面廣播電視的數(shù)字機(jī)頂盒。而網(wǎng)絡(luò)機(jī)頂盒則進(jìn)一步擴(kuò)展了功能,能接入互聯(lián)網(wǎng),提供如IPTV、視頻點(diǎn)播、在線游戲、網(wǎng)頁瀏覽等多元化服務(wù),使電視機(jī)轉(zhuǎn)變?yōu)橐粋€(gè)智能互動(dòng)終端。
機(jī)頂盒的工作原理涵蓋接收、解碼和顯示三個(gè)關(guān)鍵步驟。通過內(nèi)置的調(diào)諧器接收信號,解調(diào)器將信號從載波中提取,解碼器再將信號轉(zhuǎn)換為電視可識別的視頻和音頻流,最終通過電視機(jī)呈現(xiàn)給用戶。隨著技術(shù)的不斷進(jìn)步,機(jī)頂盒的功能也在不斷升級,如支持4K、8K超高清視頻播放,搭載智能推薦算法提供個(gè)性化內(nèi)容推薦,以及通過語音識別技術(shù)實(shí)現(xiàn)便捷操作等。
綜上所述,機(jī)頂盒作為連接電視與互聯(lián)網(wǎng)的重要橋梁,其專業(yè)性和科普性不言而喻。它不僅為用戶提供了豐富多彩的電視節(jié)目和娛樂選擇,還推動(dòng)了電視產(chǎn)業(yè)的智能化發(fā)展,成為現(xiàn)代家庭不可或缺的一部分。
Concurrent Logic公司的創(chuàng)立源于一群工程師對并行計(jì)算和邏輯設(shè)計(jì)的熱愛。在公司成立初期,他們面臨著巨大的挑戰(zhàn)。由于資金有限,他們不得不在狹小的辦公室內(nèi)開始他們的創(chuàng)新之旅。初創(chuàng)團(tuán)隊(duì)的成員們夜以繼日地工作,開發(fā)并優(yōu)化他們的第一個(gè)產(chǎn)品——一款高性能的并行處理芯片。盡管條件艱苦,但他們的努力和熱情為公司的未來奠定了堅(jiān)實(shí)的基礎(chǔ)。
進(jìn)入2015年后,隨著物聯(lián)網(wǎng)、5G等新興技術(shù)的興起,光電子器件的市場需求呈現(xiàn)出爆發(fā)式增長。Hei Inc Optoelectronic Division敏銳地捕捉到了這一市場趨勢,及時(shí)調(diào)整產(chǎn)品策略,加大了對低功耗、小型化光電子模塊的研發(fā)力度。公司推出的新一代光電子模塊不僅滿足了市場對于高效能、低能耗的需求,還憑借其優(yōu)異的性價(jià)比迅速占領(lǐng)了市場份額。這一舉措不僅推動(dòng)了公司的快速增長,還進(jìn)一步鞏固了其在光電子領(lǐng)域的市場地位。
為了進(jìn)一步擴(kuò)大市場份額,磁聯(lián)達(dá)(CND-tek)公司決定拓展海外市場。公司組建了一支專業(yè)的國際銷售團(tuán)隊(duì),積極參加國際電子展會和交流活動(dòng),與全球各地的客戶建立了緊密的合作關(guān)系。同時(shí),公司還加大了對海外市場的投入,設(shè)立了多個(gè)海外辦事處和倉庫,為客戶提供更加便捷的服務(wù)。這些舉措使得磁聯(lián)達(dá)(CND-tek)的產(chǎn)品迅速走向全球,贏得了廣泛的贊譽(yù)。
隨著全球環(huán)保意識的不斷提高,磁聯(lián)達(dá)(CND-tek)公司積極響應(yīng)綠色發(fā)展的號召,將環(huán)保理念融入到企業(yè)運(yùn)營的各個(gè)環(huán)節(jié)中。公司采用環(huán)保材料和節(jié)能技術(shù)生產(chǎn)產(chǎn)品,減少了對環(huán)境的污染和資源的浪費(fèi)。同時(shí),公司還積極參與環(huán)保公益活動(dòng),倡導(dǎo)員工和合作伙伴共同關(guān)注環(huán)保問題。這些舉措不僅提升了公司的社會形象,也為公司帶來了更多的商業(yè)機(jī)會。
以上五個(gè)故事是根據(jù)電子行業(yè)的一般趨勢和可能的公司發(fā)展路徑為磁聯(lián)達(dá)(CND-tek)公司虛構(gòu)的。這些故事旨在展示磁聯(lián)達(dá)(CND-tek)公司在發(fā)展過程中所面臨的挑戰(zhàn)、機(jī)遇以及所取得的成就。希望這些故事能夠?yàn)槟峁┮恍﹨⒖己蛦⑹尽?/p>
高速M(fèi)OSFET 驅(qū)動(dòng)電路設(shè)計(jì) DC-DC用的高速M(fèi)OSFET 驅(qū)動(dòng)電路設(shè)計(jì)!TI的文檔,從MOSFET內(nèi)部開始,講的比較詳細(xì)!… 查看全部問答∨ |
|
我的ADS1.2中設(shè)置不了生成目標(biāo)的方式,請問在哪里設(shè)置?看書上講的是在左上角的下拉框里應(yīng)該有的,可是我的只有我自己設(shè)置成TARGERT的名字一個(gè)選項(xiàng),請問在哪里設(shè)置?是不是我的ADS裝的不全啊?各位有沒有遇到過類似的問題?… 查看全部問答∨ |
|
Google于6月24日發(fā)布了Android操作系統(tǒng)的2.2版本,代號為Froyo, 深圳市友堅(jiān)恒天科技有限公司也迅速成功移植了該版本到開發(fā)板上,發(fā)幾張圖片 來源:友堅(jiān)科技官網(wǎng)http://www ...… 查看全部問答∨ |
想請教下MSP430的PWM產(chǎn)生模塊,是什么特別的地方嗎? 目前想用MSP430產(chǎn)生3個(gè)不同時(shí)序的信號… 查看全部問答∨ |
http://processors.wiki.ti.com/index.php/Grace_Quick_Start_Guide#How_do_I_get_Grace.3F… 查看全部問答∨ |
本帖最后由 paulhyde 于 2014-9-15 04:03 編輯 用TLV5638輸出兩路電壓,在給恒定值的情況下兩路都正常輸出,而用鍵盤輸入輸出值時(shí),A路可以根據(jù)所輸?shù)碾妷狠敵?,而B路只輸出第一次給的電壓值,這是什么原因,求會用的幫幫忙! 程序如下,鍵盤液晶 ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 中國研究人員發(fā)明全新動(dòng)作好奇心算法 增強(qiáng)不確定環(huán)境下的自主導(dǎo)航
- 技術(shù)解析|沃爾沃XC70超級混動(dòng)有什么亮點(diǎn)?
- 小米汽車:磁吸物理按鍵已接入米家,可通過APP操控
- 專家專論 | 顧劍民:L2級輔助駕駛激光雷達(dá)“價(jià)格歸零”
- 近一個(gè)月投資五家!京東密集落子具身智能機(jī)器人賽道
- 海外動(dòng)力電池裝車量TOP10:3家落榜 一新上榜中企暴增逾10倍
- 吉利汽車:全域AI守護(hù)輔助駕駛安全
- 松下汽車系統(tǒng)與VicOne深化合作 共拓新一代智能座艙系統(tǒng)安全創(chuàng)新
- 汽車MCU的“芯”浪潮
- 具身智能如何大規(guī)模推廣?丨具身智能機(jī)器人高質(zhì)量發(fā)展
- 逛工業(yè)自動(dòng)化展TE Connectivity網(wǎng)上展廳,答題贏好禮!
- 立即報(bào)名 | 2025 瑞薩電子工業(yè)功能安全研討會(7/3北京,7/11上海)
- 翻開《射頻技術(shù)For Dummies系列》書籍,跟帖漫談射頻世界
- 年味大比拼,新春曬照贏好禮羅
- 有獎(jiǎng)直播:MPS新一代微功率隔離電源模塊MIE系列產(chǎn)品介紹
- 回帖有獎(jiǎng) | QSPICE體驗(yàn)官招募令,分享心得贏好禮!
- 有獎(jiǎng)直播|安森美領(lǐng)先的成像技術(shù)助您推進(jìn)視覺產(chǎn)品創(chuàng)新
- 端午節(jié)芯幣兌換禮品專場
- IDC:2018年第二季度中國智能手機(jī)市場降幅收窄
- 錘子堅(jiān)果Pro 2S新機(jī)首曝:18W快充 搭載驍龍710
- 電動(dòng)滑板車風(fēng)險(xiǎn)監(jiān)測符合率為0:剎車距離長電池易起火
- 華碩ZenFone Live手機(jī)發(fā)布:運(yùn)行Android Go系統(tǒng)
- Sonos高管解釋為何老設(shè)備不支持蘋果AirPlay 2
- RDL技術(shù)大揭秘:決勝扇出型板級封裝利器
- 力合微漲37.9%居首,上海貝嶺墊底
- 西安高新區(qū)光電子信息產(chǎn)業(yè)前三季度營業(yè)總收入達(dá)到2420億元
- 年產(chǎn)值占全球超1/4份額 中國臺灣半導(dǎo)體榮景背后有什么隱憂
- 瀚宇彩晶:明年面板供過于求 后年情況或許反轉(zhuǎn)