Freenove / Freenove_Ultimate_Starter_Kit_for_Raspberry_Pi

Apply to FNK0020
Other
556 stars 291 forks source link

Code in chapter 20 (LCD1602) fails. #10

Closed BKeyport closed 5 years ago

BKeyport commented 5 years ago

Only change to program per instructions is setting PCF 8574_address as shown on page 207 Number 2.

If I follow directions exactly to tutorial.pdf I get: $ gcc I2CLCD1602.c -o I2CLCD1602 -lwiringPiDev /tmp/ccor7IXm.o: In function main': I2CLCD1602.c:(.text+0x178): undefined reference towiringPiSetup' I2CLCD1602.c:(.text+0x1a0): undefined reference to pcf8574Setup' I2CLCD1602.c:(.text+0x1c0): undefined reference topinMode' I2CLCD1602.c:(.text+0x1e4): undefined reference to digitalWrite' I2CLCD1602.c:(.text+0x1f0): undefined reference todigitalWrite' I2CLCD1602.c:(.text+0x288): undefined reference to delay' /usr/lib/gcc/arm-linux-gnueabihf/6/../../../libwiringPiDev.so: undefined reference todigitalRead' /usr/lib/gcc/arm-linux-gnueabihf/6/../../../libwiringPiDev.so: undefined reference to wiringPiI2CSetup' /usr/lib/gcc/arm-linux-gnueabihf/6/../../../libwiringPiDev.so: undefined reference tosn3218Setup' /usr/lib/gcc/arm-linux-gnueabihf/6/../../../libwiringPiDev.so: undefined reference to delayMicroseconds' /usr/lib/gcc/arm-linux-gnueabihf/6/../../../libwiringPiDev.so: undefined reference toanalogWrite' /usr/lib/gcc/arm-linux-gnueabihf/6/../../../libwiringPiDev.so: undefined reference to digitalWriteByte' /usr/lib/gcc/arm-linux-gnueabihf/6/../../../libwiringPiDev.so: undefined reference towiringPiSPIDataRW' /usr/lib/gcc/arm-linux-gnueabihf/6/../../../libwiringPiDev.so: undefined reference to wiringPiSPISetup' /usr/lib/gcc/arm-linux-gnueabihf/6/../../../libwiringPiDev.so: undefined reference topullUpDnControl' /usr/lib/gcc/arm-linux-gnueabihf/6/../../../libwiringPiDev.so: undefined reference to wiringPiNewNode' /usr/lib/gcc/arm-linux-gnueabihf/6/../../../libwiringPiDev.so: undefined reference tomcp23s17Setup' /usr/lib/gcc/arm-linux-gnueabihf/6/../../../libwiringPiDev.so: undefined reference to `wiringPiI2CWriteReg8' collect2: error: ld returned 1 exit status

if I remove "Dev" from end: $ gcc I2CLCD1602.c -o I2CLCD1602 -lwiringPi /tmp/ccUZNFFi.o: In function printCPUTemperature': I2CLCD1602.c:(.text+0x78): undefined reference tolcdPosition' I2CLCD1602.c:(.text+0x94): undefined reference to lcdPrintf' /tmp/ccUZNFFi.o: In functionprintDataTime': I2CLCD1602.c:(.text+0x120): undefined reference to lcdPosition' I2CLCD1602.c:(.text+0x150): undefined reference tolcdPrintf' /tmp/ccUZNFFi.o: In function main': I2CLCD1602.c:(.text+0x24c): undefined reference tolcdInit' collect2: error: ld returned 1 exit status

SuhaylZhao commented 5 years ago

Hi,

These two libraries should be added to compile options.

gcc I2CLCD1602.c -o I2CLCD1602 -lwiringPi -lwiringPiDev

Please try it .

Thanks.

BKeyport commented 5 years ago

That Fixed it. Turns out I got the wrong manual anyway, the manual I'm using on my PC is the super starter kit, and I got the ultimate. Fixing that myself.

Thanks for the update!