色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

采用LPC1752讀取AT24C08C的原理與實現方案

454398 ? 來源:一板網 ? 作者:admin ? 2020-10-24 11:18 ? 次閱讀

1 簡介

1.1 LPC1752及AT24C08C簡介

LPC1752是NXP推出的一款Cortex M3的芯片,最高運行頻率可達80M

AT24C08C是Atmel的一款I2C串行EEPROM,代替原來的型號AT24C08B及AT24C08A。共有8K(1024*8 bit)、1024字節的存儲單元??蛇M行1百萬次的寫操作,數據可保存100年。

1.2 連接方式

AT24C08C是通過LPC1752的I2C2連接的,連接圖如下:

圖1 LPC1752連接圖

1.3 AT24C08C設備地址

The 8K EEPROM only uses the A2 device address bit with the next twobits (P1, P0) being for memory page addressing. The A2 bit must compare to itscorresponding hardwired input pin. The A1 and A0 pins are not connected.

根據連接圖可得知AT24C08的地址為0xA0。

圖2 AT24C08CDevice Address

1.4 I2C運行時鐘頻率

主機模式下必須通過對I2SCLH和I2SCLL寄存器進行設置來選擇合適的總線速率和占空比。I2SCLH定義SCL高電平所保持的PCLK_I2C周期數,I2SCLL定義SCL低電平的PCLK_I2C周期數。位頻率由下面的公式得出(PCLK_I2C是外圍總線APB的頻率):

選用的I2SCLL和I2SCLH值必須確保得出的總線速率在I2C總線速率的范圍之內。I2SCLL和I2SLH的值都必須大于或等于4。表1給出了根據PCLK_I2C頻率和I2SCLL和I2SCLH值計算出來的I2C總線速率的示例。

表1 I2C時鐘速率的實例

2 函數介紹

2.1 初始化函數i2c2_init

按照LPC1752用戶手冊(UM10360)中第三章的介紹進行初始化,步驟如下:

a)。 電源:在寄存器PCONP中置位PCI2C2。

b)。 時鐘:在寄存器PCLK_SEL1中選擇PCLK_I2C2。

c)。 引腳: 通過寄存器PINSEL0使能I2C2引腳。通過寄存器PINMODE來配置I2C2引腳模式。

d)。 時鐘頻率:向I2SCLH和I2SCLH寄存器加載頻率值來定義串行時鐘頻率(主機模式)。

e)。 中斷:在NVIC中置位I2C2_IRQn寄存器使能I2C2中斷。

f)。 向寄存器I2CONSET寫入0x40來置位I2EN位。

2.2 中斷函數I2C2_IRQHandler

通過讀取I2STAT寄存器的值判斷I2C總線上的狀態,并進行下一步操作。

中斷函數只處理了主機接收模式與主機發送模式。

1)I2C進入主機進入發送起始條件時,串行中斷標志(SI)置位,狀態寄存器(I2STAT)中的狀態代碼為0x08。此時將從機地址和數據方向位(SLA+W)裝入I2DAT,同時復位I2CON的STA,STO和SI。

2.3 I2C總線進入開始狀態i2c2_start

可通過置位STA位進入主機發送模式。一旦總線空閑,I2C邏輯會馬上測試I2C總線并產生一個起始條件。

2.4 I2C停止函數i2c2_stop:

I2C結束時發送停止條件并釋放總線。

a)向I2CONSET寫入0x14來置位STO和AA位;

b)向I2CONCLR寫入0x08來清除SI標志;

2.5主機發送函數i2c2_write

啟動主機發送功能,向從機發送數據,通過建立緩沖區、指針和數據計數然后發啟起始條件便可執行主發送操作。

a)初始化主機數據計數器;

b)建立數據將被發送到的從機地址,并且添加寫位;

c)向I2CONSET寫入0x20來置位STA位;

d)在主發送緩沖區內建立要發送的數據;

e)初始化主機數據計數器來匹配正在發送的信息長度;

f)退出。

