日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]S3C2440A RISC微處理器可以支持一個多主控IIC總線串行接口。一條專用串行數(shù)據(jù)線(SDA)和一條專用串行時鐘線(SCL)傳遞連接到IIC總線的總線主控和外設之間的信息。SDA和SCL線都為雙向的圖上可見,IIC時鐘從PCLK產(chǎn)生,

S3C2440A RISC微處理器可以支持一個多主控IIC總線串行接口。一條專用串行數(shù)據(jù)線(SDA)和一條專用串行時鐘線(SCL)傳遞連接到IIC總線的總線主控和外設之間的信息。SDA和SCL線都為雙向的

圖上可見,IIC時鐘從PCLK產(chǎn)生,并同時受到IICSTAT控制,IIC數(shù)據(jù)實際上是由一個移位寄存器送出,當IIC處于從機狀態(tài)的時候,有一個地址比較器來檢測IIC總線,使用IIC總線主要有以下寄存器需要設置

1.設置相應的端口復用為IIC端口,啟用IIC時鐘,連接IIC的中斷,自然還需要設置IIC相應的中斷,這些在上一節(jié)已經(jīng)描述過,現(xiàn)在不贅述

2.設置控制寄存器


設置應答使能IIC時鐘,IIC發(fā)送時鐘,IIC中斷等


3.設置想要發(fā)送的從機地址


4.修改IIC總線的狀態(tài),并啟用發(fā)送

5.在發(fā)送過程中,檢測IIC不同的狀態(tài)作相應的操作

具體使用過程將下列代碼

Iic.c

#include"iic.h"u8flag=0;//中斷標志(在中斷子程序里清零,即未中斷flag=1,中斷后flag=0)void__irqI2CInt(void)//中斷子程序{rSRCPND"=BIT_IIC;//清除源掛起rINTPND|=BIT_IIC;//清除中斷掛起flag=0;}voidI2CInit(void){rCLKCON|=(1<<16);//打開IIC時鐘rGPEUP|=0xc000;//關上拉rGPECON&=~0xf0000000;rGPECON|=0xa0000000;//GPE15:IICSDA,GPE14:IICSCLpISR_IIC=(unsigned)I2CInt;//設置中斷程序地址rSRCPND|=BIT_IIC;//清除源掛起rINTPND|=BIT_IIC;//清除中斷掛起rINTMOD&=~BIT_IIC;//設置中斷模式為IRQ模式//使能應答,IIC總線時鐘IICCLK=PCLK/16,使能中斷,發(fā)送時鐘IICCLK/16rIICCON=(1<<7)|(0<<6)|(1<<5)|(0xf);rIICADD=0x10;//2440從機地址=[7:1]0位自動代表輸入輸出rIICSTAT=0x10;//IIC總線數(shù)據(jù)輸出使能(Rx/Tx)rINTMSK&=~(BIT_IIC);//開中斷源}//IIC主機發(fā)送數(shù)據(jù),voidIICMasterWriteData(u8data){flag=1;rIICDS=data;//從器件地址寫入數(shù)據(jù)移位寄存器rIICSTAT=0xf0;//主發(fā)模式,產(chǎn)生起始信號,使能Rx/TxrIICCON&=~0x10;//清除Tx/Rx中斷掛起標志while(flag==1)//等待發(fā)送完成DelayMs(1);}//IIC從機發(fā)送數(shù)據(jù)voidIICSlverWriteData(u8data){flag=1;rIICDS=data;rIICSTAT=0xb0;//主接收模式,使能Rx/TxrIICCON&=~0x10;//清除Tx/Rx中斷掛起標志while(flag==1)//等待發(fā)送完成DelayMs(1);}//iic普通數(shù)據(jù)發(fā)送,應該在配置好主機發(fā)送或者從機發(fā)送之后voidIICWriteData(u8data){flag=1;rIICDS=data;//寫入存儲字節(jié)的地址到數(shù)據(jù)移位寄存器rIICCON&=~0x10;//清除Tx/Rx中斷掛起標志while(flag==1)//等待發(fā)送完成DelayMs(1);}//iic禁止發(fā)送接收中斷voidIICStopRxTx(void){rIICSTAT=0xd0;//禁止Rx/TxrIICCON=0xaf;//ResumesIICoperation.iic復位操作DelayMs(1);}//iic禁止接收中斷voidIICStopRx(void){rIICSTAT=0x90;//StopMasRxconditionrIICCON=0xaf;//ResumesIICoperation.DelayMs(1);//Waituntilstopcondtionisineffect.}



Iic.h

#ifndef__IIC_H_#define__IIC_H_#include"2440addr.h"#include"def.h"#include"uart0.h"#include"delay.h"externu8flag;voidI2CInit(void);voidIICMasterWriteData(u8data);voidIICSlverWriteData(u8data);voidIICWriteData(u8data);voidIICStopRxTx(void);voidIICStopRx(void);#endif



At24c02.c

