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
-
... ... @@ -529,26 +529,27 @@ 529 529 {{/code}} 530 530 531 531 532 -== 020: Getextendeddiagnosticcode==532 +== **020: Получить расширенный код диагностики** == 533 533 534 - Commandcode020,afterresettingthecontroller,youshouldissuethiscommand in theCSRandthenreadtwowordsofextendeddiagnosticsfromDR.Thecommand is instant,nowaitingis required.534 +Код команды 020, после сброса контроллера следует выдать эту команду в CSR и затем прочитать два слова расширенной диагностики из DR. Команда мгновенная, ожидание не требуется. 535 535 536 536 537 -== 027: GetfirmwareversionAZ STM32 ==537 +== **027: Получить версию firmware AZ STM32** == 538 538 539 -Command code 027, returns 2 words 540 -\\first word - 06404 = high byte 13. this is the firmware version, low byte 4. this is the hardware version - i.e. AZБК in this case second word - 037 = this is the maximum mountable disk - 31. 539 +Код команды 027, возвращает 2 слова 540 +\\первое слово - 06404 = старший байт 13. это версия прошивки, младший байт 4. это версия железа - те AZБК в данном случае 541 +второе слово - 037 = это максимальный монтируемый диск - 31. 541 541 542 542 543 543 {{code language="assembler"}} 544 544 ;------------------------------------------------------------- 545 -; gettingSTM32firmware version-resultinR1 R1=0error546 +; получение версии прошивки STM32 - результат в R1 R1=0 ошибка 546 546 GTSTMV: MOV #AZ$CSR,R1 547 -1$: CLR (R1) ; Send"Reset"command548 - TSTB (R1) ; Checkcontrollerreadinessконтроллера549 - BPL 1$ ; Ifnot ready,resetagain548 +1$: CLR (R1) ; Пошлем команду "Сброс" 549 + TSTB (R1) ; Проверим готовность контроллера 550 + BPL 1$ ; Если не готов, сбрасываем еще 550 550 mov #27,(R1) 551 - TST (R1)+ ; Checkforerror552 + TST (R1)+ ; Проверяем на ошибку 552 552 BMI 2$ 553 553 mov (R1),R1 554 554 return ... ... @@ -558,10 +558,10 @@ 558 558 {{/code}} 559 559 560 560 561 -== 030: Nooperation==562 +== **030: Нет операции** == 562 562 563 - Themainpurposeofthiscommandistosettheinterrupt enable bit from the controller.Thecommandtransferstheinterrupt enable bit,whichisinthesamewordwith it,butisnotpartofit(remember,thecommandislocatedin bitsD0 - D5,andtheinterruptenablebitisD6),tothecorrespondingtriggerofthecontrolleranddoesnotaffecttheprocesses in the controller in any other way.Controlofthistriggerworkseveninthe"Thinking,pleasedonot interfere"state,andthisisthemainfeature of the"nooperation"command.564 -\\ Thecommandhasthe code0030.Sendingthecode0130totheCSRwill enable interrupts from the controller,sendingthecode0030willdisable them.Anexampleisnotgivendue to its triviality.564 +Основное назначение этой команды - устанавливать бит разрешения прерываний от контроллера. Команда передает бит разрешения прерывания, который находится с ней в одном слове, но не входит в ее состав (напоминаем, команда располагается в битах D0 - D5, а бит разрешения прерываний - D6), в соответствующий триггер контроллера и больше никак не влияет на процессы в контроллере. Управление этим триггером работает даже в состоянии "Думаю, прошу не мешать", и это главная особенность команды "нет операции". 565 +\\Команда имеет код 0030. Посылка в CSR кода 0130 разрешит прерывания от контроллера, посылка кода 0030 запретит их. Пример не приводится вследствие тривиальности его. 565 565 566 566 567 567 = **Блок команд работы с энергонезависимой памятью** =