欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 這個時間數據轉成BCD碼的函數我沒搞懂 [打印本頁]

作者: bubaijun    時間: 2021-6-1 14:10
標題: 這個時間數據轉成BCD碼的函數我沒搞懂
void Set(uchar sel,uchar sel_1)
{
  uchar address,time;
  uchar max,min;
if(sel==1)  {address=0x84; max=23;min=0;}    //小時
if(sel==2)  {address=0x82; max=59;min=0;}    //分鐘
if(sel==3)  {address=0x88; max=12;min=1;}    //月
if(sel==4)  {address=0x86; max=31;min=1;}    //日
if(sel==5)  {address=0x8a; max=7;min=1;}    //星期

  time=R1302(address+1)/16*10+R1302(address+1)%16;           //變成BCD碼
  if (sel_1==1) time++;  else time--;
  if(time>max) time=min;   
  if(time<min) time=max;

  W1302(0x8e,0x00);
  W1302(address,time/10*16+time%10);                 
  W1302(0x8e,0x80);  
}


就是變成BCD碼那一行的R1302,我用keil4跑的時候總顯示錯誤


作者: daemondong    時間: 2021-6-1 17:12
time=R1302(address+1)/16*10+R1302(address+1)%16;  應該是BCD碼變成16進制。
作者: 小牢頭    時間: 2021-6-1 17:13
試下先讀到一個變量,之后再處理
作者: glinfei    時間: 2021-6-1 20:01
  time=R1302(address+1)/16*10+R1302(address+1)%16;   應該是BCD碼轉十進制。
不知道R302返回的是什么類型的數?應該也是uchar的吧?如果是稍微改一下,執行會快點:
address=R1302(address+1);
time=address>>4*10+address&0x0F;
作者: she_chen    時間: 2021-6-1 23:01
看了看,這個函數是BCD碼轉十進制




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1