@GNU AS
@.CHARSET =CP1251 ( Cyrillic )
@.DESC     type=module
@ +------------------------------------------------------------------+
@ |                      Определения PORTx                           |
@ +------------------------------------------------------------------+
@.ENDDESC

.INCLUDE  "/src/inc/base.inc"

@ определения  PORTx для микроконтроллера K1986BE92FI

@          Регистры блока
@ ------------------------------
@.ITEM      RST_CLK_BASE
.EQU  RST_CLK_CLOCK_STATUS , 0x00   @ CLOCK_STATUS Регистр состояния блока управления тактовой частотой
.EQU  RST_CLK_PLL_CONTROL  , 0x04   @ PLL_CONTROL  Регистр управления блоками умножения частоты
.EQU  RST_CLK_HS_CONTROL   , 0x08   @ HS_CONTROL Регистр  управления  высокочастотным  генератором  и осциллятором
.EQU  RST_CLK_CPU_CLOCK    , 0x0C   @ CPU_CLOCK Регистр  управления  тактовой  частотой  процессорного ядра
.EQU  RST_CLK_USB_CLOCK    , 0x10   @ USB_CLOCK Регистр управления тактовой частотой контроллера USB
.EQU  RST_CLK_ADC_MCO_CLOCK, 0x14   @ ADC_MCO_CLOCK Регистр управления тактовой частотой АЦП
.EQU  RST_CLK_RTC_CLOCK    , 0x18   @ RTC_CLOCK Регистр  управления  формированием  высокочастотных тактовых сигналов блока RTC
.EQU  RST_CLK_PER_CLOCK    , 0x1C   @ PER_CLOCK Регистр  управления  тактовой  частотой  периферийных блоков
.EQU  RST_CLK_CAN_CLOCK    , 0x20   @ CAN_CLOCK Регистр управления тактовой частотой CAN
.EQU  RST_CLK_TIM_CLOCK    , 0x24   @ TIM_CLOCK Регистр управления тактовой частотой TIMER
.EQU  RST_CLK_UART_CLOCK   , 0x28   @ UART_CLOCK Регистр управления тактовой частотой UART
.EQU  RST_CLK_SSP_CLOCK    , 0x2C   @ SSP_CLOCK Регистр управления тактовой частотой SSP
@.END

@          Описания Регистров блока
@ -----------------------------------------


@.ITEM      RST_CLK_CLOCK_STATUS
.EQU  RST_CLK_CLOCK_STATUS_HSERDY , 4   @ HSERDY: Флаг выхода в рабочий режим осциллятора HSE:
                                        @ 0 – осциллятор не запущен или не стабилен;
                                        @ 1 – осциллятор запущен и стабилен
.EQU  RST_CLK_CLOCK_STATUS_PLLCPURDY, 2 @ PLLCPURDY: Флаг выхода в рабочий режим CPU PLL:
                                        @ 0 – PLL не запущена или не стабильна;
                                        @ 1 – PLL запущена и стабильна
.EQU  RST_CLK_CLOCK_STATUS_PLLUSBRDY, 1 @ PLLUSBRDY: Флаг выхода в рабочий режим USB PLL:
                                        @ 0 – PLL не запущена или не стабильна;
                                        @ 1 – PLL запущена и стабильна
@.END


@.ITEM    RST_CLK_PLL_CONTROL
.EQU  RST_CLK_PLL_CONTROL_PLLCPUMUL_N, 8 @ PLLCPUMUL_N: Номер младшего бита поля PLLCPUMUL:
                                         @ Коэффициент умножения для CPU PLL:
                                         @ PLLCPUo = PLLCPUi x (PLLCPUMUL+1).
                                         @ П р и м е ч а н и е   –  Значения  1  и  2  для  данного  поля не допустимы
.EQU  RST_CLK_PLL_CONTROL_PLLCPUMUL_L, 3 @ PLLCPUMUL_L: размер поля PLLCPUMUL:
.EQU  RST_CLK_PLL_CONTROL_PLLUSBMUL_N, 4 @ PLLUSBMUL_N: Номер младшего бита поля PLLUSBMUL:
                                         @ Коэффициент умножения для USB PLL:
                                         @ PLLUSBo = PLLUSBi x (PLLUSBMUL+1).
                                         @ П р и м е ч а н и е   –  Значения  1  и  2  для  данного  поля не допустимы
.EQU  RST_CLK_PLL_CONTROL_PLLUSBMUL_L, 3 @ PLLUSBMUL_L: Размер поля PLLUSBMUL:
.EQU  RST_CLK_PLL_CONTROL_PLLCPURLD  , 8 @ PLLCPURLD: Бит перезапуска PLL.
                                         @ При  смене  коэффициента  умножения  в  рабочем  режиме
                                         @ необходимо задать равным 1, а после этого сбросить в ноль
.EQU  RST_CLK_PLL_CONTROL_PLLCPUON   , 4 @ PLLCPUON: Бит включения PLL:
                                         @ 0 – PLL выключена;
                                         @ 1 – PLL включена
.EQU  RST_CLK_PLL_CONTROL_PLLUSBRLD  , 2 @ PLLUSBRLD: Бит перезапуска PLL.
                                         @ При  смене  коэффициента  умножения  в  рабочем  режиме
                                         @ необходимо задать равным 1, а после этого сбросить в ноль
