數據有效性:
起始和終止信號時序:
設備地址:
寫字節時序:
讀數據時序:
/**************************************/
/******模擬I2C總線操作函數*************/
/**************************************/
//延時函數
void Delay()
{ ; ; }
//初始化
void I2C_Init()
{
SDA = 1;
SCL = 1;
}
//起始信號
void I2C_Start()
{
SDA = 1;
Delay();
SCL = 1;
Delay();
SDA = 0;
Delay();
}
//終止信號
void I2C_Stop()
{
SDA = 0;
Delay();
SCL = 1;
Delay();
SDA = 1;
Delay();
}
//應答信號
void I2C_Acknowledge()
{
unsigned char i;
SCL = 1;
Delay();
while((SDA == 1) && (i<250)){ //在一定時間內等待應答信號
i++;
}
SCL = 0;
Delay();
}
//寫一個字節
void I2C_WriteByte(unsigned char Data)
{
unsigned char i,temp;
temp = Data;
SCL = 0;
Delay();
for(i = 0;i < 8;i++){
temp = temp<<1;
SDA = CY; //CY為PSW寄存器的溢出位
Delay();
SCL = 1;
Delay();
SCL = 0;
Delay();
}
SDA = 1;
Delay();
}
//讀一個字節
unsigned char I2C_ReadByte()
{
unsigned char i,temp,Data;
SCL = 0;
Delay();
SDA = 1;
Delay();
for(i = 0;i < 8;i++){
SCL = 1;
Delay();
temp = SDA;
Data = (Data<<1)|temp;
SCL = 0;
Delay();
}
return Data;
}
//在特定位置寫一個字節數據
void I2C_WriteByteAt(unsigned char address,unsigned char Data)
{
I2C_Init();
I2C_Start();
I2C_WriteByte(0xa0);//寫器件地址,最后一位表示數據方向
I2C_Acknowledge();
I2C_WriteByte(address);//寫存儲地址
I2C_Acknowledge();
I2C_WriteByte(Data);//寫數據
I2C_Acknowledge();
I2C_Stop();
}
//從特定位置讀一個字節數據
unsigned char I2C_ReadByteAt(unsigned char address)
{
unsigned char Data;
I2C_Init();
I2C_Start();
I2C_WriteByte(0xa0);//寫器件地址,最后一位表示數據方向
I2C_Acknowledge();
I2C_WriteByte(address);//寫存儲地址
I2C_Acknowledge();
I2C_Start();
I2C_WriteByte(0xa1);//再次寫器件地址,注意改變數據方向
I2C_Acknowledge();
Data = I2C_ReadByte();//讀數據
I2C_Stop();
return Data;
}
上一篇:80C196KB單片機對滅菌器的控制設計方案
下一篇:最后一頁
推薦閱讀
史海拾趣
隨著產品線的不斷豐富和技術實力的日益增強,GStek開始積極拓展國內外市場。公司采取多元化的市場策略,針對不同客戶群體提供定制化的解決方案。同時,GStek還注重品牌建設,通過參加各類行業展會、舉辦技術研討會等方式,加強與業界的交流與合作,提升品牌知名度和影響力。這些努力使得GStek的產品廣泛應用于各類電子產品中,包括智能手機、平板電腦、筆記本電腦等移動設備以及家電、工控等領域。
在電子行業的激烈競爭中,宜源科技公司始終將技術創新作為公司發展的核心驅動力。公司投入大量研發資源,成功開發出一系列具有自主知識產權的電子產品和解決方案。其中,其獨特的智能芯片技術,不僅大幅提升了產品的性能,還降低了生產成本,使得宜源科技在市場中迅速脫穎而出。
面對日新月異的電子行業發展趨勢,綠寶石公司始終保持敏銳的洞察力和創新精神。公司不斷加大對研發的投入力度,積極探索新的技術和應用領域。同時,綠寶石公司還注重與高校、科研機構的合作與交流,引進和培養了一批高素質的研發人才。這些創新舉措為綠寶石公司的持續發展注入了新的動力,也為行業的未來發展指明了方向。
這些故事是基于一般電子行業發展趨勢和公司成長邏輯的虛構內容,旨在展示一個公司可能經歷的發展階段和關鍵事件。實際上,綠寶石公司的發展過程可能涉及更多復雜的因素和挑戰,需要具體的資料和數據進行描述和分析。
人才是企業發展的核心競爭力。Excelics Semiconductor深知這一點,因此他們非常重視人才的引進與培養。公司設立了專門的研發部門,吸引了大量優秀的半導體技術人才。同時,他們還建立了完善的培訓體系,不斷提升員工的技能和素質。這些舉措為公司的持續發展提供了堅實的人才保障。
在電子行業中,質量始終是客戶最關心的問題之一。Ferroxcube公司深知這一點,因此在生產過程中嚴格控制產品質量,確保每一個出廠的產品都符合甚至超過客戶的期望。
有一次,一個大型電子設備制造商向Ferroxcube下了一筆大額訂單,要求提供一批高性能的磁環。然而,在生產過程中,質檢部門發現其中一部分磁環的性能指標略低于標準要求。雖然這批產品仍然符合市場上的大部分需求,但Ferroxcube公司決定全部返工,確保每一件產品都達到最高標準。
這一舉動雖然增加了公司的生產成本,但卻贏得了客戶的極高評價。那家大型電子設備制造商對Ferroxcube的嚴謹態度和專業精神表示贊賞,并將Ferroxcube列為了其首選供應商之一。此后,雙方的合作更加緊密,共同開發了許多創新的電子產品。
隨著產品的成功推出,AverLogic公司開始積極拓展市場,尋求與國際知名電子品牌的合作。通過與這些品牌的深度合作,公司不僅將產品推向了更廣闊的市場,還從合作伙伴那里獲得了寶貴的市場反饋和技術支持。這些合作不僅提升了AverLogic的品牌影響力,也為其后續的產品研發和市場布局提供了有力的支持。
誰愿意當我的師傅啊,剛畢業進入一個公司,要求用CPLD做一個設計,但因為小公司嘛,沒有培訓,自己學的都是皮毛,有時候搞了很久發現走彎路了,振希望有個人能指導下我,公司也沒這方面的人,以前都是用單片機,現在是DSP+CPLD,CPLD很多問題不明白 ...… 查看全部問答∨ |
我是2440的板子,時鐘配置為FCLK=405MHZ HCLK=101.25MHZ PCLK=50.625MHZ,串口配置好了。 癥狀就是串口終端上不斷打印Hello,沒有打印出WinCE和后面的Testing.后來用LED點燈的辦法感覺就是在執行完第一個 Uart_SendString(\"Hello\"); ...… 查看全部問答∨ |
勾選了setting下的generate browse information 為yes,但是還是產生不了.bsc文件,在go to definition的時候還是提示browse information不可得,望高手幫忙… 查看全部問答∨ |
用I2C總線往G-sensor的寄存器中寫數據怎么寫不進去?盼高手指點! 硬件沒有問題,我檢查過是好的。 讀寄存器的程序是沒有問題的,能夠讀出來數據,但是往寄存器里寫數據卻寫不進不知道是為什么。 我用串口把每一步的I2c狀態都讀出來,和單片機手冊上的要求是一樣的,而且寫程序的時候也是按照Gsensor要求的時序寫 ...… 查看全部問答∨ |
聘請兼職電路板、ic設計工程師和無線電遙感工程師及玩具模具設計師 電路板、ic設計工程師要求:1、電子電路相關專業大專以上;2、從事電路板、ic等電子器件的設計、開發或制作3年以上工作經驗;3、非常熟悉光電轉換放大電路、頻率計算器件,單片機系統、嵌入式系統;4、本工作性質:主要負責設計開發一定功能的電路 ...… 查看全部問答∨ |
我最近開始學習DSP2812,手上有合重達的2812開發板,在測試串口例程時,按照用戶指南上的步驟做,但PC機不能接收到數據,我就自己弄了個用DSP發送數據的程序,就想看下PC能接收到數據不? 現在的問題是用在PC上用串口提示助手能夠接收到數據,但是 ...… 查看全部問答∨ |