본문 바로가기
Study/ESP8266(WIFI),ESP32(BLE,WIFI)

cannot convert 'volatile uint32_t* {aka volatile unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in initialization #define portInputRegister(port) ((volatile uint32_t*) &GPI)

by Answer Choi 2016. 12. 19.
반응형


dht library를 이용하여 DHT-22 온습도 센서를 ESP에서 적용하려고 하면 위와 같은 에러가 발생합니다.


arduino에서는 문제없이 컴파일도 되고 정상적으로 됩니다.


이런경우 dht.cpp의 121번째 라인을 수정해주면 컴파일이 됩니다.


1
2
3
//volatile uint8_t *PIR = portInputRegister(port);    //arduino
 
volatile uint8_t *PIR = ( volatile uint8_t *)portInputRegister(port);    //esp8266
cs


Line 1을 Line 3처럼 바꾸면 정상적으로 컴파일되고, 동작합니다.


확실히 정확도는 DHT-11보다 좋습니다.^^

반응형

인기글