.EQU  RST_CLK_PLL_CONTROL_PLLUSBON   , 1 @ PLLUSBON: Бит включения PLL:
                                         @ 0 – PLL выключена;
                                         @ 1 – PLL включена
@.END


@.ITEM     RST_CLK_HS_CONTROL
.EQU  RST_CLK_HS_CONTROL_HSEBYP      , 2 @ HSEBYP: Бит управления HSE осциллятором:
                                         @ 0 – режим осциллятора;
                                         @ 1 – режим  внешнего  генератора.  Устанавливать  совместно
                                         @ с HSE_ON = 1
.EQU  RST_CLK_HS_CONTROL_HSEON       , 1 @ HSEON: Бит управления HSE осциллятором:
                                         @ 0 – выключен;
                                         @ 1 – включен
@.END


@.ITEM     RST_CLK_CPU_CLOCK
.EQU  RST_CLK_CPU_CLOCK_HCLK_N       , 8  @ HCLK_N: номер младшего бита поля HCLK
.EQU  RST_CLK_CPU_CLOCK_HCLK_M       , 0b11<<8  @ HCLK_M: маска поля настройки
                                            @ Биты выбора источника для HCLK:
.EQU  RST_CLK_CPU_CLOCK_HCLK_HSI     , 0    @ 00 – HSI
.EQU  RST_CLK_CPU_CLOCK_HCLK_CPU_C3  , 1<<8 @ 01 – CPU_C3
.EQU  RST_CLK_CPU_CLOCK_HCLK_LSE     , 2<<8 @ 10 – LSE
.EQU  RST_CLK_CPU_CLOCK_HCLK_LSI     , 3    @ 11 – LSI
.EQU  RST_CLK_CPU_CLOCK_CPU_C3_N     , 4    @ CPU_C3_N: номер младшего бита поля CPU_C3
.EQU  RST_CLK_CPU_CLOCK_CPU_C3_L     , 4     @ CPU_C3_L
                                             @ Биты выбора делителя для CPU_C3:
.EQU  RST_CLK_CPU_CLOCK_CPU_C3_C2    , 0     @ 0xxx – CPU_C3 = CPU_C2
.EQU  RST_CLK_CPU_CLOCK_CPU_C3_C2D2  , 8<<4  @ 1000 – CPU_C3 = CPU_C2 / 2
.EQU  RST_CLK_CPU_CLOCK_CPU_C3_C2D4  , 9<<4  @ 1001 – CPU_C3 = CPU_C2 / 4
.EQU  RST_CLK_CPU_CLOCK_CPU_C3_C2D8  , 10<<4 @ 1010 – CPU_C3 = CPU_C2 / 8
.EQU  RST_CLK_CPU_CLOCK_CPU_C3_C2D16 , 11<<4 @ 1011 – CPU_C3 = CPU_C2 / 16
.EQU  RST_CLK_CPU_CLOCK_CPU_C3_C2D32 , 12<<4 @ 1100 – CPU_C3 = CPU_C2 / 32
.EQU  RST_CLK_CPU_CLOCK_CPU_C3_C2D64 , 13<<4 @ 1101 – CPU_C3 = CPU_C2 / 64
.EQU  RST_CLK_CPU_CLOCK_CPU_C3_C2D128, 14<<4 @ 1110 – CPU_C3 = CPU_C2 / 128
.EQU  RST_CLK_CPU_CLOCK_CPU_C3_C2D256, 15<<4 @ 1111 – CPU_C3 = CPU_C2 / 256
.EQU  RST_CLK_CPU_CLOCK_CPU_C2_N     , 2     @ CPU_C2_N: номер младшего бита поля CPU_C2
                                             @ Биты выбора источника для CPU_C2:
.EQU  RST_CLK_CPU_CLOCK_CPU_C2_C1    , 0     @ 0 – CPU_C1
.EQU  RST_CLK_CPU_CLOCK_CPU_C2_PLLCPU  , 2   @ 1 – PLLCPUo
.EQU  RST_CLK_CPU_CLOCK_CPU_C1_N     , 0     @ CPU_C0_N: номер младшего бита поля CPU_C0
                                             @ Биты выбора источника для CPU_C0:
.EQU  RST_CLK_CPU_CLOCK_CPU_C1_HSI   , 0     @ 00 – HSI
.EQU  RST_CLK_CPU_CLOCK_CPU_C1_HSID2 , 1     @ 01 – HSI/2
.EQU  RST_CLK_CPU_CLOCK_CPU_C1_HSE   , 2     @ 10 – HSE
.EQU  RST_CLK_CPU_CLOCK_CPU_C1_HSED2 , 3     @ 11 – HSE/2
@.END


@.ITEM     RST_CLK_USB_CLOCK
.EQU  RST_CLK_USB_CLOCK_USBCLKEN    , 1<<8   @ Бит разрешения тактирования USB:
                                             @ 0 – нет тактовой частоты;
                                             @ 1 – есть тактовая частота
.EQU  RST_CLK_USB_CLOCK_USBC3SEL    , 1<<4   @ Биты выбора делителя для USB_C3:
                                             @ 0 – USB_C3 = USB _C2
                                             @ 1 – USB _C3 = USB _C2 / 2
.EQU  RST_CLK_USB_CLOCK_USBC2SEL    , 1<<2   @ Биты выбора источника для USB_C2:
                                             @ 0 – USB_C1
                                             @ 1 – PLLUSBo