2.6主機接收函數 i2c2_read

啟動主機接收功能,接收從機發出的數據。

通過建立緩沖區、指針和數據計數然后發啟起始條件便可執行主接收操作。

a)初始化主機數據計數器;

b)建立數據將被發送到的從機地址,并且添加讀位;

c)向I2CONSET寫入0x20來置位STA位;

d)在主接收緩沖區內建立要發送的數據;

e)初始化主機數據計數器來匹配正在發送的信息長度;

f)退出。

3 測試

通過向0x00地址寫入并回讀固定數據驗證有效性。

測試結果比較

第一次讀取

第二次讀取

經驗證可以正常使用。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    120914
  • 存儲單元
    +關注

    關注

    1

    文章

    63

    瀏覽量

    16170
  • EEPROM
    +關注

    關注

    9

    文章

    1033

    瀏覽量

    81828
  • Cortex M3
    +關注

    關注

    0

    文章

    7

    瀏覽量

    8568
  • LPC1752
    +關注

    關注

    0

    文章

    4

    瀏覽量

    3508
收藏 人收藏

    評論

    相關推薦

    DS90UB914與sensor之間似乎無法用I2C溝通,用示波器量不到信號,怎么處理?

    嗎? I2C讀取(0×00):0xC0 I2C讀取(0×06):0xB0 I2C讀取(0×07)
    發表于 01-10 06:39

    TPSM846C24電源模塊評估模塊用戶指南

    電子發燒友網站提供《TPSM846C24電源模塊評估模塊用戶指南.pdf》資料免費下載
    發表于 11-20 11:28 ?0次下載
    TPSM846<b class='flag-5'>C24</b>電源模塊評估模塊用戶指南

    SSS1700C1鑫創USB麥克風芯片/24BIT 192K聲卡芯片方案

    . SSS1700C1C1優化問題點:快速拔插不識別問題,打靜電24bit 96Khz偶有失效,監聽音量可獨立調節 SSS1700C1功能支持192 KHz 24位采樣率和外部音頻編(
    發表于 11-14 10:06

    Type-C轉DP線方案

    Type-C轉DP線以其靈活便捷的高清視頻輸出解決方案,滿足了現代數字生活對高效能和高清晰度的需求。通過利用Type-C接口的Alt Mode功能,Type-C轉DP線
    的頭像 發表于 11-11 10:42 ?614次閱讀
    Type-<b class='flag-5'>C</b>轉DP線<b class='flag-5'>方案</b>

    COFDM調制解調器的實時實現 采用TMS320C31 DSP的高頻通道

    電子發燒友網站提供《COFDM調制解調器的實時實現 采用TMS320C31 DSP的高頻通道.pdf》資料免費下載
    發表于 10-28 10:21 ?0次下載
    COFDM調制解調器的實時<b class='flag-5'>實現</b> <b class='flag-5'>采用</b>TMS320<b class='flag-5'>C</b>31 DSP的高頻通道

    TMS320C24x/C240x CAN的編程示例

    電子發燒友網站提供《TMS320C24x/C240x CAN的編程示例.pdf》資料免費下載
    發表于 10-17 09:30 ?0次下載
    TMS320<b class='flag-5'>C24</b>x/<b class='flag-5'>C</b>240x CAN的編程示例

    在TMS320C6455/C6454上實現DDR2 PCB布局

    電子發燒友網站提供《在TMS320C6455/C6454上實現DDR2 PCB布局.pdf》資料免費下載
    發表于 10-16 11:24 ?0次下載
    在TMS320<b class='flag-5'>C</b>6455/<b class='flag-5'>C</b>6454上<b class='flag-5'>實現</b>DDR2 PCB布局

    C加密算法的實現

    電子發燒友網站提供《C加密算法的實現.pdf》資料免費下載
    發表于 09-20 11:10 ?1次下載
    <b class='flag-5'>C</b>加密算法的<b class='flag-5'>實現</b>

    英銳芯IDCHIP AD24C16(中性)

    AD24C16是一款串行電可擦除編程只讀存儲器(EEPROM)。存儲器可存儲2048個字節數據,分為128頁 每頁16字節,隨機字尋址需要11位數據字地址,具有低功耗CMOS技術,自定時編程周期
    發表于 09-09 15:12 ?0次下載

    英銳芯AD24C02_16-Byte(中性)

    AD24C02是一款串行電可擦除編程只讀存儲器(EEPROM)。存儲器可存儲256個字節數據,分為16頁 每頁16字節,隨機字尋址需要8位數據字地址,具有低功耗CMOS技術,自定時編程周期
    發表于 09-09 15:08 ?0次下載

    探索存儲新未來:為何EVASH EV24C256A EEPROM成為市場新寵

    探索存儲新未來:為何EVASH EV24C256A EEPROM成為市場新寵
    的頭像 發表于 09-05 15:31 ?380次閱讀

    如何關閉phy_version: 1163.0, 665d56c, Jun 24 2020, 10:00:08, RTOS new的發送?

    phy_version: 1163.0, 665d56c, Jun 24 2020, 10:00:08, RTOS new這個無法找到關閉的地方,也無法在SDK中找到源碼,只在libphy.a里找到一個phy_version_p
    發表于 07-09 08:01

    玩轉STM32和EV24C MCU + EEPROM ST + EVASH

    簡介 本指南旨在幫助您輕松上手使用STM32微控制器和EVASH的EV24C系列EEPROM芯片。通過本教程,您將學習如何在實際項目中使用這些組件,逐步掌握從基本到高級的操作技巧。 必備材料
    的頭像 發表于 07-01 09:58 ?535次閱讀

    stm32F103使用CubeMX FreeRTOS通過其配置訪問24C16,讀取時會陷入死循環的原因?

    我是stm32F103,使用CubeMX FreeRTOS,通過其配置訪問24C16,碰到一個非常奇怪的問題: 原生cubeMX生成的代碼,在同樣一批板子上,有大概10%,在代碼第一次讀取24C
    發表于 04-29 06:51

    使用Arduino I2C配置CY8C9560A-24AXI gpio,GPIO0的所有位配置為低位時會報錯的原因?

    你好團隊,我正在嘗試使用 Arduino I2C 配置 CY8C9560A-24AXI gpio。將 GPIO0 的所有位配置為低位時會遇到問題。Wire.beginTransmission
    發表于 03-05 06:07
    主站蜘蛛池模板: A国产一区二区免费入口| 啊轻点灬大JI巴又大又粗| 纯肉宠文高h一对一| 欧美乱码卡一卡二卡四卡免费 | 久久精品久久久久| 亚洲三级视频在线| 国外成人电台| 性夜a爽黄爽| 好湿好紧水多AAAAA片秀人网 | 教室眠催白丝美女校花| 亚洲精品一线二线三线无人区 | 国产三级91| 神马伦理不卡午夜电影| 久久妇女高潮几次MBA| xxnx18日本| 亚洲日韩国产精品乱-久| 女的把腿张开男的往里面插| 国产精品熟女人妻| 2017最新伦理伦理片67| 无码日韩人妻精品久久蜜桃免费| 2020亚洲国产在线播放在线 | 羲义嫁密着中出交尾gvg794| 麻豆精品一区二正一三区| 国产高清免费视频免费观看| 正在播放一区二区| 五花大绑esebdsm国产| 免费看毛片的网址| 国内精品视频久久久久免费| 啊灬啊别停灬用力啊在线观看视频| 亚洲国产综合久久精品| 欧洲老妇人bb| 久久精品黄AA片一区二区三区| 成人在线观看免费视频| 真人美女精美小穴| 亚洲 欧美 国产 综合 播放| 欧美午夜精品久久久久久浪潮| 久久国产欧美日韩精品免费| 国产精品18久久久久久欧美网址| 97碰成视频免费| 亚洲欧洲久久| 网红刘婷hd国产高清|