📄 stm32f10x_usart.lst
字号:
550 * Return : None
551 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
552 void USART_SetPrescaler(USART_TypeDef* USARTx, u8 USART_Prescaler)
553 {
554 /* Clear the USART prescaler */
555 USARTx->GTPR &= GTPR_MSB_Mask;
\ USART_SetPrescaler:
\ 00000000 028B LDRH R2,[R0, #+24]
\ 00000002 12F47F42 ANDS R2,R2,#0xFF00
\ 00000006 0283 STRH R2,[R0, #+24]
556 /* Set the USART prescaler */
557 USARTx->GTPR |= USART_Prescaler;
\ 00000008 028B LDRH R2,[R0, #+24]
\ 0000000A 1143 ORRS R1,R1,R2
\ 0000000C 0183 STRH R1,[R0, #+24]
558 }
\ 0000000E 7047 BX LR ;; return
559
560 /*******************************************************************************
561 * Function Name : USART_SmartCardCmd
562 * Description : Enables or disables the USART抯 Smart Card mode.
563 * Input : - USARTx: where x can be 1, 2 or 3 to select the USART
564 * peripheral.
565 * - NewState: new state of the Smart Card mode.
566 * This parameter can be: ENABLE or DISABLE.
567 * Output : None
568 * Return : None
569 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
570 void USART_SmartCardCmd(USART_TypeDef* USARTx, FunctionalState NewState)
571 {
572 /* Check the parameters */
573 assert(IS_FUNCTIONAL_STATE(NewState));
574
575 if (NewState != DISABLE)
\ USART_SmartCardCmd:
\ 00000000 0029 CMP R1,#+0
\ 00000002 818A LDRH R1,[R0, #+20]
\ 00000004 03D0 BEQ.N ??USART_SmartCardCmd_0
576 {
577 /* Enable the SC mode by setting the SCEN bit in the CR3 register */
578 USARTx->CR3 |= CR3_SCEN_Set;
\ 00000006 51F02001 ORRS R1,R1,#0x20
\ 0000000A 8182 STRH R1,[R0, #+20]
\ 0000000C 7047 BX LR
579 }
580 else
581 {
582 /* Disable the SC mode by clearing the SCEN bit in the CR3 register */
583 USARTx->CR3 &= CR3_SCEN_Reset;
\ ??USART_SmartCardCmd_0:
\ 0000000E .... LDR.N R2,??DataTable4 ;; 0xffdf
\ 00000010 0A40 ANDS R2,R2,R1
\ 00000012 8282 STRH R2,[R0, #+20]
584 }
585 }
\ 00000014 7047 BX LR ;; return
586
587 /*******************************************************************************
588 * Function Name : USART_SmartCardNACKCmd
589 * Description : Enables or disables NACK transmission.
590 * Input : - USARTx: where x can be 1, 2 or 3 to select the USART
591 * peripheral.
592 * - NewState: new state of the NACK transmission.
593 * This parameter can be: ENABLE or DISABLE.
594 * Output : None
595 * Return : None
596 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
597 void USART_SmartCardNACKCmd(USART_TypeDef* USARTx, FunctionalState NewState)
598 {
599 /* Check the parameters */
600 assert(IS_FUNCTIONAL_STATE(NewState));
601
602 if (NewState != DISABLE)
\ USART_SmartCardNACKCmd:
\ 00000000 0029 CMP R1,#+0
\ 00000002 818A LDRH R1,[R0, #+20]
\ 00000004 03D0 BEQ.N ??USART_SmartCardNACKCmd_0
603 {
604 /* Enable the NACK transmission by setting the NACK bit in the CR3 register */
605 USARTx->CR3 |= CR3_NACK_Set;
\ 00000006 51F01001 ORRS R1,R1,#0x10
\ 0000000A 8182 STRH R1,[R0, #+20]
\ 0000000C 7047 BX LR
606 }
607 else
608 {
609 /* Disable the NACK transmission by clearing the NACK bit in the CR3 register */
610 USARTx->CR3 &= CR3_NACK_Reset;
\ ??USART_SmartCardNACKCmd_0:
\ 0000000E 024A LDR.N R2,??USART_SmartCardNACKCmd_1 ;; 0xffef
\ 00000010 0A40 ANDS R2,R2,R1
\ 00000012 8282 STRH R2,[R0, #+20]
611 }
612
613 }
\ 00000014 7047 BX LR ;; return
\ 00000016 00BF Nop
\ ??USART_SmartCardNACKCmd_1:
\ 00000018 EFFF0000 DC32 0xffef
614
615 /*******************************************************************************
616 * Function Name : USART_HalfDuplexCmd
617 * Description : Enables or disables the USART抯 Half Duplex communication.
618 * Input : - USARTx: where x can be 1, 2 or 3 to select the USART
619 * peripheral.
620 * - NewState: new state of the USART Communication.
621 * This parameter can be: ENABLE or DISABLE.
622 * Output : None
623 * Return : None
624 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
625 void USART_HalfDuplexCmd(USART_TypeDef* USARTx, FunctionalState NewState)
626 {
627 /* Check the parameters */
628 assert(IS_FUNCTIONAL_STATE(NewState));
629
630 if (NewState != DISABLE)
\ USART_HalfDuplexCmd:
\ 00000000 0029 CMP R1,#+0
\ 00000002 818A LDRH R1,[R0, #+20]
\ 00000004 03D0 BEQ.N ??USART_HalfDuplexCmd_0
631 {
632 /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
633 USARTx->CR3 |= CR3_HDSEL_Set;
\ 00000006 51F00801 ORRS R1,R1,#0x8
\ 0000000A 8182 STRH R1,[R0, #+20]
\ 0000000C 7047 BX LR
634 }
635 else
636 {
637 /* Disable the Half-Duplex mode by clearing the HDSEL bit in the CR3 register */
638 USARTx->CR3 &= CR3_HDSEL_Reset;
\ ??USART_HalfDuplexCmd_0:
\ 0000000E 024A LDR.N R2,??USART_HalfDuplexCmd_1 ;; 0xfff7
\ 00000010 0A40 ANDS R2,R2,R1
\ 00000012 8282 STRH R2,[R0, #+20]
639 }
640 }
\ 00000014 7047 BX LR ;; return
\ 00000016 00BF Nop
\ ??USART_HalfDuplexCmd_1:
\ 00000018 F7FF0000 DC32 0xfff7
641
642 /*******************************************************************************
643 * Function Name : USART_IrDAConfig
644 * Description : Configures the USART抯 IrDA interface.
645 * Input : - USARTx: where x can be 1, 2 or 3 to select the USART
646 * peripheral.
647 * - USART_IrDAMode: specifies the IrDA mode.
648 * This parameter can be one of the following values:
649 * - USART_IrDAMode_LowPower
650 * - USART_IrDAMode_Normal
651 * Output : None
652 * Return : None
653 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
654 void USART_IrDAConfig(USART_TypeDef* USARTx, u16 USART_IrDAMode)
655 {
656 /* Check the parameters */
657 assert(IS_USART_IRDA_MODE(USART_IrDAMode));
658
659 USARTx->CR3 &= CR3_IRLP_Mask;
\ USART_IrDAConfig:
\ 00000000 828A LDRH R2,[R0, #+20]
\ 00000002 034B LDR.N R3,??USART_IrDAConfig_0 ;; 0xfffb
\ 00000004 1340 ANDS R3,R3,R2
\ 00000006 8382 STRH R3,[R0, #+20]
660 USARTx->CR3 |= USART_IrDAMode;
\ 00000008 828A LDRH R2,[R0, #+20]
\ 0000000A 1143 ORRS R1,R1,R2
\ 0000000C 8182 STRH R1,[R0, #+20]
661 }
\ 0000000E 7047 BX LR ;; return
\ ??USART_IrDAConfig_0:
\ 00000010 FBFF0000 DC32 0xfffb
662
663 /*******************************************************************************
664 * Function Name : USART_IrDACmd
665 * Description : Enables or disables the USART抯 IrDA interface.
666 * Input : - USARTx: where x can be 1, 2 or 3 to select the USART
667 * peripheral.
668 * - NewState: new state of the IrDA mode.
669 * This parameter can be: ENABLE or DISABLE.
670 * Output : None
671 * Return : None
672 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
673 void USART_IrDACmd(USART_TypeDef* USARTx, FunctionalState NewState)
674 {
675 /* Check the parameters */
676 assert(IS_FUNCTIONAL_STATE(NewState));
677
678 if (NewState != DISABLE)
\ USART_IrDACmd:
\ 00000000 0029 CMP R1,#+0
\ 00000002 818A LDRH R1,[R0, #+20]
\ 00000004 03D0 BEQ.N ??USART_IrDACmd_0
679 {
680 /* Enable the IrDA mode by setting the IREN bit in the CR3 register */
681 USARTx->CR3 |= CR3_IREN_Set;
\ 00000006 51F00201 ORRS R1,R1,#0x2
\ 0000000A 8182 STRH R1,[R0, #+20]
\ 0000000C 7047 BX LR
682 }
683 else
684 {
685 /* Disable the IrDA mode by clearing the IREN bit in the CR3 register */
686 USARTx->CR3 &= CR3_IREN_Reset;
\ ??USART_IrDACmd_0:
\ 0000000E .... LDR.N R2,??DataTable5 ;; 0xfffd
\ 00000010 0A40 ANDS R2,R2,R1
\ 00000012 8282 STRH R2,[R0, #+20]
687 }
688 }
\ 00000014 7047 BX LR ;; return
689
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -