하드웨어/lora lorawan2026. 2. 27. 18:30

preamble은 빼고 payload + crc 까진 받아볼 수 있다곤 하는데 정작해보니 잘 안된다.

노이즈만 잔뜩.. 멀 빼먹은걸까?

1. Payload CRC 포함 수신 (가장 일반적)
레지스터 설정으로 CRC를 수신 데이터에 포함시킬 수 있습니다.
c// RegModemConfig2 (0x1E) - RxPayloadCrcOn bit 설정
// bit[2] = 1: CRC 활성화
uint8_t config2 = readReg(REG_MODEM_CONFIG_2);
config2 |= (1 << 2);  // RxPayloadCrcOn = 1
writeReg(REG_MODEM_CONFIG_2, config2);
수신 후 CRC 에러 여부 확인:
c// RegIrqFlags (0x12)
// bit[5] = PayloadCrcError
uint8_t irqFlags = readReg(REG_IRQ_FLAGS);
if (irqFlags & (1 << 5)) {
    // CRC 에러
}

2. Implicit Header Mode (헤더 없이 raw payload)
c// RegModemConfig1 (0x1D)
// bit[0] = ImplicitHeaderModeOn
uint8_t config1 = readReg(REG_MODEM_CONFIG_1);
config1 |= 0x01;  // Implicit Header Mode
writeReg(REG_MODEM_CONFIG_1, config1);
Implicit Header Mode에서는:

헤더(Length, CR, CRC 정보)가 전송되지 않음
송수신 양측이 동일한 파라미터를 사전에 알고 있어야 함
FIFO에서 고정 길이의 raw 데이터를 읽음

 

'하드웨어 > lora lorawan' 카테고리의 다른 글

lora driver for stm32 written in c  (0) 2026.02.26
sx1276 spi 통신  (0) 2026.02.19
LoRa modulation basics  (0) 2025.12.16
lora CR(coding rate)  (0) 2025.12.16
lora evk  (0) 2025.10.02
Posted by 구차니