久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
AT24C1024全容量讀寫NXPLPC11XX源程序
[打印本頁]
作者:
jiang_e8e
時間:
2018-1-2 12:41
標題:
AT24C1024全容量讀寫NXPLPC11XX源程序
AT24C1024全容量讀寫程序,只要讀寫起始地址和讀寫長度,程序自動跨頁,絕對原創(chuàng)、絕對好用,含測試程序。
單片機源程序如下:
#include "nxplpc11xx.h"
#include "i2c.h"
#include "AT24C1024.h"
/************************************************************/
/* 函數(shù)功能:從AT24C1024中讀數(shù)據(jù) */
/* 入口參數(shù)StartAddr:起始地址,經測試跨頁時地址會自動加1。*/
/* *pData:讀入的數(shù)據(jù)放到這個數(shù)組中 */
/* nBytes:要寫的數(shù)據(jù)字節(jié)個數(shù) */
/************************************************************/
void AT24C1024_Read(uint32 StartAddr, uint16 nBytes, uint8 *pData)
{
uint8 StartAddr_L, StartAddr_H, P0;
StartAddr_L = StartAddr & 0x0000ff;
StartAddr_H = (StartAddr >> 8) & 0x0ff;
P0 = (StartAddr / 0x10000) << 1;
I2C_Send_Ctrl(AT24C1024_Addr | P0);
I2C_Send_Byte(StartAddr_H);
I2C_Send_Byte(StartAddr_L);
I2C_Stop();
I2C_Send_Ctrl((AT24C1024_Addr | P0) + 1);
while(nBytes != 1)
{
*pData++=I2C_Recieve_Byte(1); // 應答位為ACK,不釋放總線,繼續(xù)讀
nBytes--;
}
*pData++=I2C_Recieve_Byte(0); // 應答位為NACK,停止讀,釋放總線
I2C_Stop(); // 產生一個停止條件
delay_us(10); // 這個延時是任意地址讀兩段數(shù)據(jù)時最小時間間隔,保證停止位后正常產生下一個開始位。
}
/*******************************************************************/
/* 函數(shù)功能:給AT24C1024寫數(shù)據(jù) */
/* 入口參數(shù)StartAddr:起始地址,跨頁寫時,需要重新寫入地址數(shù)據(jù)。 */
/* *pData:把這個數(shù)組中的數(shù)據(jù)寫入 */
/* nBytes:要寫的數(shù)據(jù)字節(jié)個數(shù) */
/*******************************************************************/
void AT24C1024_Write(uint32 StartAddr, uint16 nBytes, uint8 *pData)
{
uint8 StartAddr_L, StartAddr_H, P0;
while(nBytes != 0) // 所有數(shù)據(jù)發(fā)送完畢,退出循環(huán)
{
StartAddr_L = StartAddr & 0x0000ff; // 計算低位地址
StartAddr_H = (StartAddr >> 8) & 0x0ff; // 計算高位地址
P0 = (StartAddr / 0x10000) << 1; // 計算第17位,即P0
I2C_Send_Ctrl(AT24C1024_Addr | P0); // 帶P0發(fā)送器件地址
I2C_Send_Byte(StartAddr_H); // 發(fā)送高位地址
I2C_Send_Byte(StartAddr_L); // 發(fā)送低位地址
while(nBytes != 0) // 數(shù)據(jù)未發(fā)送完,循環(huán)
{
I2C_Send_Byte(*pData);
pData++;
nBytes--;
StartAddr++;
if((StartAddr & 0x00ff) == 0) // 跨頁,終止當前頁循環(huán),重新寫入新地址
break;
}
I2C_Stop(); // 產生一個停止條件
delay_ms(3); // 這個延時為兩次讀寫最小間隔時間,不要刪除,連續(xù)大量寫數(shù)據(jù)時有用。
}
}
復制代碼
/************************************************/
/* AT24C1024全容量讀寫程序 */
/* CPU型號:LPC1114FBD/302 */
/************************************************/
#include "nxplpc11xx.h"
#include "i2c.h"
#include "AT24C1024.h"
int main()
{
union Initial_Value{uint8 Val_Hex[400];float Val_Float[100];}Init; //定義一個浮點數(shù)組,用于寫入和讀出,一個浮點數(shù)用4個字節(jié)
uint16 i;
float j;
SysCLK_config(); // 時鐘配置
I2C_Init(0); // 初始化I2C 快速模式
delay_ms(10);
for(i=0; i<100; i++) // 初始化浮點數(shù)組分別為0——99。
{
j = i;
Init.Val_Float[i] = j;
}
AT24C1024_Write(0xff80, 400, Init.Val_Hex); // 寫入
delay_ms (3);
AT24C1024_Read(0xff80, 400, Init.Val_Hex);
while(1)
{};
}
復制代碼
所有資料51hei提供下載:
AT24C1024.zip
(112.69 KB, 下載次數(shù): 105)
2018-1-2 12:40 上傳
點擊文件名下載附件
AT24C1024全容量讀寫程序
下載積分: 黑幣 -5
作者:
arther
時間:
2019-6-21 20:30
謝謝
作者:
小m
時間:
2019-10-8 22:49
謝謝分享辛苦了
作者:
jisanguncle
時間:
2020-4-5 11:36
謝謝分享,辛苦了
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久久久久久综合
|
黄网站在线观看
|
久久久久www
|
亚洲天堂免费在线
|
九九av
|
91精品久久久久
|
波多野结衣先锋影音
|
男女羞羞免费视频
|
北条麻妃99精品青青久久
|
国产精品视频免费看
|
日韩中文字幕在线
|
久久精品国产99国产
|
亚洲精品一区二区三区蜜桃久
|
综合国产
|
久久国产精品免费一区二区三区
|
99热电影
|
国产精品视频免费看
|
亚洲国产一区二区三区四区
|
成人精品免费视频
|
狠狠躁夜夜躁人人爽天天高潮
|
麻豆亚洲
|
www.蜜桃av
|
欧美综合视频
|
麻豆视频在线免费观看
|
久在线观看
|
中文字幕视频在线观看免费
|
欧美在线综合
|
久久精品欧美一区二区三区不卡
|
精品国产一区二区在线
|
99久久精品免费
|
亚洲国产成人精品久久久国产成人一区
|
欧美精品第三页
|
日韩久久在线
|
免费欧美视频
|
在线激情视频
|
美女爽到呻吟久久久久
|
三级黄片毛片
|
成人午夜激情
|
91日日
|
久久精品久久久久久
|
国产人成精品一区二区三
|