91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

應(yīng)廣單片機(jī)系列——高速I2C接口

聚豐開發(fā) ? 2018-10-16 18:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

經(jīng)過(guò)一段時(shí)間的慎重考慮,在諸多朋友的支持下,決定在接下來(lái)的日子里,會(huì)盡可能多的寫一些關(guān)于應(yīng)廣多核單片機(jī)應(yīng)用的文章,希望能給有興趣學(xué)習(xí)了解應(yīng)廣單片機(jī)的朋友提供到點(diǎn)滴幫助。

這個(gè)針對(duì)應(yīng)廣雙核、多核單片機(jī)應(yīng)用的系列,會(huì)以具體程序?yàn)槔?,在程序中加以注釋,只要條件允許,例程都會(huì)經(jīng)過(guò)調(diào)試,如果只是編譯沒(méi)有調(diào)試的,我會(huì)注明。

附件中的例程代碼,讀者可以自由使用,不需要通知我,如有可能,希望在代碼中保留我的簽名信息,深表感謝!

例程為利用應(yīng)廣單片機(jī)的特點(diǎn),用軟件實(shí)現(xiàn)理論速率可以達(dá)到1M的I2C通訊接口,如果是其它普通單片機(jī),也可以用軟件模擬出高速I2C,不同點(diǎn)是應(yīng)廣實(shí)現(xiàn)模擬后還能夠?qū)崿F(xiàn)各種控制功能,而其它普通單片則不能。


//-----------------------------------------
//應(yīng)廣單片機(jī)軟件實(shí)現(xiàn)高速I2C接口例程(SALVE模式)
//本例僅供參考,歡迎指正程序中的問(wèn)題
//本例利用應(yīng)廣單片機(jī)的雙核特點(diǎn)
//用一個(gè)核專門對(duì)I2C接口的IO進(jìn)行掃描等待
//對(duì)I2C接口的高低變化利用應(yīng)廣特有的IO狀態(tài)等待指令高速實(shí)現(xiàn)IO口跳變判斷
//利用定時(shí)器
進(jìn)行超時(shí)判斷
//理論上可以讓模擬的I2C接口達(dá)到1M的速率
//2012年12月15日
//
//作者:戴上舉
//郵箱:daishangju@163.com
//博客:forum.eet-cn.com/BLOG_daishangju_334.HTM
//電話:13509678051
//Q Q:1514292225
//-----------------------------------------

.chip p201cs14a
//{{PADAUK_CODE_OPTION
.Code_Option Bootup Slow // 1024 ILRC
.Code_Option LVD 2.79V // Maximum performance = 4 MIPS
.Code_Option Security Enable // Security 3/4 words Enable
//}}PADAUK_CODE_OPTION

//定義I2C接口要用的IO口,用戶可以自己修改這里的IO口定義
I2C_SDA equ pa.0
I2C_SDA_LOW equ set0 I2C_SDA
I2C_SDA_HIGH equ set1 I2C_SDA
I2C_SDA_INPUT equ set0 pac.0
I2C_SDA_OUTPUT equ set1 pac.0
I2C_SCL equ pa.4
//定義I2C設(shè)備地址,用戶可以自己修改此地址
I2C_READ_CMD equ 0x7F
I2C_WRITE_CMD equ 0x7E


word init_timer

//byte Xms
//byte ms_cnt

byte i2c_device //用來(lái)存放I2C接口地址
byte i2c_write_byte //I2C進(jìn)行寫操作時(shí)存放I2C寫入的數(shù)據(jù)
byte i2c_read_byte //I2C進(jìn)行讀操作時(shí)候讀出的內(nèi)容

bit i2c_start_flag

//應(yīng)廣單片機(jī)程序入口,第一條必須為跳轉(zhuǎn)到第一個(gè)內(nèi)核主程序入口地址的指令,第二條為第二個(gè)內(nèi)核,有幾個(gè)內(nèi)核就有幾條
.romadr 0x000
goto main0
goto main1


//應(yīng)廣單片機(jī)中斷程序入口地址,所有中斷共用同一個(gè)入口,需要用戶自己判斷中斷類型
.romadr 0x010
pushaf //壓棧
if(intrq.T16) //判斷是否為定時(shí)中斷
{
stt16 init_timer //清內(nèi)部TIMER計(jì)數(shù)器
if(i2c_start_flag) //啟動(dòng)I2C通訊處理后這個(gè)標(biāo)志會(huì)被置1
{
I2C_SDA_INPUT
reset //系統(tǒng)復(fù)位
}
}
intrq = 0 //清中斷標(biāo)志
popaf //彈棧
reti //中斷返回

