.基于北斗和4G Cat1模组的智慧物流开发(六)学习遇到的问题和解决办法(一)
1.在Qt5.14.1设置kits时,在compiler:c的目录里没有红线画的选项,说明你打开Qt5.14.1时没有先在GCC的环境下。那就先关闭Qt5.14.1,再运行source /opt/st/myir/2.6-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi这个命令后,在打开Qt5.14.1就可以看到这个设置选项。
2.运行analogclock项目出现下面情况。
测试过2.6-snapshot,不过是Qt5.14.1还是Qt5.12.9执行程序都会出现上面的情况,升级到3.1-snapshot,能正常执行。但是把执行完的程序上传到开发板,在开发板运行时出现下面的情况。
因为使用gui,但是没有硬件支持,所以报错。得到群友(汪*^_^*)的提示可以在widgets/widgets目录下找analogclock案例。打开Qt,新建项目,选择Qt widgets Application,再选择路径,其他的都默认即可。
把widgets/widgets/analogclock里面的代码对应复制到qt的项目里。最后要把Headers下的widgets.h修改为analogclock.sh。在analogclock.cpp和main.cpp里面的#include "widgets.h"改为#include "analogclock.h"即可。执行后生成的analogclock程序上传到开发板。执行后的效果。
3.在执行key_led的程序时,出现下面的情况:
执行arm-linux-gnueabihf-gcc -v查看,提示bash: arm-linux-gnueabihf-gcc: 未找到命令,sudo apt install -y gcc-arm-linux-gnueabihf
查看版本如图所示
使用makfile交叉编译好程序后上传到开发板,在开发板执行Key_LED后,再按开发板的F1是控制打开E53电机马达,F2的按键来控制关闭电机马达。如果要修改控制LED的话,只要把#define MOTER_DEV "/sys/devices/platform/led/leds/moter/brightness"修改为#define MOTER_DEV "/sys/devices/platform/led/leds/heartbeat/brightness"即可,因为系统已经在stm32mp157c-ya157c-v2.dtb添加电机代码。所有不需要修改再编译。
4.安装 i2c-tools
cd /opt/test1
tar -xvf i2c-tools-4.2.tar.gz
cd i2c-tools-4.2
需要交叉编译,修改Makefile中的CC。把CC ?= gcc 改为CC ?= arm-linux-gnueabihf-gcc
make arch=arm
执行成功后,在/opt/test1/i2c-tools-4.2/tools/能查看到i2cdump i2ctransfer i2cdetect i2cset i2cget
在开发板上建立目录:mkdir /home/root/i2ctool
cd /opt/test1/i2c-tools-4.2/tools/
scp -r i2cdump i2ctransfer i2cdetect i2cset i2cget root@192.168.1.8:/home/root/i2ctool
在开发板上运行:./i2cdetect -l
./i2cdetect -a 0
使用Visual Studio Code打开SHT30目录时,使用里面的终端运行交叉编译时,要特别注意使用source /opt/st/myir/3.1-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi更换环境,否则会编译build_x86。还有使用里面的终端会卡死程序,本机配置cpu4核8线程,内存32G ,已经给ubuntu虚拟机配置配置CPU4核和内存是16G,而且总内存使用才是百分之55而已。
把build_arm/SHT30_demo上传到开发板,在开发板上执行程序。
5.使用Tslib是一个开源的程序,为了校准触摸屏。
把tslib下载到/opt/softwares/
tar -vxf tslib-1.22.tar.gz -C /home/wuyicom/
cd /home/wuyicom/tslib-1.22
./autogen.sh
特别要注意,要在root用户下安装
#git clone https://github.com/libts/tslib.git
配置源代码,--prefix 指定软件安装的位置;--host=arm-linux指定软件运行的系统平台。
./configure --prefix=/root/tslib --host=arm-linux
make
make install
将/root/tslib下的lib/ etc/ bin/ share/拷贝到开发板即可(
scp -r /root/tslib root@192.168.1.8:/usr/local/
cd /usr/local/tslib/bin
./ts_calibrate
如图所示:下面是校准屏幕的过程。
通过学习和操作,懂得使用Qt5.14.1建立analogclock项目,修改相关代码后,并成功运行。了解了I2C外设的调试方法。利用SHT30测试程序读取温度。还使用tslib校准了屏幕。
- 点赞
- 收藏
- 关注作者
评论(0)