.EQU  RST_CLK_USB_CLOCK_USBC1SEL_N  , 0      @ USBC1SEL_N: номер младшего бита поля USBC1SEL
                                             @ Биты выбора источника для USB_C1:
.EQU  RST_CLK_USB_CLOCK_USBC1SEL_HSI  , 0    @ 00 – HSI
.EQU  RST_CLK_USB_CLOCK_USBC1SEL_HSID2, 1    @ 01 – HSI/2
.EQU  RST_CLK_USB_CLOCK_USBC1SEL_HSE  , 2    @ 10 – HSE
.EQU  RST_CLK_USB_CLOCK_USBC1SEL_HSED2, 3    @  11 – HSE/2
@.END


@.ITEM     RST_CLK_ADC_MCO_CLOCK
.EQU  RST_CLK_ADC_MCO_CLOCK_ADCCLKEN, 1<<13  @ Бит разрешения выдачи тактовой частоты ADC CLK:
                                             @ 0 – запрещен;
                                             @ 1 – разрешен
                                              @ Биты выбора делителя для ADC_C3:
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C3_N , 8      @ ADC_C3_N: номер младшего бита поля ADC_C3_SEL
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C3_L , 4      @ ADC_C3_L: размер поля ADC_C3_EN
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C3_C2, 0<<8     @ 0xxx – ADC_C3 = ADC _C2
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C3_C2D2, 8<<8   @ 1000 – ADC_C3 = ADC _C2 / 2
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C3_C2D4, 9<<8   @ 1001 – ADC_C3 = ADC _C2 / 4
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C3_C2D8, 10<<8  @ 1010 – ADC_C3 = ADC _C2 / 8
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C3_C2D16, 11<<8 @ 1011 – ADC_C3 = ADC _C2 / 16
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C3_C2D32, 12<<8 @ 1100 – ADC_C3 = ADC _C2 / 32
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C3_C2D64, 13<<8 @ 1101 – ADC_C3 = ADC _C2 / 64
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C3_C2D128, 14<<8 @ 1110 – ADC_C3 = ADC _C2 / 128
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C3_C2D256, 15<<8 @ 1111 – ADC_C3 = ADC _C2 / 256
                                              @ Биты выбора источника для ADC_C2
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C2_N , 4         @ ADC_C2_N: номер младшего бита поля ADC_C2_SEL
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C2_L , 2         @ ADC_C2_L: размер поля ADC_C2_EN
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C2_LSE, 0<<4     @ 00 – LSE
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C2_LSI, 1<<4     @ 01 – LSI
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C2_ADC_C1, 2<<4  @ 10 – ADC_C1
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C2_HSI_C1, 3<<4  @ 11 – HSI C1
                                              @ Биты выбора источника для ADC_C1
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C1_N , 0         @ ADC_C1_N: номер младшего бита поля ADC_C1_SEL
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C1_L , 2         @ ADC_C1_L: размер поля ADC_C1_EN
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C1_CPU_C1, 0     @ 00 – CPU_C1
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C1_USB_C1, 1     @ 01 – USB_C1
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C1_CPU_C2, 2     @ 10 – CPU_C2
.EQU  RST_CLK_ADC_MCO_CLOCK_ADC_C1_USB_C2, 3     @ 11 – USB_C2
@.END


@.ITEM     RST_CLK_RTC_CLOCK
.EQU  RST_CLK_RTC_CLOCK_HSIRTCEN    , 1<<9   @ Бит разрешения выдачи тактовой частоты HSI_RTC:
                                             @ 0 – запрещен;
                                             @ 1 – разрешен
.EQU  RST_CLK_RTC_CLOCK_HSERTCEN    , 1<<8   @ Бит разрешения выдачи тактовой частоты HSE_RTC:
                                             @ 0 – запрещен;
                                             @ 1 – разрешен
.EQU  RST_CLK_RTC_CLOCK_HSI_C1_N    , 4      @ HSI_C1_N: номер младшего бита поля HSI_C1_N
.EQU  RST_CLK_RTC_CLOCK_HSI_C1_L    , 4      @ HSI_C1_L: размер  поля HSI_C1
                                             @ Биты выбора делителя для HSI_C1:
.EQU  RST_CLK_RTC_CLOCK_HSI_C1_HSI  , 0<<4   @ 0xxx – HSI_C1 = HSI
.EQU  RST_CLK_RTC_CLOCK_HSI_C1_HSID2, 8<<4   @ 1000 - HSI_C1 = HSI / 2
.EQU  RST_CLK_RTC_CLOCK_HSI_C1_HSID4, 9<<4   @ 1001 - HSI_C1 = HSI / 4
.EQU  RST_CLK_RTC_CLOCK_HSI_C1_HSID8, 10<<4  @ 1010 - HSI_C1 = HSI / 8
.EQU  RST_CLK_RTC_CLOCK_HSI_C1_HSID16, 11<<4  @ 1011 - HSI_C1 = HSI / 16
.EQU  RST_CLK_RTC_CLOCK_HSI_C1_HSID32, 12<<4  @ 1100 - HSI_C1 = HSI / 32
.EQU  RST_CLK_RTC_CLOCK_HSI_C1_HSID64, 13<<4  @ 1101 - HSI_C1 = HSI / 64
.EQU  RST_CLK_RTC_CLOCK_HSI_C1_HSID128, 14<<4 @ 1110 - HSI_C1 = HSI / 128
.EQU  RST_CLK_RTC_CLOCK_HSI_C1_HSID256, 15<<4 @ 1110 - HSI_C1 = HSI / 256
.EQU  RST_CLK_RTC_CLOCK_HSE_C1_N    , 0      @ HSE_C1_N: номер младшего бита поля HSE_C1_N
.EQU  RST_CLK_RTC_CLOCK_HSE_C1_L    , 4      @ HSE_C1_L: размер  поля HSE_C1
                                             @ Биты выбора делителя для HSE_C1:
