C8051F717-GMR Silicon Labs, C8051F717-GMR Datasheet - Page 213
![no-image](/images/no-image-200.jpg)
C8051F717-GMR
Manufacturer Part Number
C8051F717-GMR
Description
8-bit Microcontrollers - MCU 16kB ADC Cap Sense
Manufacturer
Silicon Labs
Datasheet
1.C8051F709-GQR.pdf
(306 pages)
Specifications of C8051F717-GMR
Rohs
yes
Core
8051
Data Bus Width
8 bit
Processor Series
C8051
- Current page: 213 of 306
- Download datasheet (2Mb)
29.2. 32-bit CRC Algorithm
The C8051F70x/71x CRC unit calculates the 32-bit CRC using a poly of 0x04C11DB7. The CRC-32 algo-
rithm is "reflected", meaning that all of the input bytes and the final 32-bit output are bit-reversed in the pro-
cessing engine. The following is a description of a simplified CRC algorithm that produces results identical
to the hardware:
1. XOR the least-significant byte of the current CRC result with the input byte. If this is the first iteration of
2. Right-shift the CRC result.
3. If the LSB of the CRC result is set, XOR the CRC result with the reflected polynomial (0xEDB88320).
4. Repeat at Step 2 for the number of input bits (8).
For example, the 32-bit C8051F70x/71x CRC algorithm can be described by the following code:
unsigned long UpdateCRC (unsigned long CRC_acc, unsigned char CRC_input){
}
Table 29.2 lists example input values and the associated outputs using the 32-bit C8051F70x/71x CRC
algorithm (an initial value of 0xFFFFFFFF is used):
the CRC unit, the current CRC result will be the set initial value (0x00000000 or 0xFFFFFFFF).
unsigned char i; // loop counter
#define POLY 0xEDB88320 // bit-reversed version of the poly 0x04C11DB7
// Create the CRC "dividend" for polynomial arithmetic (binary arithmetic
// with no carries)
CRC_acc = CRC_acc ^ CRC_input;
// "Divide" the poly into the dividend using CRC XOR subtraction
// CRC_acc holds the "remainder" of each divide
// Only complete this division for 8 bits since input is 1 byte
for (i = 0; i < 8; i++)
{
}
return CRC_acc; // Return the final remainder (CRC value)
// Check if the MSB is set (if MSB is 1, then the POLY can "divide"
// into the "dividend")
if ((CRC_acc & 0x00000001) == 0x00000001)
{
}
else
{
}
// if so, shift the CRC value, and XOR "subtract" the poly
CRC_acc = CRC_acc >> 1;
CRC_acc ^= POLY;
// if not, just shift the CRC value
CRC_acc = CRC_acc >> 1;
0x00, 0x00, 0xAA, 0xBB, 0xCC
0xAA, 0xBB, 0xCC
Table 29.2. Example 32-bit CRC Outputs
Input
0x63
Rev. 1.0
0x78D129BC
0x41B207B3
0xF9462090
Output
C8051F70x/71x
213
Related parts for C8051F717-GMR
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
![CP2102EK](/photos/9/3/90395/cp2102ek_tmb.jpg)
Part Number:
Description:
KIT EVALUATION FOR CP2102
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![CP2103EK](/photos/9/6/90669/cp2103ek_tmb.jpg)
Part Number:
Description:
KIT EVAL FOR CP2103 USB TO UART
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![CP2201EK](/photos/9/9/90977/cp2201ek_tmb.jpg)
Part Number:
Description:
KIT EVAL FOR CP2201 ETH CTRLR
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![CAPTOUCHSENSEDC](/photos/9/20/92001/captouchsensedc_tmb.jpg)
Part Number:
Description:
DAUGHTER CARD CAP TOUCH SENSE
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![CAPTOUCHSENSESK](/photos/9/20/92002/captouchsensesk_tmb.jpg)
Part Number:
Description:
KIT STARTER CAP TOUCH SENSE
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![C8051F320DK](/photos/9/20/92068/c8051f320dk_tmb.jpg)
Part Number:
Description:
DEV KIT FOR C8051F320/F321
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![C8051F120DK](/photos/9/20/92070/c8051f120dk_tmb.jpg)
Part Number:
Description:
DEVKIT-F120/21/22/23/24/25/26/27
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![C8051F310DK](/photos/9/23/92300/c8051f310dk_tmb.jpg)
Part Number:
Description:
DEV KIT FOR C8051F310/F311
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![C8051F226DK](/photos/9/23/92302/c8051f226dk_tmb.jpg)
Part Number:
Description:
DEV KIT F220/221/226/230/231/236
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![C8051F300DK](/photos/9/23/92305/c8051f300dk_tmb.jpg)
Part Number:
Description:
DEV KIT F300/301/302/303/304/305
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![C8051F330DK](/photos/9/23/92306/c8051f330dk_tmb.jpg)
Part Number:
Description:
DEV KIT FOR C8051F330/F331
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![C8051F005DK](/photos/9/23/92307/c8051f005dk_tmb.jpg)
Part Number:
Description:
DEV KIT FOR F005/006/007
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![C8051F020DK](/photos/9/23/92314/c8051f020dk_tmb.jpg)
Part Number:
Description:
DEV KIT FOR F020/F021/F022/F023
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![C8051F340DK](/photos/9/23/92323/c8051f340dk_tmb.jpg)
Part Number:
Description:
KIT DEV FOR C8051F34X
Manufacturer:
Silicon Laboratories Inc
Datasheet:
![C8051F410DK](/photos/9/23/92324/c8051f410dk_tmb.jpg)
Part Number:
Description:
KIT DEV FOR C8051F41X
Manufacturer:
Silicon Laboratories Inc
Datasheet: