Changes for page API контроллеров AZ®
Last modified by Max on 2025/03/02 15:18
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -709,17 +709,19 @@ 709 709 710 710 711 711 712 -= BlockofcommandsforworkingwithRTCandNTP =712 += Блок команд для работы с RTC и NTP = 713 713 714 - TheAZ®controllerhas2sourcesofdate-time,thefirstis theRTCbuiltintotheSTM32,thesecondistheclockin theTCP/IPstack.TheRTCclockworksautonomouslywitha2032battery installed.TheclockintheTCP/IPstackissetbasedondata from theNTPserver.714 +В контроллере AZ® есть 2 источника получения даты-времени, первый это RTC встроенный в STM32, второй это часы в стеке TCP/IP. Часы RTC работают автономно при наличии установленной батарейки 2032. Часы в стеке TCP/IP устанавливаются на основании данных с NTP-сервера. 715 715 716 716 717 -== Bufferformattimestamp (readable) ==717 +== Формат буфера timestamp (доступен по чтению) == 718 718 719 - The controllerAPIimmediatelypreparestimeinseveralformats,sothatitcanbeconvenientlyusedon thePDP-11side719 +API контроллера сразу готовит время в нескольких форматах, дабы его было удобно применить на стороне PDP-11 720 720 721 721 {{info}} 722 -datetime buffer format octal offset - those words datetime buffer format 722 +формат буфера даты-времени 723 +offset в восьмеричной системе - те слова 724 +формат буфера даты-времени 723 723 \\[0]=rtc_rt11date(); 724 724 [2]=rt11 time 50Hz big word; 725 725 [4]=rt11 time 50Hz little word; ... ... @@ -737,47 +737,47 @@ 737 737 {{/info}} 738 738 739 739 740 -== SimpleIN buffer format(whenwriting) ==742 +== Формат буфера SimpleIN (при записи) == 741 741 742 - theformatis simplified as much as possible,forworkwithPDP-11744 +формат максимально упрощен, для работы со стороны PDP-11 743 743 744 744 {{info}} 745 -offset inoctal-thosewords747 +offset в восьмеричной системе - те слова 746 746 747 -[0]=year, thelowertwodigitsare22andnot2022(!)748 -[2]=month; month749 -[4]=day; day750 -[6]=wday; dayof the week=0notset, 1Monday2 -Tuesdayetc.751 -[10]=hour; hour752 -[12]=min; minute753 -[14]=sec; second749 +[0]=year год, младшие две цифры - те 22 а не 2022(!) 750 +[2]=month; месяц 751 +[4]=day; день 752 +[6]=wday; день недели =0 не установлен, 1- понедельник 2 - вторник итд 753 +[10]=hour; час 754 +[12]=min; минута 755 +[14]=sec; секунда 754 754 {{/info}} 755 755 756 756 757 -== 031: GettimefromRTCtotimestampbuffer==759 +== **031: Получить время из RTC в буфер timestamp** == 758 758 759 - Commandcode031,thiscommandusesRTCclockasasourceof fillingthe timestampbuffer761 +Код команды 031, данная команда использует RTC часы как источник заполнения буфера timestamp 760 760 761 - Exampleprogram:763 +Пример программы: 762 762 763 763 {{code language="assembler"}} 764 -; trap 61 - readingclockdatafromautonomousRTCclock765 -; R3 - bufferaddresswheretoread766 -; resultinR3addressifsuccessful. R3=0iferror766 +; trap 61 - чтение данных часов из автономных часов RTC 767 +; R3 - адрес буфера куда надо считать 768 +; результат в R3 адрес, если успешно. R3=0 если ошибка 767 767 GetDateFromRTC: push R0 768 768 push R1 769 769 push R2 770 - call AZreset; reset772 + call AZreset; сбросим 771 771 tst R1 772 772 bne G60ERR 773 773 MOV #AZ$CSR,R1 774 774 mov #31,(R1) 775 - br G60; let'sgotherebecausefurthercode is the same777 + br G60; идем туда тк дальше код одинаковый 776 776 {{/code}} 777 777 778 -== 032: Gettimefromtimestampbuffer==780 +== **032: Получить время из буфера timestamp** == 779 779 780 - Commandcode032,thiscommandsendsthecontentsofthe timestampbuffer to the bus782 +Код команды 032, данная команда отдает на шину содержимое буфера timestamp 781 781 782 782 {{code language="assembler"}} 783 783 ; работа с часами