.EQU  RST_CLK_RTC_CLOCK_HSE_C1_HSE  , 0<<0   @ 0xxx – HSE_C1 = HSE
.EQU  RST_CLK_RTC_CLOCK_HSE_C1_HSED2, 8<<0   @ 1000 - HSE_C1 = HSE / 2
.EQU  RST_CLK_RTC_CLOCK_HSE_C1_HSED4, 9<<0   @ 1001 - HSE_C1 = HSE / 4
.EQU  RST_CLK_RTC_CLOCK_HSE_C1_HSED8, 10<<0  @ 1010 - HSE_C1 = HSE / 8
.EQU  RST_CLK_RTC_CLOCK_HSE_C1_HSED16, 11<<0  @ 1011 - HSE_C1 = HSE / 16
.EQU  RST_CLK_RTC_CLOCK_HSE_C1_HSED32, 12<<0  @ 1100 - HSE_C1 = HSE / 32
.EQU  RST_CLK_RTC_CLOCK_HSE_C1_HSED64, 13<<0  @ 1101 - HSE_C1 = HSE / 64
.EQU  RST_CLK_RTC_CLOCK_HSE_C1_HSED128, 14<<0 @ 1110 - HSE_C1 = HSE / 128
.EQU  RST_CLK_RTC_CLOCK_HSE_C1_HSED256, 15<<0 @ 1110 - HSE_C1 = HSE / 256
@.END


@.ITEM     RST_CLK_PER_CLOCK
                                        @ Биты разрешения тактирования периферийных блоков:
                                        @ 0 – запрещено;
                                        @ 1 – разрешено.
.EQU  RST_CLK_PER_CLOCK_DMA      , 1<<5    @ DMA
.EQU  RST_CLK_PER_CLOCK_DMA_N    , 5
.EQU  RST_CLK_PER_CLOCK_UART1    , 1<<6    @ UART1
.EQU  RST_CLK_PER_CLOCK_UART1_N  , 6
.EQU  RST_CLK_PER_CLOCK_UART2    , 1<<7    @ UART2
.EQU  RST_CLK_PER_CLOCK_UART2_N  , 7
.EQU  RST_CLK_PER_CLOCK_SSP1     , 1<<8    @ SSP1
.EQU  RST_CLK_PER_CLOCK_SSP1_N   , 8
.EQU  RST_CLK_PER_CLOCK_I2C1     , 1<<10   @ I2C1
.EQU  RST_CLK_PER_CLOCK_I2C1_N   , 10
.EQU  RST_CLK_PER_CLOCK_POWER     , 1<<11  @ POWER
.EQU  RST_CLK_PER_CLOCK_POWER_N   , 11
.EQU  RST_CLK_PER_CLOCK_WWDG     , 1<<12   @ WWDG
.EQU  RST_CLK_PER_CLOCK_WWDG_N   , 12
.EQU  RST_CLK_PER_CLOCK_IWDG     , 1<<13   @ IWDG
.EQU  RST_CLK_PER_CLOCK_IWDG_N   , 13
.EQU  RST_CLK_PER_CLOCK_TIMER1   , 1<<14   @ TIMER1
.EQU  RST_CLK_PER_CLOCK_TIMER1_N , 14
.EQU  RST_CLK_PER_CLOCK_TIMER2   , 1<<15   @ TIMER2
.EQU  RST_CLK_PER_CLOCK_TIMER2_N , 15
.EQU  RST_CLK_PER_CLOCK_TIMER3   , 1<<15   @ TIMER3
.EQU  RST_CLK_PER_CLOCK_TIMER3_N , 15
.EQU  RST_CLK_PER_CLOCK_ADC      , 1<<17   @ ADC
.EQU  RST_CLK_PER_CLOCK_ADC_N    , 17
.EQU  RST_CLK_PER_CLOCK_DAC      , 1<<18   @ DAC
.EQU  RST_CLK_PER_CLOCK_DAC_N    , 18
.EQU  RST_CLK_PER_CLOCK_COMP      , 1<<19   @ COMP
.EQU  RST_CLK_PER_CLOCK_COMP_N    , 19
.EQU  RST_CLK_PER_CLOCK_COMP      , 1<<19   @ COMP
.EQU  RST_CLK_PER_CLOCK_COMP_N    , 19
.EQU  RST_CLK_PER_CLOCK_SSP2      , 1<<20    @ SSP2
.EQU  RST_CLK_PER_CLOCK_SSP2_N    , 20
.EQU  RST_CLK_PER_CLOCK_SSP2      , 1<<20    @ SSP2
.EQU  RST_CLK_PER_CLOCK_SSP2_N    , 20
.EQU  RST_CLK_PER_CLOCK_PORTA     , 1<<21    @ PORTA
.EQU  RST_CLK_PER_CLOCK_PORTA_N   , 21
.EQU  RST_CLK_PER_CLOCK_PORTB     , 1<<22    @ PORTB
.EQU  RST_CLK_PER_CLOCK_PORTB_N   , 22
.EQU  RST_CLK_PER_CLOCK_PORTC     , 1<<23    @ PORTC
.EQU  RST_CLK_PER_CLOCK_PORTC_N   , 23
.EQU  RST_CLK_PER_CLOCK_PORTD     , 1<<24    @ PORTD
.EQU  RST_CLK_PER_CLOCK_PORTD_N   , 24
.EQU  RST_CLK_PER_CLOCK_PORTE     , 1<<25    @ PORTE
.EQU  RST_CLK_PER_CLOCK_PORTE_N   , 25
.EQU  RST_CLK_PER_CLOCK_BKP       , 1<<27    @ PORTE
.EQU  RST_CLK_PER_CLOCK_BKP_N     , 27
.EQU  RST_CLK_PER_CLOCK_BKP       , 1<<27    @ PORTE
.EQU  RST_CLK_PER_CLOCK_BKP_N     , 27
.EQU  RST_CLK_PER_CLOCK_PORTF     , 1<<29    @ PORTF
.EQU  RST_CLK_PER_CLOCK_PORTF_N   , 29
.EQU  RST_CLK_PER_CLOCK_EXT_BUS   , 1<<30    @ EXT_BUS
.EQU  RST_CLK_PER_CLOCK_EXT_BUS_N , 30
.EQU  RST_CLK_PER_CLOCK_PCLKEN    , 1<<4    @ Биты разрешения тактирования периферийных блоков:
.EQU  RST_CLK_PER_CLOCK_PCLKEN_N  , 4       @ 0 – запрещено;
                                            @ 1 – разрешено.
                                            @ PCLK[4] – RST_CLK. После сброса в состоянии 1
.EQU  RST_CLK_PER_CLOCK_EEPROM    , 1<<3    @ EEPROM_CNTRL
.EQU  RST_CLK_PER_CLOCK_EEPROM_N  , 3
.EQU  RST_CLK_PER_CLOCK_USB       , 1<<2    @ USB
.EQU  RST_CLK_PER_CLOCK_USB_N     , 2
.EQU  RST_CLK_PER_CLOCK_CAN2      , 1<<1    @ CAN2
.EQU  RST_CLK_PER_CLOCK_CAN2_N    , 1
.EQU  RST_CLK_PER_CLOCK_CAN1      , 1<<0    @ CAN1
.EQU  RST_CLK_PER_CLOCK_CAN1_N    , 0
@.END


@.ITEM     RST_CLK_CAN_CLOCK
.EQU  RST_CLK_CAN_CLOCK_CAN2CLKEN   , 1<<25   @ Разрешение тактовой частоты на CAN2:
.EQU  RST_CLK_CAN_CLOCK_CAN2CLKEN_N   , 25    @ 0 – нет частоты;
                                              @ 1 – есть частота
.EQU  RST_CLK_CAN_CLOCK_CAN1CLKEN   , 1<<24   @ Разрешение тактовой частоты на CAN1:
.EQU  RST_CLK_CAN_CLOCK_CAN1CLKEN_N   , 24    @ 0 – нет частоты;
                                              @ 1 – есть частота
                                           @ Делитель тактовой частоты CAN2
.EQU  RST_CLK_CAN_CLOCK_CAN2BRG_N   , 8    @ CAN2BRG_N: номер младшего бита поля CAN2BRG
.EQU  RST_CLK_CAN_CLOCK_CAN2BRG_L   , 8    @ CAN2BRG_L: размер поля CAN2BRG
.EQU  RST_CLK_CAN_CLOCK_CAN2BRG_HCLK, 0         @ xxxxx000 – CAN2_CLK == HCLK
.EQU  RST_CLK_CAN_CLOCK_CAN2BRG_HCLKD2, 1<<8    @ xxxxx001 – CAN2_CLK == HCLK / 2
.EQU  RST_CLK_CAN_CLOCK_CAN2BRG_HCLKD4, 2<<8    @ xxxxx010 – CAN2_CLK == HCLK / 4
.EQU  RST_CLK_CAN_CLOCK_CAN2BRG_HCLKD8, 3<<8    @ xxxxx011 – CAN2_CLK == HCLK / 8
.EQU  RST_CLK_CAN_CLOCK_CAN2BRG_HCLKD16, 4<<8   @ xxxxx100 – CAN2_CLK == HCLK / 16
.EQU  RST_CLK_CAN_CLOCK_CAN2BRG_HCLKD32, 5<<8   @ xxxxx101 – CAN2_CLK == HCLK / 32
.EQU  RST_CLK_CAN_CLOCK_CAN2BRG_HCLKD64, 6<<8   @ xxxxx110 – CAN2_CLK == HCLK / 64
.EQU  RST_CLK_CAN_CLOCK_CAN2BRG_HCLKD128, 7<<8   @ xxxxx117 – CAN2_CLK == HCLK / 128
                                           @ Делитель тактовой частоты CAN1
.EQU  RST_CLK_CAN_CLOCK_CAN1BRG_N   , 0    @ CAN1BRG_N: номер младшего бита поля CAN1BRG
.EQU  RST_CLK_CAN_CLOCK_CAN1BRG_L   , 8    @ CAN1BRG_L: размер поля CAN1BRG
.EQU  RST_CLK_CAN_CLOCK_CAN1BRG_HCLK, 0         @ xxxxx000 – CAN1_CLK == HCLK
.EQU  RST_CLK_CAN_CLOCK_CAN1BRG_HCLKD2, 1<<0    @ xxxxx001 – CAN1_CLK == HCLK / 2
.EQU  RST_CLK_CAN_CLOCK_CAN1BRG_HCLKD4, 2<<0    @ xxxxx010 – CAN1_CLK == HCLK / 4
.EQU  RST_CLK_CAN_CLOCK_CAN1BRG_HCLKD8, 3<<0    @ xxxxx011 – CAN1_CLK == HCLK / 8
.EQU  RST_CLK_CAN_CLOCK_CAN1BRG_HCLKD16, 4<<0   @ xxxxx100 – CAN1_CLK == HCLK / 16
.EQU  RST_CLK_CAN_CLOCK_CAN1BRG_HCLKD32, 5<<0  @ xxxxx101 – CAN1_CLK == HCLK / 32
.EQU  RST_CLK_CAN_CLOCK_CAN1BRG_HCLKD64, 6<<0   @ xxxxx110 – CAN1_CLK == HCLK / 64
.EQU  RST_CLK_CAN_CLOCK_CAN1BRG_HCLKD128, 7<<0   @ xxxxx117 – CAN1_CLK == HCLK / 128
@.END


@.ITEM   RST_CLK_TIM_CLOCK
.EQU  RST_CLK_TIM_CLOCK_TIM3CLKEN    , 1<<26   @ Разрешение тактовой частоты на TIM3:
.EQU  RST_CLK_TIM_CLOCK_TIM3CLKEN_N  , 26      @ 0 – нет частоты;
                                               @ 1 – есть частота
.EQU  RST_CLK_TIM_CLOCK_TIM2CLKEN    , 1<<25   @ Разрешение тактовой частоты на TIM2:
.EQU  RST_CLK_TIM_CLOCK_TIM2CLKEN_N  , 25      @ 0 – нет частоты;
                                               @ 1 – есть частота
.EQU  RST_CLK_TIM_CLOCK_TIM1CLKEN    , 1<<24   @ Разрешение тактовой частоты на TIM1:
.EQU  RST_CLK_TIM_CLOCK_TIM1CLKEN_N  , 24      @ 0 – нет частоты;
                                               @ 1 – есть частота
                                               @ Делитель тактовой частоты TIM3
.EQU  RST_CLK_TIM_CLOCK_TIM3BRG_N    , 16      @ TIM3BRG_N: номер младшего бита поля TIM3BRG
.EQU  RST_CLK_TIM_CLOCK_TIM3BRG_L    , 8       @ TIM3BRG_L: размер поля TIM3BRG
.EQU  RST_CLK_TIM_CLOCK_TIM3BRG_HCLK , 0       @ xxxxx000 – TIM3_CLK == HCLK
.EQU  RST_CLK_TIM_CLOCK_TIM3BRG_HCLKD2 , 1<<16  @ xxxxx001 – TIM3_CLK == HCLK / 2
.EQU  RST_CLK_TIM_CLOCK_TIM3BRG_HCLKD4 , 2<<16  @ xxxxx010 – TIM3_CLK == HCLK / 4
.EQU  RST_CLK_TIM_CLOCK_TIM3BRG_HCLKD8 , 3<<16  @ xxxxx011 – TIM3_CLK == HCLK / 8
.EQU  RST_CLK_TIM_CLOCK_TIM3BRG_HCLKD16 , 4<<16  @ xxxxx100 – TIM3_CLK == HCLK / 16
.EQU  RST_CLK_TIM_CLOCK_TIM3BRG_HCLKD32 , 5<<16  @ xxxxx101 – TIM3_CLK == HCLK / 32
.EQU  RST_CLK_TIM_CLOCK_TIM3BRG_HCLKD64 , 6<<16  @ xxxxx110 – TIM3_CLK == HCLK / 64
.EQU  RST_CLK_TIM_CLOCK_TIM3BRG_HCLKD128 ,7<<16  @ xxxxx111 – TIM3_CLK == HCLK / 128
                                               @ Делитель тактовой частоты TIM2
.EQU  RST_CLK_TIM_CLOCK_TIM2BRG_N    , 8       @ TIM2BRG_N: номер младшего бита поля TIM2BRG
.EQU  RST_CLK_TIM_CLOCK_TIM2BRG_L    , 8       @ TIM2BRG_L: размер поля TIM2BRG
.EQU  RST_CLK_TIM_CLOCK_TIM2BRG_HCLK , 0       @ xxxxx000 – TIM2_CLK == HCLK
.EQU  RST_CLK_TIM_CLOCK_TIM2BRG_HCLKD2 , 1<<8  @ xxxxx001 – TIM2_CLK == HCLK / 2
.EQU  RST_CLK_TIM_CLOCK_TIM2BRG_HCLKD4 , 2<<8  @ xxxxx010 – TIM2_CLK == HCLK / 4
.EQU  RST_CLK_TIM_CLOCK_TIM2BRG_HCLKD8 , 3<<8  @ xxxxx011 – TIM2_CLK == HCLK / 8
.EQU  RST_CLK_TIM_CLOCK_TIM2BRG_HCLKD16 , 4<<8  @ xxxxx100 – TIM2_CLK == HCLK / 16
.EQU  RST_CLK_TIM_CLOCK_TIM2BRG_HCLKD32 , 5<<8  @ xxxxx101 – TIM2_CLK == HCLK / 32
.EQU  RST_CLK_TIM_CLOCK_TIM2BRG_HCLKD64 , 6<<8  @ xxxxx110 – TIM2_CLK == HCLK / 64
.EQU  RST_CLK_TIM_CLOCK_TIM2BRG_HCLKD128 ,7<<8  @ xxxxx111 – TIM2_CLK == HCLK / 128
                                               @ Делитель тактовой частоты TIM1
