国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

【GD32F303紅楓派開發(fā)板使用手冊(cè)】第二十一講 I2C-EEPROM讀寫實(shí)驗(yàn)

發(fā)布者:心靈之舞最新更新時(shí)間:2024-12-13 來(lái)源: elecfans關(guān)鍵字:GD32F303  I2C  EEPROM讀寫 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

21.1實(shí)驗(yàn)內(nèi)容

通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容:

  • AT24C16 EEPROM的工作原理;

  • IIC模塊原理以及IIC驅(qū)動(dòng)原理。

21.2實(shí)驗(yàn)原理

21.2.1AT24C16 EEPROM的工作原理

下圖為AT24CXX系列EEPROM相關(guān)參數(shù),由該圖可知,AT24C16的存儲(chǔ)容量為16Kbit,共2048字節(jié),共128頁(yè),每頁(yè)為16字節(jié)。

wKgaomZ04vaAOmljAAJCtLMn3ng636.png

由下圖可知,AT24C16由8塊組成,每塊256字節(jié)。

wKgaomZ04vWAUgYXAACvFtpHgTY105.png

I2C開始信號(hào)后,第一個(gè)字節(jié)為器件地址,由1010+3位塊地址+1位讀寫標(biāo)志組成,3位塊地址剛好可以表示8個(gè)塊, 所以一次寫完256字節(jié),換到下一下塊的時(shí)候,要重新更改器件地址。

wKgZomZ04vWANv5yAACovDz5C1E070.png

AT24C16支持頁(yè)寫入模式,一次最多可支持寫入16字節(jié)。主機(jī)每發(fā)送一個(gè)字節(jié),24c16收到確認(rèn),內(nèi)部地址遞增(僅限低4bit,所以1次可寫16字節(jié))。

21.2.2IIC接口原理

GD32F30X系列MCU的I2C接口模塊實(shí)現(xiàn)了I2C協(xié)議的標(biāo)速模式,快速模式以及快速+模式,具備CRC計(jì)算和校驗(yàn)功能、支持SMBus(系統(tǒng)管理總線)和PMBus(電源管理總線),此外還支持多主機(jī)I2C總線架構(gòu),其主要特性如下:

?并行總線至I2C總線協(xié)議的轉(zhuǎn)換及接口;
?同一接口既可實(shí)現(xiàn)主機(jī)功能又可實(shí)現(xiàn)從機(jī)功能;
?主從機(jī)之間的雙向數(shù)據(jù)傳輸;
?支持7位和10位的地址模式和廣播尋址;
?支持I2C多主機(jī)模式;
?支持標(biāo)速(最高100 KHz),快速(最高400 KHz)和快速+模式(最高1MHz);
?從機(jī)模式下可配置的SCL主動(dòng)拉低;
?支持DMA模式;
?兼容SMBus 2.0和PMBus;
?兩個(gè)中斷:字節(jié)成功發(fā)送中斷和錯(cuò)誤事件中斷;
?可選擇的PEC(報(bào)文錯(cuò)誤校驗(yàn))生成和校驗(yàn)。

IIC模塊結(jié)構(gòu)框圖如下所示。

wKgZomZ04vWAOgFSAAFrZaX0CtE876.png

21.3硬件設(shè)計(jì)

EEPROM硬件電路圖如下所示,IIC引腳使用PB10和PB11引腳,SDA和SCL總線通過(guò)4.7K電阻上拉,且對(duì)地接30pf電容以及100歐姆串阻濾波。

wKgZomZ04vWAaaaLAAC4RSlhMDg168.pngwKgaomZ04vWAI7sJAADJKEKLg00314.png


21.4代碼解析

21.4.1EEPROM初始化配置函數(shù)

EEPROM初始化配置函數(shù)如下,主要實(shí)現(xiàn)對(duì)IIC總線引腳配置以及IIC模塊配置。

