實驗程序庫函數版30lcd iic_第1頁
實驗程序庫函數版30lcd iic_第2頁
實驗程序庫函數版30lcd iic_第3頁
實驗程序庫函數版30lcd iic_第4頁
實驗程序庫函數版30lcd iic_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

30LCD-IICTFTLCD上。本章分為以下學習目標:I2CI2CI2C總線時PHILIPS公司推出的一種串行總線,具備多主機系統所需的包括總線仲裁一個是時鐘線SCL。在I2C總線上面,每個器件都有自己相應的I2C地址,所以在兩個行應答之后才開始通信。首先我們來看一下,一個I2C信號傳輸的一個過程,如圖:I2C上面一個完整信號的傳輸過程,一定要有一個始信號,還有一1、在總線空閑的時候,SDASCL2SCL為高電平期間,SDASDASCL為低電號)。SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號,I2C總線上面,當總線空閑的時候,SCLSDA都是高電平SDA從高電平向低電平跳變的時候,兩4.7usSCLSDA低電平要至少保持4us的時間(從這里我們看出I2C總高速率已經決定了)。IOvoid{}SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信號。IO{}應答,也叫響應。數據的傳輸必須要帶應答。在響應的時鐘脈沖期間(SCL在高電平的時候)SDA線(釋放SDA意思就是將SDA拉為高電平,這里要注SCLSDASCL在低電平的時候,將SDA拉為高電待然后等待應答,在應答時鐘脈沖器件,是產生一個高電平的時鐘,進行應答)里面I2C的IO模擬信號里面接收數據的函數,最后的應答和非應答。IOvoidI2C_Ack(void){}voidI2C_NAck(void){}//返回值:1 0u8{u8{{return1;}}return}一般I2C的時候,都是在SCL的為高電平的時候進行,所以在SCL為高電平的時候,需要保持SDA穩定。而且注意的還有就是他們的保持時間要大于4us。IO//I2CvoidI2C_Send_Byte(u8{u8{if((txd&0x80)>0)//0x80 }}IO//I2C一個字u8I2C_Read_Byte(u8{u8{}return}24C02以參考光盤上面的DATASHEET。24C02可以提供2K2568位字節的EEPROM內存。也就是說它可以256個字節的數據。所以從這里我們可以了解到,256256個內存地24C02讀寫數據的時候,地址正好跟一個字節一一24C02I2C里是8個字節,(在有些上面是16個字節,不過開發板上面使用24C02是一頁8個字節,ARM公司提供的例程里面24C02設定的也是一頁8個字節。)也就是說當你寫入的數據,在同一頁的時候(注意是在同一頁的時候)每寫入一個字節,地址自動加1。24C02的讀操作,24C02的讀操作就可以連續讀,不管連續讀的數據是不是在同一頁,24C02STM32I2C2PB10PB11IOI2C24C02的器件地址是高四位1010是24Cxx系列的固定器件地址,接下來是A2、A1、A0是根據器件連接來決定,也就是我們原理圖上面的E2、E1、E0。我們的原理圖都接地所以是000。R/W為是選擇讀還是寫,1的時候是讀,00xA00xA1STM32I2CSTM32I2CSTM32的硬件I2C,很難調試。不過AT24C02有ARM的提供的例程,讀寫還是挺穩定的,我們的例程使用的也是參考ARM的例程來的。接下來我們看看一下通過庫函數使用硬件I2C來操作AT24C02。配置IO的模式#defineI2C_SCLGPIO_Pin_10//PB10#defineI2C_SDAGPIO_Pin_11//PB11#defineGPIO_I2CGPIOB24C02函數 : :24c02寫一個字節地址數*入:addr*出/voidAT24Cxx_WriteOneByte(u16addr,u8{{}{}I2C_Wait_Ack();I2C_Stop();}那么AT24C02的步驟是發送要的AT24C02的地函數 : :24c02讀一個字節地址數 : :返回值/{u8{ }{}temp=I2C_Read_Byte(0);//0 return}FunctionName: :Main : : :intmain(){u8TFT_Init();//TFT彩屏初始化 key_init();//按鍵初始化printf_init();//printf初始化 GUI_Show12ASCII(10,10,"ThisisaIIC-AT24C02Check!",YELLOW,BLACK);GUI_Show12ASCII(10,27,"PB10PB11isIICInterface!",YELLOW,BLACK);GUI_Show12ASCII(10,44,"TheK_UPis:AT24C02Write",YELLOW,BLACK);GUI_Show12ASCII(10,61,"TheK_DOWMis:AT24C02Read",YELLOW,BLACK);GUI_Show12ASCII(10,100,"WritedataRangeis:0-255",YELLOW,BLACK);GUI_Show12ASCI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論