#include"at24c02.h"voidAtWriteByte(u8regAddr,u8data){IICMasterWriteData(AT_DEVICE_ADDR);IICWriteData(regAddr);IICWriteData(data);IICStopRxTx();}u8AtReadByte(u8regAddr){u8temp=0;IICMasterWriteData(AT_DEVICE_ADDR);IICWriteData(regAddr);IICSlverWriteData(AT_DEVICE_ADDR);//注意:讀取下面這個字節(jié)必須進行,因為在發(fā)送帶有讀命令的從設備地址后,//AT24C02A會再返回一個從設備地址信息或從設備內(nèi)存地址信息作為應答,所以//一定要把該字節(jié)讀取后拋棄,因為它不是我們所要讀取的信息;也就是一次偽讀取過程flag=1;temp=rIICDS;rIICCON&=~0x10;//清除Tx/Rx中斷掛起標志while(flag==1)DelayMs(1);rIICCON=0x2f;//ResumesIICoperation.禁止應答temp=rIICDS;DelayMs(1);IICStopRx();//Waituntilstopcondtionisineffect.returntemp;}//返回1檢測失敗返回0檢測成功u8AtCheck(void){u8test=0x88;AtWriteByte(0x01,test);DelayMs(10);test=0x99;test=AtReadByte(0x01);if(test==0x99)return1;elsereturn0;}



At24c02.h

#ifndef__AT24C02_H_#define__AT24C02_H_#include"iic.h"#defineAT_DEVICE_ADDR0xa0voidAtWriteByte(u8regAddr,u8data);u8AtReadByte(u8regAddr);u8AtCheck(void);#endif


注意發(fā)送過程中附帶起始信號以及模式的轉(zhuǎn)變,以及中斷接收到信號之后數(shù)據(jù)的變化


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

  本文根據(jù)網(wǎng)絡視頻采集的需要,將網(wǎng)絡傳輸與視頻采集相結(jié)合,設計了以S3C2440為核心的USB攝像頭視頻采集和嵌入式Linux系統(tǒng)下的視頻服務器,從而實現(xiàn)了遠程網(wǎng)絡視頻信息采集。   

關鍵字: s3c2440 視頻采集 usb攝像頭

         之前在提起自動化或是智能化時,人們會不自覺的想到工業(yè)生產(chǎn),這是因為自動化這個字眼進入中國,確實是以工業(yè)

關鍵字: 嵌入式 Linux s3c2440 視頻采集

  引言   隨著科技的不斷發(fā)展,以數(shù)據(jù)業(yè)務為主的固定寬帶無線接入技術發(fā)展已經(jīng)很成熟,而移動寬帶無線通信技術還并沒有得到廣泛的應用。由于移動寬帶無線接入系統(tǒng)需要解決帶寬、移動性和覆蓋范圍

關鍵字: IPv6 s3c2440 x86 架構

  1 引言   人們生活水平的提高以及科技的進步,特別是計算機技術、網(wǎng)絡技術和通信技術的發(fā)展,智能家居將慢慢成為未來家居生活的發(fā)展方向。1984年在美國誕生了世界上第一座智能家居建筑,

關鍵字: boa nrf24l01 s3c2440 智能家居

我們知道2440開發(fā)流程為:移植uboot--》移植內(nèi)核---》掛接根文件系統(tǒng)。我們移植完內(nèi)核需要掛接根文件系統(tǒng),那么首先我們必須擁有根文件系統(tǒng)。如何來制作我們的根文件系統(tǒng)呢?第一步:在linux下建

關鍵字: s3c2440 根文件系統(tǒng)

1.TQ2440u-boot-1.1.6修改文件所在的路徑是u-boot-1.1.6includeconfigsEmbedSky.h將#defineLCD_TFTxxx(LCD類型)W353.5寸TFT4802724.3...

關鍵字: s3c2440 lcd參數(shù)

2440的晶振頻率為12MHZ,有兩個PLL:MPLL和UPLL,其中MPLL產(chǎn)生FCLK、HCLK、PCLK;UPLL產(chǎn)生UCLK。FCLK為ARM核提供時鐘,HCLK為AHB總線時鐘,PCLK為APB總線時鐘,UCL...

關鍵字: s3c2440 時鐘初始化

開發(fā)板:TQ2440內(nèi)核:Linux 2.6.32PC OS:Ubuntu 11.041.配置內(nèi)核打開I2C功能:打開雜項設備,該選項打開后,EEPROM也就打開了。2. 修改代碼修改文件: linux/arch/arm...

關鍵字: at24c02 eeprom s3c2440 移植 linux驅(qū)動

在分析ARM-Linux s3c2440中UART的時有必要先了解 s3c2440A中串口的硬件知識。硬件篇:S3c2440A串口提供三個獨立的異步串行通信I/O端口(asynchronousserial I/O por...

關鍵字: ARM Linux s3c2440 uart

s3c2440 cpu的默認工作主頻有兩種12MHz和16.9344MHz,也就是我們的晶振的頻率,但一般12MHz的晶振用的比較多,F(xiàn)in就是指我們接的晶振頻率。大家都知道s3c2440上電正常工作后頻率是遠遠大于12...

關鍵字: s3c2440 時鐘
關閉