C
void bsp_eeprom_init_AT24C16(void)
{
driver_i2c_init(&EEPROM_I2C);
}
void driver_i2c_init(typdef_i2c_struct *i2cx)
{
rcu_periph_clock_enable(i2cx->rcu_i2c_x);

i2c_deinit(i2cx->i2c_x);

driver_gpio_general_init(i2cx->i2c_scl_gpio);
driver_gpio_general_init(i2cx->i2c_sda_gpio);

/* I2C clock configure */
i2c_clock_config(i2cx->i2c_x, i2cx->frequency, I2C_DTCY_2);
/* I2C address configure */
i2c_mode_addr_config(i2cx->i2c_x, I2C_I2CMODE_ENABLE, I2C_ADDFORMAT_7BITS, i2cx->slave_addr);
/* enable I2C0 */
i2c_enable(i2cx->i2c_x);
/* enable acknowledge */
i2c_ack_config(i2cx->i2c_x, I2C_ACK_ENABLE);
}

21.4.2EEPROM buf寫入接口函數(shù)

EEPROM buf寫入接口函數(shù)實(shí)現(xiàn)如下,通過(guò)該函數(shù)可實(shí)現(xiàn)對(duì)AT24C16任意地址的多字節(jié)寫入。內(nèi)部已根據(jù)地址和寫入長(zhǎng)度自動(dòng)識(shí)別從機(jī)地址以及對(duì)應(yīng)的塊,然后寫入正確的地址空間。

C
EEPROM_STATE eeprom_buffer_write_AT24C16(uint8_t* p_buffer, uint16_t write_address, uint16_t number_of_byte)
{
uint8_t number_of_page = 0, number_of_single = 0, address = 0, count = 0;
uint8_t deviceId;
address = write_address % I2C_PAGE_SIZE;
count = I2C_PAGE_SIZE - address;
number_of_page = number_of_byte / I2C_PAGE_SIZE;
number_of_single = number_of_byte % I2C_PAGE_SIZE;

if(write_address+write_address>EEPROM_SIZE)
{
return EEPROM_ERROR;
}
/* if write_address is I2C_PAGE_SIZE aligned */
if(0 == address){
while(number_of_page--){

deviceId=(write_address>>8)>0 ? (EEPROM_ADDR | (uint8_t)((write_address>>7)&0x0E)):EEPROM_ADDR ;
if(driver_i2c_mem_poll_write(&EEPROM_I2C,deviceId,write_address,MEM_ADDRESS_8BIT,p_buffer,I2C_PAGE_SIZE) == DRV_ERROR)
{
return EEPROM_ERROR;
}
if(eeprom_wait_standby_state(&EEPROM_I2C) == EEPROM_ERROR)
{
return EEPROM_ERROR;
}
write_address += I2C_PAGE_SIZE;
p_buffer += I2C_PAGE_SIZE;
}
if(0 != number_of_single){
deviceId=(write_address>>8)>0 ? (EEPROM_ADDR | (uint8_t)((write_address>>7)&0x0E)):EEPROM_ADDR ;
if(driver_i2c_mem_poll_write(&EEPROM_I2C,deviceId,write_address,MEM_ADDRESS_8BIT,p_buffer, number_of_single)==DRV_ERROR)
{
return EEPROM_ERROR;
}
if(eeprom_wait_standby_state(&EEPROM_I2C) == EEPROM_ERROR)
{
return EEPROM_ERROR;
}
}
return EEPROM_SUCCESS;
}else{
/* if write_address is not I2C_PAGE_SIZE aligned */
if(number_of_byte < count){ 
deviceId=(write_address>>8)>0 ? (EEPROM_ADDR | (uint8_t)((write_address>>7)&0x0E)):EEPROM_ADDR ;
if(driver_i2c_mem_poll_write(&EEPROM_I2C,deviceId,write_address,MEM_ADDRESS_8BIT,p_buffer, number_of_byte)==DRV_ERROR)
{
return EEPROM_ERROR;
}
if(eeprom_wait_standby_state(&EEPROM_I2C)==EEPROM_ERROR)
{
return EEPROM_ERROR;
}

}else{
number_of_byte -= count;
number_of_page = number_of_byte / I2C_PAGE_SIZE;
number_of_single = number_of_byte % I2C_PAGE_SIZE;

if(0 != count){
deviceId=(write_address>>8)>0 ? (EEPROM_ADDR | (uint8_t)((write_address>>7)&0x0E)):EEPROM_ADDR ;
if(driver_i2c_mem_poll_write(&EEPROM_I2C,deviceId,write_address,MEM_ADDRESS_8BIT,p_buffer, count)==DRV_ERROR)
{
return EEPROM_ERROR;
}
if(eeprom_wait_standby_state(&EEPROM_I2C)==EEPROM_ERROR)
{
return EEPROM_ERROR;
}
write_address += count;
p_buffer += count;
}
/* write page */
while(number_of_page--){
deviceId=(write_address>>8)>0 ? (EEPROM_ADDR | (uint8_t)((write_address>>7)&0x0E)):EEPROM_ADDR ;
if(driver_i2c_mem_poll_write(&EEPROM_I2C,deviceId,write_address,MEM_ADDRESS_8BIT,p_buffer, I2C_PAGE_SIZE)==DRV_ERROR)
{
return EEPROM_ERROR;
}
if(eeprom_wait_standby_state(&EEPROM_I2C)==EEPROM_ERROR)
{
return EEPROM_ERROR;
}
write_address += I2C_PAGE_SIZE;
p_buffer += I2C_PAGE_SIZE;
}
/* write single */
if(0 != number_of_single){
deviceId=(write_address>>8)>0 ? (EEPROM_ADDR | (uint8_t)((write_address>>7)&0x0E)):EEPROM_ADDR ;
if(driver_i2c_mem_poll_write(&EEPROM_I2C,deviceId,write_address,MEM_ADDRESS_8BIT,p_buffer, number_of_single)==DRV_ERROR)
{
return EEPROM_ERROR;
}
if(eeprom_wait_standby_state(&EEPROM_I2C)==EEPROM_ERROR)
{
return EEPROM_ERROR;
}
}
}
return EEPROM_SUCCESS;
}
}

