硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2240|回复: 1
收起左侧

[HAL] STM32H7的HAL库BDMA寄存器CCR寄存器位没有定义全,双缓冲bit没给定义

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107221
QQ
发表于 2019-1-14 02:52:37 | 显示全部楼层 |阅读模式
CCR寄存器的BIT15和BIT16
QQ截图20190114025146.jpg



CCR寄存器的BIT0 -BIT14如下,而BIT15和BIT16未定义。
手动补上一个吧。

  1. /*******************  Bit definition for BDMA_CCR register  ********************/
  2. #define BDMA_CCR_EN_Pos         (0U)                                          
  3. #define BDMA_CCR_EN_Msk         (0x1U << BDMA_CCR_EN_Pos)                      /*!< 0x00000001 */
  4. #define BDMA_CCR_EN             BDMA_CCR_EN_Msk                                /*!< Channel enable                      */
  5. #define BDMA_CCR_TCIE_Pos       (1U)                                          
  6. #define BDMA_CCR_TCIE_Msk       (0x1U << BDMA_CCR_TCIE_Pos)                    /*!< 0x00000002 */
  7. #define BDMA_CCR_TCIE           BDMA_CCR_TCIE_Msk                              /*!< Transfer complete interrupt enable  */
  8. #define BDMA_CCR_HTIE_Pos       (2U)                                          
  9. #define BDMA_CCR_HTIE_Msk       (0x1U << BDMA_CCR_HTIE_Pos)                    /*!< 0x00000004 */
  10. #define BDMA_CCR_HTIE           BDMA_CCR_HTIE_Msk                              /*!< Half Transfer interrupt enable      */
  11. #define BDMA_CCR_TEIE_Pos       (3U)                                          
  12. #define BDMA_CCR_TEIE_Msk       (0x1U << BDMA_CCR_TEIE_Pos)                    /*!< 0x00000008 */
  13. #define BDMA_CCR_TEIE           BDMA_CCR_TEIE_Msk                              /*!< Transfer error interrupt enable     */
  14. #define BDMA_CCR_DIR_Pos        (4U)                                          
  15. #define BDMA_CCR_DIR_Msk        (0x1U << BDMA_CCR_DIR_Pos)                     /*!< 0x00000010 */
  16. #define BDMA_CCR_DIR            BDMA_CCR_DIR_Msk                               /*!< Data transfer direction             */
  17. #define BDMA_CCR_CIRC_Pos       (5U)                                          
  18. #define BDMA_CCR_CIRC_Msk       (0x1U << BDMA_CCR_CIRC_Pos)                    /*!< 0x00000020 */
  19. #define BDMA_CCR_CIRC           BDMA_CCR_CIRC_Msk                              /*!< Circular mode                       */
  20. #define BDMA_CCR_PINC_Pos       (6U)                                          
  21. #define BDMA_CCR_PINC_Msk       (0x1U << BDMA_CCR_PINC_Pos)                    /*!< 0x00000040 */
  22. #define BDMA_CCR_PINC           BDMA_CCR_PINC_Msk                              /*!< Peripheral increment mode           */
  23. #define BDMA_CCR_MINC_Pos       (7U)                                          
  24. #define BDMA_CCR_MINC_Msk       (0x1U << BDMA_CCR_MINC_Pos)                    /*!< 0x00000080 */
  25. #define BDMA_CCR_MINC           BDMA_CCR_MINC_Msk                              /*!< Memory increment mode               */

  26. #define BDMA_CCR_PSIZE_Pos      (8U)                                          
  27. #define BDMA_CCR_PSIZE_Msk      (0x3U << BDMA_CCR_PSIZE_Pos)                   /*!< 0x00000300 */
  28. #define BDMA_CCR_PSIZE          BDMA_CCR_PSIZE_Msk                             /*!< PSIZE[1:0] bits (Peripheral size)   */
  29. #define BDMA_CCR_PSIZE_0        (0x1U << BDMA_CCR_PSIZE_Pos)                   /*!< 0x00000100 */
  30. #define BDMA_CCR_PSIZE_1        (0x2U << BDMA_CCR_PSIZE_Pos)                   /*!< 0x00000200 */

  31. #define BDMA_CCR_MSIZE_Pos      (10U)                                          
  32. #define BDMA_CCR_MSIZE_Msk      (0x3U << BDMA_CCR_MSIZE_Pos)                   /*!< 0x00000C00 */
  33. #define BDMA_CCR_MSIZE          BDMA_CCR_MSIZE_Msk                             /*!< MSIZE[1:0] bits (Memory size)       */
  34. #define BDMA_CCR_MSIZE_0        (0x1U << BDMA_CCR_MSIZE_Pos)                   /*!< 0x00000400 */
  35. #define BDMA_CCR_MSIZE_1        (0x2U << BDMA_CCR_MSIZE_Pos)                   /*!< 0x00000800 */

  36. #define BDMA_CCR_PL_Pos         (12U)                                          
  37. #define BDMA_CCR_PL_Msk         (0x3U << BDMA_CCR_PL_Pos)                      /*!< 0x00003000 */
  38. #define BDMA_CCR_PL             BDMA_CCR_PL_Msk                                /*!< PL[1:0] bits(Channel Priority level)*/
  39. #define BDMA_CCR_PL_0           (0x1U << BDMA_CCR_PL_Pos)                      /*!< 0x00001000 */
  40. #define BDMA_CCR_PL_1           (0x2U << BDMA_CCR_PL_Pos)                      /*!< 0x00002000 */

  41. #define BDMA_CCR_MEM2MEM_Pos    (14U)                                          
  42. #define BDMA_CCR_MEM2MEM_Msk    (0x1U << BDMA_CCR_MEM2MEM_Pos)                 /*!< 0x00004000 */
  43. #define BDMA_CCR_MEM2MEM        BDMA_CCR_MEM2MEM_Msk                           /*!< Memory to memory mode               */
复制代码




回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107221
QQ
 楼主| 发表于 2019-1-14 02:56:27 | 显示全部楼层
另外的两个DMA1和DMA2无此问题。



88.jpg



  1. /********************  Bits definition for DMA_SxCR register  *****************/
  2. #define DMA_SxCR_MBURST_Pos      (23U)                                         
  3. #define DMA_SxCR_MBURST_Msk      (0x3U << DMA_SxCR_MBURST_Pos)                 /*!< 0x01800000 */
  4. #define DMA_SxCR_MBURST          DMA_SxCR_MBURST_Msk                           /*!< Memory burst transfer configuration */
  5. #define DMA_SxCR_MBURST_0        (0x1U << DMA_SxCR_MBURST_Pos)                 /*!< 0x00800000 */
  6. #define DMA_SxCR_MBURST_1        (0x2U << DMA_SxCR_MBURST_Pos)                 /*!< 0x01000000 */
  7. #define DMA_SxCR_PBURST_Pos      (21U)                                         
  8. #define DMA_SxCR_PBURST_Msk      (0x3U << DMA_SxCR_PBURST_Pos)                 /*!< 0x00600000 */
  9. #define DMA_SxCR_PBURST          DMA_SxCR_PBURST_Msk                           /*!< Peripheral burst transfer configuration */
  10. #define DMA_SxCR_PBURST_0        (0x1U << DMA_SxCR_PBURST_Pos)                 /*!< 0x00200000 */
  11. #define DMA_SxCR_PBURST_1        (0x2U << DMA_SxCR_PBURST_Pos)                 /*!< 0x00400000 */
  12. #define DMA_SxCR_CT_Pos          (19U)                                         
  13. #define DMA_SxCR_CT_Msk          (0x1U << DMA_SxCR_CT_Pos)                     /*!< 0x00080000 */
  14. #define DMA_SxCR_CT              DMA_SxCR_CT_Msk                               /*!< Current target (only in double buffer mode) */  
  15. #define DMA_SxCR_DBM_Pos         (18U)                                         
  16. #define DMA_SxCR_DBM_Msk         (0x1U << DMA_SxCR_DBM_Pos)                    /*!< 0x00040000 */
  17. #define DMA_SxCR_DBM             DMA_SxCR_DBM_Msk                              /*!< Double buffer mode */
  18. #define DMA_SxCR_PL_Pos          (16U)                                         
  19. #define DMA_SxCR_PL_Msk          (0x3U << DMA_SxCR_PL_Pos)                     /*!< 0x00030000 */
  20. #define DMA_SxCR_PL              DMA_SxCR_PL_Msk                               /*!< Priority level */
  21. #define DMA_SxCR_PL_0            (0x1U << DMA_SxCR_PL_Pos)                     /*!< 0x00010000 */
  22. #define DMA_SxCR_PL_1            (0x2U << DMA_SxCR_PL_Pos)                     /*!< 0x00020000 */
  23. #define DMA_SxCR_PINCOS_Pos      (15U)                                         
  24. #define DMA_SxCR_PINCOS_Msk      (0x1U << DMA_SxCR_PINCOS_Pos)                 /*!< 0x00008000 */
  25. #define DMA_SxCR_PINCOS          DMA_SxCR_PINCOS_Msk                           /*!< Peripheral increment offset size */
  26. #define DMA_SxCR_MSIZE_Pos       (13U)                                         
  27. #define DMA_SxCR_MSIZE_Msk       (0x3U << DMA_SxCR_MSIZE_Pos)                  /*!< 0x00006000 */
  28. #define DMA_SxCR_MSIZE           DMA_SxCR_MSIZE_Msk                            /*!< Memory data size */  
  29. #define DMA_SxCR_MSIZE_0         (0x1U << DMA_SxCR_MSIZE_Pos)                  /*!< 0x00002000 */
  30. #define DMA_SxCR_MSIZE_1         (0x2U << DMA_SxCR_MSIZE_Pos)                  /*!< 0x00004000 */
  31. #define DMA_SxCR_PSIZE_Pos       (11U)                                         
  32. #define DMA_SxCR_PSIZE_Msk       (0x3U << DMA_SxCR_PSIZE_Pos)                  /*!< 0x00001800 */
  33. #define DMA_SxCR_PSIZE           DMA_SxCR_PSIZE_Msk                            /*< Peripheral data size */
  34. #define DMA_SxCR_PSIZE_0         (0x1U << DMA_SxCR_PSIZE_Pos)                  /*!< 0x00000800 */
  35. #define DMA_SxCR_PSIZE_1         (0x2U << DMA_SxCR_PSIZE_Pos)                  /*!< 0x00001000 */
  36. #define DMA_SxCR_MINC_Pos        (10U)                                         
  37. #define DMA_SxCR_MINC_Msk        (0x1U << DMA_SxCR_MINC_Pos)                   /*!< 0x00000400 */
  38. #define DMA_SxCR_MINC            DMA_SxCR_MINC_Msk                             /*!< Memory increment mode */
  39. #define DMA_SxCR_PINC_Pos        (9U)                                          
  40. #define DMA_SxCR_PINC_Msk        (0x1U << DMA_SxCR_PINC_Pos)                   /*!< 0x00000200 */
  41. #define DMA_SxCR_PINC            DMA_SxCR_PINC_Msk                             /*!< Peripheral increment mode */
  42. #define DMA_SxCR_CIRC_Pos        (8U)                                          
  43. #define DMA_SxCR_CIRC_Msk        (0x1U << DMA_SxCR_CIRC_Pos)                   /*!< 0x00000100 */
  44. #define DMA_SxCR_CIRC            DMA_SxCR_CIRC_Msk                             /*!< Circular mode */
  45. #define DMA_SxCR_DIR_Pos         (6U)                                          
  46. #define DMA_SxCR_DIR_Msk         (0x3U << DMA_SxCR_DIR_Pos)                    /*!< 0x000000C0 */
  47. #define DMA_SxCR_DIR             DMA_SxCR_DIR_Msk                              /*!< Data transfer direction */
  48. #define DMA_SxCR_DIR_0           (0x1U << DMA_SxCR_DIR_Pos)                    /*!< 0x00000040 */
  49. #define DMA_SxCR_DIR_1           (0x2U << DMA_SxCR_DIR_Pos)                    /*!< 0x00000080 */
  50. #define DMA_SxCR_PFCTRL_Pos      (5U)                                          
  51. #define DMA_SxCR_PFCTRL_Msk      (0x1U << DMA_SxCR_PFCTRL_Pos)                 /*!< 0x00000020 */
  52. #define DMA_SxCR_PFCTRL          DMA_SxCR_PFCTRL_Msk                           /*!< Peripheral flow controller */
  53. #define DMA_SxCR_TCIE_Pos        (4U)                                          
  54. #define DMA_SxCR_TCIE_Msk        (0x1U << DMA_SxCR_TCIE_Pos)                   /*!< 0x00000010 */
  55. #define DMA_SxCR_TCIE            DMA_SxCR_TCIE_Msk                             /*!< Transfer complete interrupt enable */
  56. #define DMA_SxCR_HTIE_Pos        (3U)                                          
  57. #define DMA_SxCR_HTIE_Msk        (0x1U << DMA_SxCR_HTIE_Pos)                   /*!< 0x00000008 */
  58. #define DMA_SxCR_HTIE            DMA_SxCR_HTIE_Msk                             /*!< Half transfer interrupt enable */
  59. #define DMA_SxCR_TEIE_Pos        (2U)                                          
  60. #define DMA_SxCR_TEIE_Msk        (0x1U << DMA_SxCR_TEIE_Pos)                   /*!< 0x00000004 */
  61. #define DMA_SxCR_TEIE            DMA_SxCR_TEIE_Msk                             /*!< Transfer error interrupt enable */
  62. #define DMA_SxCR_DMEIE_Pos       (1U)                                          
  63. #define DMA_SxCR_DMEIE_Msk       (0x1U << DMA_SxCR_DMEIE_Pos)                  /*!< 0x00000002 */
  64. #define DMA_SxCR_DMEIE           DMA_SxCR_DMEIE_Msk                            /*!< Direct mode error interrupt enable */
  65. #define DMA_SxCR_EN_Pos          (0U)                                          
  66. #define DMA_SxCR_EN_Msk          (0x1U << DMA_SxCR_EN_Pos)                     /*!< 0x00000001 */
  67. #define DMA_SxCR_EN              DMA_SxCR_EN_Msk                               /*!< Stream enable / flag stream ready when read low */
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-22 10:35 , Processed in 0.163934 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表