.EQU  RST_CLK_TIM_CLOCK_TIM1BRG_N    , 0       @ TIM1BRG_N: номер младшего бита поля TIM1BRG
.EQU  RST_CLK_TIM_CLOCK_TIM1BRG_L    , 8       @ TIM1BRG_L: размер поля TIM1BRG
.EQU  RST_CLK_TIM_CLOCK_TIM1BRG_HCLK , 0       @ xxxxx000 – TIM1_CLK == HCLK
.EQU  RST_CLK_TIM_CLOCK_TIM1BRG_HCLKD2 , 1<<0  @ xxxxx001 – TIM1_CLK == HCLK / 2
.EQU  RST_CLK_TIM_CLOCK_TIM1BRG_HCLKD4 , 2<<0  @ xxxxx010 – TIM1_CLK == HCLK / 4
.EQU  RST_CLK_TIM_CLOCK_TIM1BRG_HCLKD8 , 3<<0  @ xxxxx011 – TIM1_CLK == HCLK / 8
.EQU  RST_CLK_TIM_CLOCK_TIM1BRG_HCLKD16 , 4<<0  @ xxxxx100 – TIM1_CLK == HCLK / 16
.EQU  RST_CLK_TIM_CLOCK_TIM1BRG_HCLKD32 , 5<<0  @ xxxxx101 – TIM1_CLK == HCLK / 32
.EQU  RST_CLK_TIM_CLOCK_TIM1BRG_HCLKD64 , 6<<0  @ xxxxx110 – TIM1_CLK == HCLK / 64
.EQU  RST_CLK_TIM_CLOCK_TIM1BRG_HCLKD128 ,7<<0  @ xxxxx111 – TIM1_CLK == HCLK / 128
@.END


@.ITEM  RST_CLK_UART_CLOCK
.EQU  RST_CLK_UART_CLOCK_UART2CLKEN   , 1<<25   @ Разрешение тактовой частоты на UART2:
.EQU  RST_CLK_UART_CLOCK_UART2CLKEN_N , 25      @ 0 – нет частоты
                                                @ 1 – есть частота
.EQU  RST_CLK_UART_CLOCK_UART1CLKEN   , 1<<24   @ Разрешение тактовой частоты на UART1:
.EQU  RST_CLK_UART_CLOCK_UART1CLKEN_N , 24      @ 0 – нет частоты
                                                @ 1 – есть частота
                                                @ Делитель тактовой частоты UART 2
.EQU  RST_CLK_UART_CLOCK_UART2BRG_N   , 8       @ UART2BRG_N: номер младшего бита поля UART2BRG
.EQU  RST_CLK_UART_CLOCK_UART2BRG_L   , 8       @ UART2BRG_L: размер поля UART2BRG
.EQU  RST_CLK_UART_CLOCK_UART2BRG_HCLK , 0       @ xxxxx000 – UART2_CLK == HCLK
.EQU  RST_CLK_UART_CLOCK_UART2BRG_HCLKD2 , 1<<8  @ xxxxx001 – UART2_CLK == HCLK / 2
.EQU  RST_CLK_UART_CLOCK_UART2BRG_HCLKD4 , 2<<8  @ xxxxx010 – UART2_CLK == HCLK / 4
.EQU  RST_CLK_UART_CLOCK_UART2BRG_HCLKD8 , 3<<8  @ xxxxx011 – UART2_CLK == HCLK / 8
.EQU  RST_CLK_UART_CLOCK_UART2BRG_HCLKD16 , 4<<8  @ xxxxx100 – UART2_CLK == HCLK / 16
.EQU  RST_CLK_UART_CLOCK_UART2BRG_HCLKD32 , 5<<8  @ xxxxx101 – UART2_CLK == HCLK / 32
.EQU  RST_CLK_UART_CLOCK_UART2BRG_HCLKD64 , 6<<8  @ xxxxx110 – UART2_CLK == HCLK / 64
.EQU  RST_CLK_UART_CLOCK_UART2BRG_HCLKD128 ,7<<8  @ xxxxx111 – UART2_CLK == HCLK / 128
                                                @ Делитель тактовой частоты UART 1
.EQU  RST_CLK_UART_CLOCK_UART1BRG_N   , 0       @ UART1BRG_N: номер младшего бита поля UART1BRG
.EQU  RST_CLK_UART_CLOCK_UART1BRG_L   , 8       @ UART1BRG_L: размер поля UART1BRG
.EQU  RST_CLK_UART_CLOCK_UART1BRG_HCLK , 0       @ xxxxx000 – UART1_CLK == HCLK
.EQU  RST_CLK_UART_CLOCK_UART1BRG_HCLKD2 , 1<<0  @ xxxxx001 – UART1_CLK == HCLK / 2
.EQU  RST_CLK_UART_CLOCK_UART1BRG_HCLKD4 , 2<<0  @ xxxxx010 – UART1_CLK == HCLK / 4
.EQU  RST_CLK_UART_CLOCK_UART1BRG_HCLKD8 , 3<<0  @ xxxxx011 – UART1_CLK == HCLK / 8
.EQU  RST_CLK_UART_CLOCK_UART1BRG_HCLKD16 , 4<<0  @ xxxxx100 – UART1_CLK == HCLK / 16
.EQU  RST_CLK_UART_CLOCK_UART1BRG_HCLKD32 , 5<<0  @ xxxxx101 – UART1_CLK == HCLK / 32
.EQU  RST_CLK_UART_CLOCK_UART1BRG_HCLKD64 , 6<<0  @ xxxxx110 – UART1_CLK == HCLK / 64
.EQU  RST_CLK_UART_CLOCK_UART1BRG_HCLKD128 ,7<<0  @ xxxxx111 – UART1_CLK == HCLK / 128
@.END


@.ITEM  RST_CLK_SSP_CLOCK
.EQU  RST_CLK_SSP_CLOCK_SSP2CLKEN   , 1<<25   @ Разрешение тактовой частоты на SSP2:
.EQU  RST_CLK_SSP_CLOCK_SSP2CLKEN_N , 25      @ 0 – нет частоты
                                               @ 1 – есть частота
.EQU  RST_CLK_SSP_CLOCK_SSP1CLKEN   , 1<<24   @ Разрешение тактовой частоты на SSP1:
.EQU  RST_CLK_SSP_CLOCK_SSP1CLKEN_N , 24      @ 0 – нет частоты
                                                @ 1 – есть частота
                                                @ Делитель тактовой частоты UART 2
.EQU  RST_CLK_SSP_CLOCK_SSP2BRG_N   , 8       @ SSP2BRG_N: номер младшего бита поля SSP2BRG
.EQU  RST_CLK_SSP_CLOCK_SSP2BRG_L   , 8       @ SSP2BRG_L: размер поля SSP2BRG
.EQU  RST_CLK_SSP_CLOCK_SSP2BRG_HCLK , 0       @ xxxxx000 – SSP2_CLK == HCLK
.EQU  RST_CLK_SSP_CLOCK_SSP2BRG_HCLKD2 , 1<<8  @ xxxxx001 – SSP2_CLK == HCLK / 2
.EQU  RST_CLK_SSP_CLOCK_SSP2BRG_HCLKD4 , 2<<8  @ xxxxx010 – SSP2_CLK == HCLK / 4
.EQU  RST_CLK_SSP_CLOCK_SSP2BRG_HCLKD8 , 3<<8  @ xxxxx011 – SSP2_CLK == HCLK / 8
.EQU  RST_CLK_SSP_CLOCK_SSP2BRG_HCLKD16 , 4<<8  @ xxxxx100 – SSP2_CLK == HCLK / 16
.EQU  RST_CLK_SSP_CLOCK_SSP2BRG_HCLKD32 , 5<<8  @ xxxxx101 – SSP2_CLK == HCLK / 32
.EQU  RST_CLK_SSP_CLOCK_SSP2BRG_HCLKD64 , 6<<8  @ xxxxx110 – SSP2_CLK == HCLK / 64
.EQU  RST_CLK_SSP_CLOCK_SSP2BRG_HCLKD128 ,7<<8  @ xxxxx111 – SSP2_CLK == HCLK / 128
                                                @ Делитель тактовой частоты SSP 1
.EQU  RST_CLK_SSP_CLOCK_SSP1BRG_N   , 0       @ SSP1BRG_N: номер младшего бита поля SSP1BRG
.EQU  RST_CLK_SSP_CLOCK_SSP1BRG_L   , 8       @ SSP1BRG_L: размер поля SSP1BRG
.EQU  RST_CLK_SSP_CLOCK_SSP1BRG_HCLK , 0       @ xxxxx000 – SSP1_CLK == HCLK
.EQU  RST_CLK_SSP_CLOCK_SSP1BRG_HCLKD2 , 1<<0  @ xxxxx001 – SSP1_CLK == HCLK / 2
.EQU  RST_CLK_SSP_CLOCK_SSP1BRG_HCLKD4 , 2<<0  @ xxxxx010 – SSP1_CLK == HCLK / 4
.EQU  RST_CLK_SSP_CLOCK_SSP1BRG_HCLKD8 , 3<<0  @ xxxxx011 – SSP1_CLK == HCLK / 8
.EQU  RST_CLK_SSP_CLOCK_SSP1BRG_HCLKD16 , 4<<0  @ xxxxx100 – SSP1_CLK == HCLK / 16
.EQU  RST_CLK_SSP_CLOCK_SSP1BRG_HCLKD32 , 5<<0  @ xxxxx101 – SSP1_CLK == HCLK / 32
.EQU  RST_CLK_SSP_CLOCK_SSP1BRG_HCLKD64 , 6<<0  @ xxxxx110 – SSP1_CLK == HCLK / 64
.EQU  RST_CLK_SSP_CLOCK_SSP1BRG_HCLKD128 ,7<<0  @ xxxxx111 – SSP1_CLK == HCLK / 128
@.END




