[DigiKey智造万物快乐不停创意大赛]STM32MP157D 远程宠物喂鸟器之二MQTT GPIO控制
[复制链接]
上一篇介绍了linux的GPIO控制是用libgpiod 里面的测试工具gpioset 实现GPIO控制的,用这个命令控制是通过调用system命令实现的,如果要控制步进马达转动,则会出现系统调用
不能马上执行,导致步进马达失步等等问题,所以我们需要用libgpiod的库实现自己的gpio控制。需要从https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/ 下载libgpiod开源代码,
然后更加自己需要把libgpiod的代码移植到STM32MP157上,我们利用cmake 工具来构建系统
建立一个CMakeList.txt 文件
cmake_minimum_required(VERSION 3.10.2)
set(CSRC main.c tools-common.c lib/chip.c lib/chip-info.c lib/edge-event.c lib/info-event.c lib/internal.c lib/line-config.c lib/line-info.c lib/line-request.c lib/line-settings.c lib/misc.c lib/request-config.c )
set(libpath "lib/")
set(libs "lib/uapi")
set(libs1 "include/")
#add_subdirectory(misc)
set(EXTRA_LIBS pthread)#设置库名
include_directories(${libpath})
include_directories(${libs})
include_directories(${libs1})
LINK_LIBRARIES(m)
add_executable(gpiod ${CSRC})#生产可执行文件
target_link_libraries(gpiod ${EXTRA_LIBS})#链接库文件
target_include_directories(gpiod PRIVATE ${libpath})#设置头文件
然后执行cmake .. 后执行make命令就可以构建一个libgpiod的调试工具
|