forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-04 deaf3df8a987f5cff0ac85c9f6ee12589c2c93ce
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
92
93
/**
  ******************************************************************************
  * @file    fm33a0xxev_hash.c
  * @author  FM33A0XXEV Application Team
  * @version V1.0.0
  * @date    16-April-2020
  * @brief   This file provides firmware functions to manage the following 
  *          functionalities of....:
  *
*/
 
/* Includes ------------------------------------------------------------------*/
 
#include "fm33a0xxev_hash.h"
 
/** @addtogroup fm33a0xxev_StdPeriph_Driver
  * @{
  */
 
/** @defgroup HASH 
  * @brief HASH driver modules
  * @{
  */ 
 
/* HASHÔËËãÆô¶¯¼Ä´æÆ÷£¬Èí¼þд1Æô¶¯ÔËË㣬ÔËËã½áÊøºóÓ²¼þ×Ô¶¯ÇåÁã Ïà¹Øº¯Êý */
void HASH_CSR_START_Setable(FunState NewState)
{
    if (NewState == ENABLE)
    {
        HASH->CSR |= (HASH_CSR_START_Msk);
    }
    else
    {
        HASH->CSR &= ~(HASH_CSR_START_Msk);
    }
}
 
FunState HASH_CSR_START_Getable(void)
{
    if (HASH->CSR & (HASH_CSR_START_Msk))
    {
        return ENABLE;
    }
    else
    {
        return DISABLE;
    }
}
 
/* SHAË㷨ѡÔñ Ïà¹Øº¯Êý */
void HASH_CSR_HASHSEL_Set(uint32_t SetValue)
{
    uint32_t tmpreg;
    tmpreg = HASH->CSR;
    tmpreg &= ~(HASH_CSR_HASHSEL_Msk);
    tmpreg |= (SetValue & HASH_CSR_HASHSEL_Msk);
    HASH->CSR = tmpreg;
}
 
uint32_t HASH_CSR_HASHSEL_Get(void)
{
    return (HASH->CSR & HASH_CSR_HASHSEL_Msk);
}
 
/* ÊäÈë»òÊä³öÊý¾Ý˳Ðò½»»»¿ØÖÆ
00£º²»½»»»
01£ºhalf-word½»»»
10£ºbyte½»»»
11£ºbit½»»»
´Ë¼Ä´æÆ÷ÓÃÓÚ¶ÔÊäÈë32bitÊý¾ÝµÄλÐò½øÐе÷Õû£»±ÈÈçÊäÈëΪ0x1234_5678£¬half-word½»»»ºóΪ0x5678_1234£¬byte½»»»ºóΪ0x7856_3412£¬bit½»»»ºóΪ0x1E6A_2C48
 Ïà¹Øº¯Êý */
void HASH_DTR_DATA_TYPE_Set(uint32_t SetValue)
{
    uint32_t tmpreg;
    tmpreg = HASH->DTR;
    tmpreg &= ~(HASH_DTR_DATA_TYPE_Msk);
    tmpreg |= (SetValue & HASH_DTR_DATA_TYPE_Msk);
    HASH->DTR = tmpreg;
}
 
uint32_t HASH_DTR_DATA_TYPE_Get(void)
{
    return (HASH->DTR & HASH_DTR_DATA_TYPE_Msk);
}
 
 
void HASH_Deinit(void)
{
    //HASH->CSR = 0x00000000;
    //HASH->DTR = 0x00000000;
}
 
/******END OF FILE****/