原创 汉化STM32F2.02版固件库之十八(CRC)

2008-8-12 08:53 5313 8 8 分类: MCU/ 嵌入式

/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* 文件名称: stm32f10x_crc.c
* 程序作者: MCD Application Team
* 程序版本: V2.0.2
* 编制日期: 07/11/2008
* 功能描述: 这个文件提供了所有CRC的固件函数.
********************************************************************************
* 目前的固件的目的是为客户提供关于他们的产品的编码信息以便于节省他们时间。
* 结果, 意法半导体将不会为此承担任何直接,间接或相应的损害赔偿方面的任何索赔要求,
* 例如固件或使用所作的客户编码中他涉嫌包含与他们的相关产品的信息。
*******************************************************************************/


/* 包涵的文件 ------------------------------------------------------------------*/
#include "stm32f10x_crc.h"


/* 自用类型 -----------------------------------------------------------*/
/* 自用定义 ------------------------------------------------------------*/


/* CR register bit mask */
#define CR_RESET_Set    ((u32)0x00000001)


/* 自用宏 -------------------------------------------------------------*/
/* 自用变量 ---------------------------------------------------------*/
/* 自用函数原型 -----------------------------------------------*/
/* 自用函数 ---------------------------------------------------------*/


/*******************************************************************************
* 函数名称: CRC_ResetDR
* 功能描述: Resets the CRC Data register (DR)[复位CRC数据寄存器].
* 输入参数: None
* 输出参数: None
* 返回参数: None
*******************************************************************************/
void CRC_ResetDR(void)
{
  /* Reset CRC generator [复位CRC发生器]*/
  CRC->CR = CR_RESET_Set;
}
/*******************************************************************************
* 函数名称: CRC_CalcCRC
* 功能描述: Computes the 32-bit CRC of a given data word(32-bit)[计算已知字的32位CRC].
* 输入参数: - Data: data word(32-bit) to compute its CRC[待计算CRC的数据字]
* 输出参数: None
* 返回参数: 32-bit CRC[32位CRC码]
*******************************************************************************/
u32 CRC_CalcCRC(u32 Data)
{
  CRC->DR = Data;
 
  return (CRC->DR);
}


/*******************************************************************************
* 函数名称: CRC_CalcBlockCRC
* 功能描述: Computes the 32-bit CRC of a given buffer of data word(32-bit)[计算一个缓冲区的数据的32位CRC].
* 输入参数: - pBuffer: pointer to the buffer containing the data to be
*                    computed[指向包含需要计算数据的缓冲区的指针]
*           - BufferLength: length of the buffer to be computed [待计算的缓冲区的长度]
* 输出参数: None
* 返回参数: 32-bit CRC[32位CRC码]
*******************************************************************************/
u32 CRC_CalcBlockCRC(u32 pBuffer[], u32 BufferLength)
{
  u32 index = 0;
 
  for(index = 0; index < BufferLength; index++)
  {
    CRC->DR = pBuffer[index];
  }


  return (CRC->DR);
}


/*******************************************************************************
* 函数名称: CRC_GetCRC
* 功能描述: Returns the current CRC value[返回当前的CRC值].
* 输入参数: None
* 输出参数: None
* 返回参数: 32-bit CRC[32位CRC码]
*******************************************************************************/
u32 CRC_GetCRC(void)
{
  return (CRC->DR);
}


/*******************************************************************************
* 函数名称: CRC_SetIDRegister
* 功能描述: Stores a 8-bit data in the Independent Data(ID) register[在独立的数据寄存器中保存一个8位的数据].
* 输入参数: - IDValue: 8-bit value to be stored in the ID register[等待保存到独立的数据寄存器中8位的数据值]
* 输出参数: None
* 返回参数: None
*******************************************************************************/
void CRC_SetIDRegister(u8 IDValue)
{
  CRC->IDR = IDValue;
}


/*******************************************************************************
* 函数名称: CRC_GetIDRegister
* 功能描述: Returns the 8-bit data stored in the Independent Data(ID) register[返回保存到独立的数据寄存器中8位的数据]
* 输入参数: None
* 输出参数: None
* 返回参数: 8-bit value of the ID register [独立的数据寄存器的8位数值]
*******************************************************************************/
u8 CRC_GetIDRegister(void)
{
  return (CRC->IDR);
}


/******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/


这已经是完整的stm32f10x_crc.c文件了,请您在下载的同时到左上角顶我一下,以示支持!谢谢

文章评论0条评论)

登录后参与讨论
相关推荐阅读
小可歌 2016-05-31 13:54
【转帖】模拟电路的四重境界
无意中看到这个文章,虽然自己也搞了4 年模电了,但后看完之后发现自己原来根本就没有入门阿!现发上来和大家共享!·············   复旦攻读微电子专业模拟芯片设计方向研究生开始到...
小可歌 2016-05-28 07:14
发帖庆祝用app inventor的录音机保存MP3格式录音成功!
看似简单的功能,可是把我难够呛,刚学APP INVENTOR没几天,手里的两本书翻来掉去的看了N遍。APP INVENTOR的录音机默认是保存录音文件为3GP格式,我想保存成MP3文件就没有地方找...
小可歌 2016-02-22 08:56
C语言Printf格式,调试最好的助手!
    C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型, 其中方括号[]中的项为...
小可歌 2016-02-19 15:19
对于SRAM的地址线和数据线是可以打乱顺序用的!!!!
因为SRAM的地址具有唯一性,其实数据线也有唯一性。 也就是A0~A18,D0~D15,都是唯一的。 正常是:A0~A18,接FSMC的A0~A18。 D0~D15,接FSMC的D0~D15. 假...
小可歌 2016-02-02 11:29
Linux系统下基本命令
Linux系统下基本命令: 要区分大小写  uname 显示版本信息(同win2K的 ver)  dir 显示当前目录文件,ls -al 显示包括隐藏文件(同win2K的 dir)  pwd...
小可歌 2016-02-02 11:28
DOS命令大全
对于一般的网民来说,dos命令是什么真的不知道,dos命令有些什么作用也不知道。但是黑客们却精通dos命令,经常利用dos命令进行各种任务,以达到自己的目的。下面笔者为大家汇总出dos命令大全,希...
我要评论
0
8
1
2
3
4
5
6
7
8
9
0
关闭 热点推荐上一条 /4 下一条