1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
-
- #include "stm32f4xx.h"
- #include "crc.h"
- #include "common_config.h"
- void CRC_Init(void)
- {
- RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC, ENABLE);
- CRC->CR |= CRC_CR_RESET;
- }
- void CRC_DeInit(void)
- {
- RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC, DISABLE);
- }
- uint32_t CRC_Read(void) {
- uint32_t* ptr = (uint32_t*)USER_FLASH_CRC_ADDRESS;
- return *ptr;
- }
- uint32_t CRC_Calcucate(void) {
- uint32_t res;
-
- CRC->CR = ((uint8_t)0x01);
- for(uint32_t* ptr=(uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS;ptr != (uint32_t*)USER_FLASH_CRC_ADDRESS;ptr++)
- CRC->DR = *ptr;
- res = CRC->DR;
- return res;
- }
-
|