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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2057|回復: 4
打印 上一主題 下一主題
收起左側

這個時間數據轉成BCD碼的函數我沒搞懂

[復制鏈接]
跳轉到指定樓層
樓主
ID:925373 發表于 2021-6-1 14:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
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跑的時候總顯示錯誤

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:827243 發表于 2021-6-1 17:12 | 只看該作者
time=R1302(address+1)/16*10+R1302(address+1)%16;  應該是BCD碼變成16進制。
回復

使用道具 舉報

板凳
ID:861234 發表于 2021-6-1 17:13 | 只看該作者
試下先讀到一個變量,之后再處理
回復

使用道具 舉報

地板
ID:844772 發表于 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;
回復

使用道具 舉報

5#
ID:931059 發表于 2021-6-1 23:01 | 只看該作者
看了看,這個函數是BCD碼轉十進制
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表