欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
單片機(jī)ds1302時(shí)鐘的RAM讀寫程序理解,求各位大神相助
[打印本頁]
作者:
123456789hyy
時(shí)間:
2021-4-15 17:02
標(biāo)題:
單片機(jī)ds1302時(shí)鐘的RAM讀寫程序理解,求各位大神相助
問題一:i = read_ds1302ram(30);//怎么理解???
問題二:if(i != 3)表示的是什么意思,為什么要做這樣的判斷?
uchar code write_add[]={0x80,0x82,0x84,0x86,0x88,0x8c,0x8a}; //寫地址
uchar code read_add[] ={0x81,0x83,0x85,0x87,0x89,0x8d,0x8b}; //讀地址
uchar code init_ds[] ={0x58,0x29,0x07,0x05,0x10,0x14,0x1};
/*************把數(shù)據(jù)從ds1302 RAM讀出來**0-31*************/
uchar read_ds1302ram(uchar add)
{
add <<= 1; //地址是從第二位開始的
add |= 0x01; //把最高位置1 是讀命令
add |= 0xc0; //地址最高兩位為 1
return(read_ds1302(add));
}
/*************初始化ds1302時(shí)間***************/
void init_ds1302()
{
uchar i;
rst = 0; //第一次讀寫數(shù)據(jù)時(shí)要把IO口拉低
clk = 0;
io = 0;
i = read_ds1302ram(30);
if(i != 3)
{
i = 3;
write_ds1302ram(30,i); //4050 4100 3080
write_ds1302(0x8e,0x00); //打開寫保護(hù)
for(i=0;i<7;i++)
write_ds1302(write_add[i],init_ds[i]); //把最高位值0 允許ds1302工作
write_ds1302(0x8e,0x80); //關(guān)寫保護(hù)
}
復(fù)制代碼
作者:
人人學(xué)會(huì)單片機(jī)
時(shí)間:
2021-4-15 17:52
那么一點(diǎn)點(diǎn)容量 沒必要浪費(fèi)單片機(jī)的代碼
作者:
MV-BP1X
時(shí)間:
2021-4-17 10:41
時(shí)鐘芯片資料里面并沒有介紹該地址的作用,我用的時(shí)候并沒有涉及到這個(gè)地址,不影響使用。
作者:
ytech_cn
時(shí)間:
2021-4-18 21:24
你仔細(xì)看讀函數(shù),最后轉(zhuǎn)換成ram地址oxfc,讀的這個(gè)地址的數(shù)據(jù)并進(jìn)行判斷的
作者:
ttmax3
時(shí)間:
2021-4-19 15:10
就字面上來解答,具體你得根據(jù)數(shù)據(jù)手冊(cè)來查看
問題一:i = read_ds1302ram(30);//怎么理解???
i= read_ds1302ram(30) 里面的內(nèi)容
問題二:if(i != 3)表示的是什么意思,為什么要做這樣的判斷?
如果read_ds1302ram(30) 里面的內(nèi)容不等于3
這里應(yīng)該是讀取ds1302第30號(hào)ram寄存器數(shù)據(jù),一般來說這個(gè)位上面是秒。具體還是得查數(shù)據(jù)手冊(cè)。
作者:
birdzhyli
時(shí)間:
2021-5-2 23:47
02.uchar read_ds1302ram(uchar add)
03.{
04. add <<= 1; //地址是從第二位開始的
05. add |= 0x01; //把最高位置1 是讀命令
06. add |= 0xc0; //地址最高兩位為 1
07. return(read_ds1302(add));
08.}
這個(gè)嵌套函數(shù)能執(zhí)行完嗎?求教
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1