//----------------------------------------
//input: ms
//用該函數(shù)可以再4M的頻率下得到近似1毫秒的延時(shí),在第一個(gè)內(nèi)核中調(diào)用中斷會(huì)導(dǎo)致延時(shí)加長(zhǎng)
//----------------------------------------
/*delayXms:
while(Xms)
{
wdreset
ms_cnt = 20
while(ms_cnt)
{
delay 195
ms_cnt--
}
Xms--
}
ret*/

//用IO口模擬I2C slave模式的子函數(shù)
i2c_slave:
I2C_SDA_INPUT //將SDA設(shè)為輸入
i2c_start:
//I2C空閑狀態(tài)下SDA和SCL同為高電平,要啟動(dòng)I2C前初始狀態(tài)必須是兩者同為高
stt16 init_timer //清內(nèi)部TIMER計(jì)數(shù)器
if(!I2C_SCL) //如果SCL為低,此時(shí)不用啟動(dòng)I2C通訊處理
{
goto i2c_stop
}
if(!I2C_SDA) //如果SDA為低,此時(shí)不用啟動(dòng)I2C通訊處理
{
goto i2c_stop
}

i2c_start_flag = 1 //啟動(dòng)I2C通訊處理,這個(gè)標(biāo)志位會(huì)在定時(shí)中斷中用到

//I2C的START信號(hào)是SDA和SCL同為高電平裝態(tài)下SDA先變?yōu)榈?,然后SCL變?yōu)榈?br />//判斷I2C START信號(hào)
//等待SDA從高變低
stt16 init_timer //清內(nèi)部TIMER計(jì)數(shù)器
wait0 I2C_SDA //應(yīng)廣特有的等待IO變低指令,等待SDA從高變低,如果長(zhǎng)時(shí)間沒(méi)有變低,會(huì)觸發(fā)定時(shí)中斷,系統(tǒng)復(fù)位
nop //加適當(dāng)延時(shí)消除IO抖動(dòng)的影響
nop
nop
nop
//等待SCL從高變低,原理同上
stt16 init_timer
wait0 I2C_SCL //if overtime MCU will auto reset
nop
nop
nop
nop

//已經(jīng)判斷為得到有效START信號(hào)


//開始接收I2C的器件地址,為了實(shí)現(xiàn)高速處理,程序順序處理,沒(méi)有使用循環(huán)處理方式
i2c_device = 0
stt16 init_timer //device bit7
wait1 I2C_SCL
nop
nop
nop
nop
if(I2C_SDA)
{
set1 i2c_device.7
}
wait0 I2C_SCL
nop
nop
nop
nop
stt16 init_timer //device bit6
wait1 I2C_SCL
nop
nop
nop
nop
if(I2C_SDA)
{
set1 i2c_device.6
}
wait0 I2C_SCL
nop
nop
nop
nop
stt16 init_timer //device bit5
wait1 I2C_SCL
nop
nop
nop
nop
if(I2C_SDA)
{
set1 i2c_device.5
}
wait0 I2C_SCL
nop
nop
nop
nop
stt16 init_timer //device bit4
wait1 I2C_SCL
nop
nop
nop
nop
if(I2C_SDA)
{
set1 i2c_device.4
}
wait0 I2C_SCL
nop
nop
nop
nop
stt16 init_timer //device bit3
wait1 I2C_SCL
nop
nop
nop
nop
if(I2C_SDA)
{
set1 i2c_device.3
}
wait0 I2C_SCL
nop
nop
nop
nop
stt16 init_timer //device bit2
wait1 I2C_SCL
nop
nop
nop
nop
if(I2C_SDA)
{
set1 i2c_device.2
}
wait0 I2C_SCL
nop
nop
nop
nop
stt16 init_timer //device bit1
wait1 I2C_SCL
nop
nop
nop
nop
if(I2C_SDA)
{
set1 i2c_device.1
}
wait0 I2C_SCL
nop
nop
nop
nop
stt16 init_timer //device bit0
wait1 I2C_SCL
nop
nop
nop
nop
if(I2C_SDA)
{
set1 i2c_device.0
}
wait0 I2C_SCL
//nop //后面的比較操作會(huì)耗費(fèi)時(shí)間,可以不用延時(shí)
//nop
//nop
//nop


if(i2c_device == I2C_READ_CMD) //I2C進(jìn)行讀操作,同樣為了實(shí)現(xiàn)高速處理,程序順序處理,沒(méi)有使用循環(huán)處理方式
{
//回復(fù)slave ACK信號(hào)
I2C_SDA_OUTPUT
I2C_SDA_LOW
stt16 init_timer
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop


stt16 init_timer //i2c_read_byte bit7
if(i2c_read_byte.7)
{
I2C_SDA_HIGH
}
else
{
I2C_SDA_LOW
}
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_read_byte bit6
if(i2c_read_byte.6)
{
I2C_SDA_HIGH
}
else
{
I2C_SDA_LOW
}
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_read_byte bit5
if(i2c_read_byte.5)
{
I2C_SDA_HIGH
}
else
{
I2C_SDA_LOW
}
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_read_byte bit4
if(i2c_read_byte.4)
{
I2C_SDA_HIGH
}
else
{
I2C_SDA_LOW
}
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_read_byte bit3
if(i2c_read_byte.3)
{
I2C_SDA_HIGH
}
else
{
I2C_SDA_LOW
}
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_read_byte bit2
if(i2c_read_byte.2)
{
I2C_SDA_HIGH
}
else
{
I2C_SDA_LOW
}
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_read_byte bit1
if(i2c_read_byte.1)
{
I2C_SDA_HIGH
}
else
{
I2C_SDA_LOW
}
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_read_byte bit0
if(i2c_read_byte.0)
{
I2C_SDA_HIGH
}
else
{
I2C_SDA_LOW
}
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop

I2C_SDA_INPUT
stt16 init_timer //master ack/nack
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
nop
nop
nop
nop
stt16 init_timer //END
wait1 I2C_SCL
nop
nop
nop
nop
stt16 init_timer
wait1 I2C_SDA
nop
nop
nop
nop
}
else if(i2c_device == I2C_WRITE_CMD) //I2C是進(jìn)行寫操作,同樣為了實(shí)現(xiàn)高速處理,程序順序處理,沒(méi)有使用循環(huán)處理方式
{
//slave ACK
I2C_SDA_OUTPUT //--------I2C SDA input/output switch----------
I2C_SDA_LOW
stt16 init_timer
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop

I2C_SDA_INPUT
i2c_write_byte = 0
stt16 init_timer //i2c_write_byte bit7
if(I2C_SDA)
{
set1 i2c_write_byte.7
}
nop
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_write_byte bit6
if(I2C_SDA)
{
set1 i2c_write_byte.6
}
nop
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_write_byte bit5
if(I2C_SDA)
{
set1 i2c_write_byte.5
}
nop
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_write_byte bit4
if(I2C_SDA)
{
set1 i2c_write_byte.4
}
nop
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_write_byte bit3
if(I2C_SDA)
{
set1 i2c_write_byte.3
}
nop
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_write_byte bit2
if(I2C_SDA)
{
set1 i2c_write_byte.2
}
nop
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_write_byte bit1
if(I2C_SDA)
{
set1 i2c_write_byte.1
}
nop
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
stt16 init_timer //i2c_write_byte bit0
if(I2C_SDA)
{
set1 i2c_write_byte.0
}
nop
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop

//slave NACK
I2C_SDA_OUTPUT //--------I2C SDA input/output switch----------
I2C_SDA_HIGH
stt16 init_timer
wait1 I2C_SCL
nop
nop
nop
nop
wait0 I2C_SCL
//nop
//nop
//nop
//nop
I2C_SDA_INPUT //--------I2C SDA input/output switch----------
nop
nop
stt16 init_timer //END
wait1 I2C_SCL
nop
nop
nop
nop
stt16 init_timer
wait1 I2C_SDA
//nop
//nop
//nop
//nop

//下面代碼用戶可根據(jù)實(shí)際情況進(jìn)行修改,這里是將I2C寫入的數(shù)據(jù)取反后放到讀操作位置
i2c_read_byte = ~i2c_write_byte

}

i2c_stop:
I2C_SDA_INPUT
i2c_start_flag = 0 //I2C stop work

ret

//----------------FPPA0-------------------
main0:


.ADJUST_OTP_IHRCR 8MIPS // IHRC/2 = 8MIPS, WatchDog Disable, RAM 0,1 temporary be used
sp = 0x30

disgint
inten = 0

mov a,0b000_11_111 //disable timer
mov t16m,a

delay 200

clkmd.0 = 0 //pa.5 as GPIO

//注意IO口的輸入輸出設(shè)定
pa = 0b1111_1111
pac = 0b0000_0000
paph = 0b1111_1111
pb = 0b1111_1111
pbc = 0b0000_0000
pbph = 0b1111_1111


init_timer = 7768 //從7768進(jìn)行校準(zhǔn)為100ms
mov a,0b100_11_111
mov t16m,a
stt16 init_timer


delay 200

mov a,0
mov intrq,a

i2c_start_flag = 0 //I2C not start work


// adcdi = 0b0000_0100 //pb2 is analog input
// adcc = 0b10_0010_00 //enable ADC, select pb2
// adcm = 0b000_0100_0 //system clock/16
//adcm = 0b000_0111_0 //system clock/128
set1 fppen.1 //eanble FPPA1
clkmd.1 = 1 //enable watch dog
wdreset //clear watch dog

// Xms = 100
// call delayXms

stt16 init_timer
intrq = 0
inten.T16 = 1 //打開定時(shí)中斷
engint


main0_loop:
init_timer = 0
wdreset
//用戶可以在這里添加自己想要的任意代碼,這里可以實(shí)現(xiàn)任意一個(gè)普通單片機(jī)能夠是想的功能
goto main0_loop


//----------------FPPA1-------------------
main1:
sp = 0x38
main1_loop:
call i2c_slave
goto main1_loop

程序中的多個(gè)NOP可以用DELAY3代替,用DELAY 指令可以節(jié)省程序空間

I2C啟動(dòng)判斷代碼用下面部分更可靠(2012.12.22)

//wait SDA and SCL high at the same time
while((!I2C_SDA) || (!I2C_SCL))
{
stt16init_timer
nop
nop
nop
nop
}


if(!I2C_SDA)
{
gotoi2c_stop
}
if(!I2C_SCL)
{
gotoi2c_stop
}

代碼已編譯,未調(diào)試


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

    關(guān)注

    6076

    文章

    45492

    瀏覽量

    670113
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CW32單片機(jī)I2C接口讀寫EEPROM芯片

    一、概述 CW32L083 內(nèi)部集成 2 個(gè) I2C 控制器,能按照設(shè)定的傳輸速率(標(biāo)準(zhǔn),快速,高速)將需要發(fā)送的數(shù)據(jù)按照 I2C 規(guī)范串行發(fā)送到
    發(fā)表于 01-12 08:20

    解鎖NXP NTAG I2C plus:開啟NFC應(yīng)用新境界

    : NT3H2211W0FT1X.pdf 一、產(chǎn)品概述 NXP NTAG I2C plus系列連接式NFC標(biāo)簽,巧妙地將無(wú)源NFC接口與接觸式I2C
    的頭像 發(fā)表于 01-08 16:45 ?576次閱讀

    I2C 為什么只要兩根線就能搞定通信?

    到目前為止,我們已經(jīng)討論了SPI通信和UART通信的基礎(chǔ)知識(shí),現(xiàn)在讓我們討論本系列的最后一個(gè)協(xié)議,即集成電路間協(xié)議(I2C)。如果您曾經(jīng)構(gòu)建過(guò)使用OLED顯示器、氣壓傳感器或陀螺儀/加速度計(jì)模塊
    的頭像 發(fā)表于 01-04 09:14 ?1612次閱讀
    <b class='flag-5'>I2C</b> 為什么只要兩根線就能搞定通信?

    基于FPGA的I2C控制模塊設(shè)計(jì)

    I2C_WRITE_WDATA.v模塊實(shí)現(xiàn)I2C寫時(shí)序,I2C_Controller (I2C控制器)例化了I2C_WRITE_WDATA.
    的頭像 發(fā)表于 12-26 09:48 ?4837次閱讀
    基于FPGA的<b class='flag-5'>I2C</b>控制模塊設(shè)計(jì)

    NXP NTAG I2C plus:解鎖NFC連接新可能

    NXP NTAG I2C plus:解鎖NFC連接新可能 在當(dāng)今的電子設(shè)備領(lǐng)域,NFC技術(shù)憑借其便捷性和高效性,在眾多應(yīng)用場(chǎng)景中得到了廣泛應(yīng)用。NXP推出的NTAG I2C plus系列產(chǎn)品,作為
    的頭像 發(fā)表于 12-24 15:55 ?374次閱讀

    AS32X601的I2C模塊操作EEPROM詳解

    國(guó)科安芯推出的AS32X601系列MCU芯片內(nèi)置的I2C模塊提供了符合工業(yè)標(biāo)準(zhǔn)的兩線串行制接口,可用于MCU和外部I2C設(shè)備的通訊。I2C
    的頭像 發(fā)表于 12-21 21:39 ?946次閱讀
    AS32X601的<b class='flag-5'>I2C</b>模塊操作EEPROM詳解

    CW32 I2C接口的主要特性

    CW32F030 內(nèi)部集成 2 個(gè) I2C 控制器,能按照設(shè)定的傳輸速率(標(biāo)準(zhǔn),快速,高速)將需要發(fā)送的數(shù)據(jù)按照 I2C規(guī)范串行發(fā)送到 I2C
    發(fā)表于 12-16 07:51

    CW32單片機(jī)I2C接口來(lái)讀寫EEPROM芯片

    一、概述 CW32L083 內(nèi)部集成 2 個(gè) I2C 控制器,能按照設(shè)定的傳輸速率(標(biāo)準(zhǔn),快速,高速)將需要發(fā)送的數(shù)據(jù)按照 I2C 規(guī)范串行發(fā)送到
    發(fā)表于 12-09 07:43

    深入剖析I2C協(xié)議

    I2C是由Philips開發(fā)的簡(jiǎn)單的雙向兩線總線,在深入淺出理解SPI協(xié)議中,我們區(qū)分了單工,半雙工,全雙工協(xié)議數(shù)據(jù)流向的區(qū)別,根據(jù)特征,I2C協(xié)議屬于半雙工協(xié)議(即同一時(shí)刻,數(shù)據(jù)單向流動(dòng))。此外
    的頭像 發(fā)表于 08-21 15:10 ?3658次閱讀
    深入剖析<b class='flag-5'>I2C</b>協(xié)議

    STM32有哪些MCU能支持I2C HS模式和同時(shí)支持I3C 的嗎?

    如題,想請(qǐng)問(wèn)下STM32有哪些產(chǎn)品,能支持I2C HS模式,速率3.4Mbit/s。同時(shí)又支持I3C的(SDR12.5M),現(xiàn)在有個(gè)外設(shè) 分別支持I2C HS slave,I3C SD
    發(fā)表于 08-04 06:06

    高效率、6通道、白光LED驅(qū)動(dòng)器,帶I2C接口 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()高效率、6通道、白光LED驅(qū)動(dòng)器,帶I2C接口相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有高效率、6通道、白光LED驅(qū)動(dòng)器,帶I2C接口的引腳圖、接線圖、封裝手冊(cè)、中文資料、英
    發(fā)表于 07-30 18:31
    高效率、6通道、白光LED驅(qū)動(dòng)器,帶<b class='flag-5'>I2C</b><b class='flag-5'>接口</b> skyworksinc

    簡(jiǎn)單了解I2C接口

    在電子電路的復(fù)雜世界里,各種電路模塊設(shè)備需要相互通信才能協(xié)同工作 ,I2C接口就像是電路模塊設(shè)備間的溝通橋梁,今天就帶大家深入了解它。
    的頭像 發(fā)表于 05-08 14:15 ?2512次閱讀
    簡(jiǎn)單了解<b class='flag-5'>I2C</b><b class='flag-5'>接口</b>

    嵌入式教育科普|I2C接口全面解析

    1、基本概念I2C的全稱是Inter-IntegratedCircuit,譯為集成電路總線,是一種同步、雙向、半雙工的兩線式串行接口總線。連接到I2C總線上的設(shè)備既可以用作主設(shè)備,也可以用作從設(shè)備
    的頭像 發(fā)表于 04-11 09:44 ?3239次閱讀
    嵌入式教育科普|<b class='flag-5'>I2C</b><b class='flag-5'>接口</b>全面解析

    單片機(jī)接口類資料大匯總—50冊(cè)大全

    本份資料為單片機(jī)接口類資料大匯總 總共有50冊(cè),內(nèi)容包括TCP/IP接口,模擬串口,CAN接口、I2C,MODBUS,PCI,USB,RS2
    發(fā)表于 03-14 11:08

    I2C總線復(fù)用

    帝晶智慧屏I2C總線復(fù)用
    的頭像 發(fā)表于 03-11 17:20 ?2076次閱讀