21.4.3EEPROM buf讀取接口函數(shù)

EEPROM buf讀取接口函數(shù)實(shí)現(xiàn)如下,通過(guò)該函數(shù)可實(shí)現(xiàn)對(duì)EEPROM任意地址的多字節(jié)數(shù)據(jù)讀取,內(nèi)部也對(duì)讀取的地址進(jìn)行自動(dòng)識(shí)別從機(jī)地址。

C
EEPROM_STATE eeprom_buffer_read_AT24C16(uint8_t* p_buffer, uint16_t read_address, uint16_t number_of_byte)
{
uint8_t rNum=0; //讀取的數(shù)據(jù)長(zhǎng)度
uint16_t lenLeft=number_of_byte;//剩余的數(shù)據(jù)長(zhǎng)度
uint8_t deviceId;//讀取的器件地址
if(read_address+number_of_byte>EEPROM_SIZE)//如果讀取的長(zhǎng)度加上讀取地址超過(guò)了EEPROM的空間大小,則報(bào)錯(cuò)誤
{
return EEPROM_ERROR;
}
/*calculate the current read position to know how many word can read continully*/
rNum=16-read_address & 0x0F;
if(rNum == 0) rNum=16;
rNum = lenLeft>=rNum ? rNum : lenLeft;//剩余未讀字節(jié)數(shù)如果大于rNum, 則讀rNum個(gè),如果小于rNum,則一次讀完了
/*read the data from e2prom*/
while(lenLeft)
{
//這里計(jì)算頁(yè)地址,當(dāng)?shù)刂沸∮?56時(shí),右移8位會(huì)小于0,所以器件地址為基地址A1
//如果讀取的地址大于256時(shí),右移8位則不會(huì)小于0,所以器件地址為 基地址A1 | 3位頁(yè)地址
deviceId=(read_address>>8)>0 ? (EEPROM_ADDR | (uint8_t)((read_address>>7)&0x0E)):EEPROM_ADDR ;

if(driver_i2c_mem_poll_read(&EEPROM_I2C,deviceId,read_address,MEM_ADDRESS_8BIT,p_buffer,rNum)==DRV_ERROR)
{
// printf('i2c read errorrn');
return EEPROM_ERROR;
}
read_address+=rNum;//已經(jīng)讀了rNum個(gè)了,所以地址后移rNum個(gè)
lenLeft-=rNum;//剩余未讀數(shù)據(jù)減少rNum個(gè)
p_buffer+=rNum;
rNum=lenLeft>16? 16 : lenLeft;//如果剩余大于16個(gè),則下次再讀16個(gè),如果小于,則一次讀完
}
return EEPROM_SUCCESS;
}

