.基于北斗和4G Cat1模组的智慧物流开发(六)学习遇到的问题和解决办法(一)

举报
wuyicom 发表于 2021/06/24 02:52:59 2021/06/24
【摘要】     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.1...

1.png

2.png

    1.Qt5.14.1设置kits时,在compilerc的目录里没有红线画的选项,说明你打开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项目出现下面情况。

3.png

测试过2.6-snapshot,不过是Qt5.14.1还是Qt5.12.9执行程序都会出现上面的情况,升级到3.1-snapshot,能正常执行。但是把执行完的程序上传到开发板,在开发板运行时出现下面的情况。

4.png

因为使用gui,但是没有硬件支持,所以报错。得到群友(汪*^_^*)的提示可以在widgets/widgets目录下找analogclock案例。打开Qt,新建项目,选择Qt widgets Application,再选择路径,其他的都默认即可。

5.png

widgets/widgets/analogclock里面的代码对应复制到qt的项目里。最后要把Headers下的widgets.h修改为analogclock.sh。在analogclock.cppmain.cpp里面的#include "widgets.h"改为#include "analogclock.h"即可。执行后生成的analogclock程序上传到开发板。执行后的效果。

6.png

    3.在执行key_led的程序时,出现下面的情况:

7.png

执行arm-linux-gnueabihf-gcc -v查看,提示bash: arm-linux-gnueabihf-gcc: 未找到命令,sudo  apt install  -y gcc-arm-linux-gnueabihf

查看版本如图所示

8.png

    使用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添加电机代码。所有不需要修改再编译。

9.png

    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

10.png

执行成功后,在/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

11.png

    使用Visual Studio Code打开SHT30目录时,使用里面的终端运行交叉编译时,要特别注意使用source  /opt/st/myir/3.1-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi更换环境,否则会编译build_x86。还有使用里面的终端会卡死程序,本机配置cpu48线程,内存32G ,已经给ubuntu虚拟机配置配置CPU4核和内存是16G,而且总内存使用才是百分之55而已。

12.png

把build_arm/SHT30_demo上传到开发板,在开发板上执行程序。

13.png

    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/


14.png

cd /usr/local/tslib/bin

./ts_calibrate 

如图所示:下面是校准屏幕的过程。

15.png

    通过学习和操作,懂得使用Qt5.14.1建立analogclock项目,修改相关代码后,并成功运行。了解了I2C外设的调试方法。利用SHT30测试程序读取温度。还使用tslib校准了屏幕。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。