找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1132|回復(fù): 4
收起左側(cè)

請(qǐng)教各位大神,進(jìn)制轉(zhuǎn)換問題

[復(fù)制鏈接]
ID:761175 發(fā)表于 2023-12-4 16:23 | 顯示全部樓層 |閱讀模式
各位高手請(qǐng)教下,我要用單片機(jī)RS485給主機(jī)模擬發(fā)送報(bào)文,其中時(shí)間信息,主機(jī)協(xié)議格式是原報(bào)文   39 C0 01 FB D7 64 54 01 00 00 01 14 00 00 00 E6 0E 40 DC 05 2B C7
報(bào)文協(xié)議  FB D7 64 54 年、月、日、時(shí)、分、秒-b5~b0:秒(111011),b11~b6:分(011111),b16~b12:時(shí)(01101),b21~b17:日(10010),b25~b22:月(0001),b26~b31:年(10101)(低在前)
低位在前計(jì)算 54 64 D7 FB        01010100011001001101011111111011
54 64 D7 FB                            010101     0001    10010     01101       011111      111011
計(jì)算顯示時(shí)間                                 21           1           18           13              31                59我現(xiàn)在想把單片機(jī)的RTC時(shí)間信息按此格式發(fā)給主機(jī),需要怎么操作,請(qǐng)給位老師給個(gè)建議或思路。謝謝





回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2023-12-4 17:30 | 顯示全部樓層
這里面沒有進(jìn)制轉(zhuǎn)換,只有移位操作。
回復(fù)

使用道具 舉報(bào)

ID:745085 發(fā)表于 2023-12-4 17:36 | 顯示全部樓層
  1. uint32_t FormatTimeData(uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) {
  2.     uint32_t data = 0;
  3.     data |= ((year % 100) & 0x3F) << 26;  // 年,使用6位,左移26位
  4.     data |= (month & 0x0F) << 22;          // 月,使用4位,左移22位
  5.     data |= (day & 0x1F) << 17;            // 日,使用5位,左移17位
  6.     data |= (hour & 0x1F) << 12;           // 時(shí),使用5位,左移12位
  7.     data |= (minute & 0x3F) << 6;          // 分,使用6位,左移6位
  8.     data |= (second & 0x3F);               // 秒,使用6位

  9.     return data;
  10. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:761175 發(fā)表于 2023-12-4 20:31 來自觸屏版 | 顯示全部樓層
gracture 發(fā)表于 2023-12-4 17:36

強(qiáng)!明天我在研究,不懂還有麻煩你
回復(fù)

使用道具 舉報(bào)

ID:761175 發(fā)表于 2023-12-4 20:32 來自觸屏版 | 顯示全部樓層
Hephaestus 發(fā)表于 2023-12-4 17:30
這里面沒有進(jìn)制轉(zhuǎn)換,只有移位操作。

謝謝!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表