blob: 960786087ce48333f72a352f13dd95e75a9edcdf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
/********************************** (C) COPYRIGHT *******************************
* File Name : ch32f20x_dbgmcu.c
* Author : WCH
* Version : V1.0.0
* Date : 2021/08/08
* Description : This file provides all the DBGMCU firmware functions.
****************************************************************************************/
#include "ch32f20x_dbgmcu.h"
#define IDCODE_DEVID_MASK ((uint32_t)0x00000FFF)
/*******************************************************************************
* Function Name : DBGMCU_GetREVID
* Description : Returns the device revision identifier.
* Input : None
* Return : Revision identifier.
*******************************************************************************/
uint32_t DBGMCU_GetREVID(void)
{
return(DBGMCU->IDCODE >> 16);
}
/*******************************************************************************
* Function Name : DBGMCU_GetDEVID
* Description : Returns the device identifier.
* Input : None
* Return : Device identifier.
*******************************************************************************/
uint32_t DBGMCU_GetDEVID(void)
{
return(DBGMCU->IDCODE & IDCODE_DEVID_MASK);
}
/*******************************************************************************
* Function Name : DBGMCU_Config
* Description : Configures the specified peripheral and low power mode behavior
* when the MCU under Debug mode.
* Input : DBGMCU_Periph: specifies the peripheral and low power mode.
* DBGMCU_SLEEP: Keep debugger connection during SLEEP mode
* DBGMCU_STOP: Keep debugger connection during STOP mode
* DBGMCU_STANDBY: Keep debugger connection during STANDBY mode
* DBGMCU_IWDG_STOP: Debug IWDG stopped when Core is halted
* DBGMCU_WWDG_STOP: Debug WWDG stopped when Core is halted
* DBGMCU_TIM1_STOP: TIM1 counter stopped when Core is halted
* DBGMCU_TIM2_STOP: TIM2 counter stopped when Core is halted
* DBGMCU_TIM3_STOP: TIM3 counter stopped when Core is halted
* DBGMCU_TIM4_STOP: TIM4 counter stopped when Core is halted
* DBGMCU_CAN1_STOP: Debug CAN2 stopped when Core is halted
* DBGMCU_I2C1_SMBUS_TIMEOUT: I2C1 SMBUS timeout mode stopped when Core is halted
* DBGMCU_I2C2_SMBUS_TIMEOUT: I2C2 SMBUS timeout mode stopped when Core is halted
* DBGMCU_TIM5_STOP: TIM5 counter stopped when Core is halted
* DBGMCU_TIM6_STOP: TIM6 counter stopped when Core is halted
* DBGMCU_TIM7_STOP: TIM7 counter stopped when Core is halted
* DBGMCU_TIM8_STOP: TIM8 counter stopped when Core is halted
* DBGMCU_CAN2_STOP: Debug CAN2 stopped when Core is halted
* DBGMCU_TIM15_STOP: TIM15 counter stopped when Core is halted
* DBGMCU_TIM16_STOP: TIM16 counter stopped when Core is halted
* DBGMCU_TIM17_STOP: TIM17 counter stopped when Core is halted
* DBGMCU_TIM9_STOP: TIM9 counter stopped when Core is halted
* DBGMCU_TIM10_STOP: TIM10 counter stopped when Core is halted
* DBGMCU_TIM11_STOP: TIM11 counter stopped when Core is halted
* DBGMCU_TIM12_STOP: TIM12 counter stopped when Core is halted
* DBGMCU_TIM13_STOP: TIM13 counter stopped when Core is halted
* DBGMCU_TIM14_STOP: TIM14 counter stopped when Core is halted
* NewState: ENABLE or DISABLE.
* Return : None
*******************************************************************************/
void DBGMCU_Config(uint32_t DBGMCU_Periph, FunctionalState NewState)
{
if (NewState != DISABLE)
{
DBGMCU->CFGR |= DBGMCU_Periph;
}
else
{
DBGMCU->CFGR &= ~DBGMCU_Periph;
}
}
|