21.4.4EEPROM讀寫實(shí)驗(yàn)主函數(shù)

EEPROM讀寫實(shí)驗(yàn)主函數(shù)如下所示。通過(guò)該實(shí)驗(yàn)實(shí)現(xiàn)對(duì)AT24C16任意地址256字節(jié)的寫入、讀取以及校驗(yàn)測(cè)試。

C
int main(void)
{
uint16_t i;
uint8_t i2c_buffer_write[BUFFER_SIZE];
uint8_t i2c_buffer_read[BUFFER_SIZE];

bsp_eeprom_init_AT24C16();
/* initialize i2c_buffer_write */
for(i = 0;i < BUFFER_SIZE;i++){ 
i2c_buffer_write[i]=i;
// printf('0x%02X ',i2c_buffer_write[i]);
// if(15 == i%16){
// printf('rn');
// }
}

if(eeprom_buffer_write_AT24C16(i2c_buffer_write,0x0153,BUFFER_SIZE)==EEPROM_SUCCESS)
{
__nop();
}
if(eeprom_buffer_read_AT24C16(i2c_buffer_read,0x0153,BUFFER_SIZE)==EEPROM_SUCCESS)
{
__nop();
}
/* compare the read buffer and write buffer */
for(i = 0;i < BUFFER_SIZE;i++){
if(i2c_buffer_read[i] != i2c_buffer_write[i]){
__nop();
// printf('0x%02X ', i2c_buffer_read[i]);
// printf('Err:data read and write aren't matching.nr');
// return I2C_FAIL;
}
//printf('0x%02X ', i2c_buffer_read[i]);
// if(15 == i%16){
// printf('rn');
// }
}
__nop();
// printf('I2C-AT24C02 test passed!nr');
while (1)
{
}
}

21.5實(shí)驗(yàn)結(jié)果

將本實(shí)驗(yàn)歷程燒錄到紅楓派開發(fā)板中,運(yùn)行后,可通過(guò)串口打印測(cè)試結(jié)果,可實(shí)現(xiàn)對(duì)于AT24C16任意地址寫入、讀取以及校驗(yàn)。

wKgaomZ04vWAdP5HAABu6KXZb68775.png

關(guān)鍵字:GD32F303  I2C  EEPROM讀寫 引用地址:【GD32F303紅楓派開發(fā)板使用手冊(cè)】第二十一講 I2C-EEPROM讀寫實(shí)驗(yàn)

上一篇:【GD32F303紅楓派開發(fā)板使用手冊(cè)】第二十講八 USB-虛擬串口實(shí)驗(yàn)
下一篇:【GD32F303紅楓派開發(fā)板使用手冊(cè)】第十一講 ADC-電源電壓?jiǎn)瓮ǖ繟DC檢測(cè)實(shí)驗(yàn)

推薦閱讀最新更新時(shí)間:2025-06-22 10:51

GD32F303紅楓開發(fā)板使用手冊(cè)】第十講 FWDGT-獨(dú)立看門狗實(shí)驗(yàn)
10.1實(shí)驗(yàn)內(nèi)容 通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: 獨(dú)立看門狗的原理 獨(dú)立看門狗功能介紹 實(shí)現(xiàn)獨(dú)立看門狗功能 10.2實(shí)驗(yàn)原理 10.2.1看門狗的原理 一般來(lái)說(shuō),搭配MCU的產(chǎn)品都需要有長(zhǎng)期運(yùn)行的需求,特別像一些工業(yè)設(shè)備,可能要求運(yùn)行個(gè)幾年都不關(guān)機(jī),但誰(shuí)也不能保證在這幾年里,MCU里面的代碼不出任何問(wèn)題,更何況自然環(huán)境中還存在很多電磁干擾、靜電等,都可能會(huì)導(dǎo)致MCU出現(xiàn)運(yùn)行異常的情況,比如程序卡死啦,進(jìn)入錯(cuò)誤狀態(tài)啦等等,這個(gè)時(shí)候,我們就可以通過(guò)一個(gè)非??蓯鄣耐庠O(shè)——看門狗,來(lái)幫助MCU從異常狀態(tài)復(fù)位,讓程序重新開始從頭運(yùn)行。 看門狗實(shí)際上是一個(gè)定時(shí)器,它的工作原理是:將看門狗定時(shí)器的計(jì)數(shù)器設(shè)定一個(gè)初始值,看門狗開始運(yùn)行后,定
[單片機(jī)]
【<font color='red'>GD32F303</font><font color='red'>紅楓</font><font color='red'>派</font><font color='red'>開發(fā)板</font>使用手冊(cè)】第十講 FWDGT-獨(dú)立看門狗實(shí)驗(yàn)
51proteus仿真:I2c總線和EEPROM2404的讀寫
仿真電路圖: 仿真程序: #include reg52.h #include INTRINS.H #define uchar unsigned char #define uint unsigned int sbit SCL=P1^0; sbit SDA=P1^1; void delay(void) { _nop_(); _nop_(); _nop_(); _nop_(); } void InitI2C(void) { SDA = 1; SCL = 1; } void I2CStart(void) { SDA=1; delay(); SCL=1; delay(); SDA=0; delay(); SCL=0; }
[單片機(jī)]
51proteus仿真:<font color='red'>I2c</font>總線和<font color='red'>EEPROM</font>2404的<font color='red'>讀寫</font>
單片機(jī) EEPROM 多字節(jié)讀寫操作時(shí)序
我們讀取 EEPROM 的時(shí)候很簡(jiǎn)單,EEPROM 根據(jù)我們所送的時(shí)序,直接就把數(shù)據(jù)送出來(lái)了,但是寫 EEPROM 卻沒(méi)有這么簡(jiǎn)單了。給 EEPROM 發(fā)送數(shù)據(jù)后,先保存在了 EEPROM 的緩存,EEPROM 必須要把緩存中的數(shù)據(jù)搬移到“非易失”的區(qū)域,才能達(dá)到掉電不丟失的效果。而往非易失區(qū)域?qū)懶枰欢ǖ臅r(shí)間,每種器件不完全一樣,ATMEL 公司的 24C02 的這個(gè)寫入時(shí)間最高不超過(guò) 5 ms。在往非易失區(qū)域?qū)懙倪^(guò)程,EEPROM 是不會(huì)再響應(yīng)我們的訪問(wèn)的,不僅接收不到我們的數(shù)據(jù),我們即使用 I2C 標(biāo)準(zhǔn)的尋址模式去尋址,EEPROM 都不會(huì)應(yīng)答,就如同這個(gè)總線上沒(méi)有這個(gè)器件一樣。數(shù)據(jù)寫入非易失區(qū)域完畢后,EEPROM 再次恢
[單片機(jī)]
AVR EEPROM 讀寫實(shí)驗(yàn)
iccavr教程之 ATMEGA8 中有1024字節(jié)的SRAM 、8096字節(jié)的FLASH 和 512字節(jié)的EEPROM,他們之間的區(qū)別是,F(xiàn)LASH是用來(lái)保存你的程序代碼的,在程序運(yùn)行過(guò)程中,程序本身不可以修改其內(nèi)容,掉電內(nèi)容不會(huì)丟失,只在燒寫 單片機(jī) 時(shí)修改。SRAM 是保存程序運(yùn)行過(guò)程中產(chǎn)生的臨時(shí)數(shù)據(jù),例如你定義的變量都保存在這里。1K 大小的空間,可以讓你隨意的定義變量,一般情況下不用擔(dān)心不夠用,只要你能記得住。與 51單片機(jī) 相比,這一點(diǎn)要好得多。在51里只有128 或256 字節(jié)的空間,而PIC系列更是少的可憐,往往要省著使用。SRAM具有掉電數(shù)據(jù)丟失的特點(diǎn),如果想要在開機(jī)時(shí)得到上一次掉電時(shí)的一些數(shù)據(jù),這些數(shù)據(jù)就不能
[單片機(jī)]
GD32F303固件庫(kù)開發(fā)(1)----前期準(zhǔn)備與燒錄
概述 在這使用STM32CUBEMX進(jìn)行配置STM32F103,移植到兆易創(chuàng)新GD32F303,然后進(jìn)行測(cè)試。需要樣片的可以加Qun申請(qǐng):615061293。 芯片申請(qǐng) 芯片和開發(fā)板都可免費(fèi)申請(qǐng),暫時(shí)只能以公司名義免費(fèi)申請(qǐng),填下下面表格即可。 pack包 GD32f303的pack包下載鏈接如下: https://www.keil.com/dd2/pack/#/eula-container 調(diào)試軟件 J-Link下載,選擇自己適合的版本進(jìn)行下載。 https://www.segger.com/downloads/jlink/ 開發(fā)板資料下載 開發(fā)板資料可以上兆易創(chuàng)新進(jìn)行下載。 http://www.gd32mcu.com/c
[單片機(jī)]
<font color='red'>GD32F303</font>固件庫(kù)開發(fā)(1)----前期準(zhǔn)備與燒錄
基于MCS-51單片機(jī)I2C總線接口電路的設(shè)計(jì)
I2C總線是由串行數(shù)據(jù)線SDA和串行時(shí)鐘線SCL構(gòu)成的,可發(fā)送和接收數(shù)據(jù)。它允許若干兼容器件共享總線。所有掛接在I2C總線上的器件和接口電路都應(yīng)具有I2C總線接口,且所有的SDA/SCL同名端相連??偩€上所有器件要依靠SDA發(fā)送的地址信號(hào)尋址,不需要片選線。 I2C總線最主要的優(yōu)點(diǎn)是其簡(jiǎn)單性和有效性。占用的空間小,降低了互連成本??偩€的長(zhǎng)度可高達(dá)7.6m,并且能夠以10kbps的最大傳輸速率支持40個(gè)組件。支持多主控器件,其中,任何能夠進(jìn)行發(fā)送和接收的設(shè)備都可以成為主器件。主控能夠控制信號(hào)的傳輸和時(shí)鐘頻率。當(dāng)然,在某時(shí)刻只能有一個(gè)主控器件。 在單片機(jī)控制系統(tǒng)中,廣泛使用I2C器件。如果單片機(jī)自帶I2C總線接口,則所有I2C
[單片機(jī)]
基于MCS-51單片機(jī)<font color='red'>I2C</font>總線接口電路的設(shè)計(jì)
詳解嵌入式開發(fā)中的I2C總線
硬盤、U盤等這些設(shè)備中都有一個(gè)“掉電保存”的器件,他們的特點(diǎn)就是沒(méi)電了之后,存在他們上面的信息不會(huì)丟失,就像人的大腦,有記憶功能。在工業(yè)領(lǐng)域也非常常見這種器件,一般有EEPROM和FLASH。它倆共同點(diǎn)是可讀可寫,斷電保存。 不同點(diǎn)是EEPROM寫之前不用擦除,而FLASH寫之前一定要擦除,否則寫不成功;EEPROM一般都使用I2C總線來(lái)通信,而FLASH一般是使用SPI總線。 EEPROM存儲(chǔ)器系統(tǒng)架構(gòu)圖如下。 位傳輸 I2C總線是由飛利浦(Philips)公司開發(fā)的一種雙向二線制同步串行總線,實(shí)現(xiàn)有效的IC間的控制,它只需要兩根線(SDA和SCL)即可在連接于總線上的器件之間傳送信息。 I2C總線在傳輸數(shù)據(jù)都是按照
[單片機(jī)]
適合工業(yè)應(yīng)用的魯棒SPI/I2C通信
Robust SPI/I2C Communications for Industrial Applications 適合工業(yè)應(yīng)用的魯棒SPI/I2C通信 評(píng)估和設(shè)計(jì)支持 電路評(píng)估板 CN0564參考設(shè)計(jì)板(EVAL-CN0564-ARDZ) 設(shè)計(jì)和集成文件 原理圖、布局文件、物料清單 電路功能與優(yōu)勢(shì) 對(duì)于控制器和外設(shè)之間的短距離電路板內(nèi)連接,串行外設(shè)接口(SPI)和Inter-Integrated Circuit (I2C)接口是流行的事實(shí)上的通信標(biāo)準(zhǔn)。由于存在廣泛的硬件和軟件支持,SPI和I2C已被傳感器、執(zhí)行器和數(shù)據(jù)轉(zhuǎn)換器制造商廣泛采用。當(dāng)控制器和外設(shè)位于同一電路板上、共享同一接地層且相距
[電源管理]
適合工業(yè)應(yīng)用的魯棒SPI/<font color='red'>I2C</font>通信
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved