测试 bsp (stm32l475-atk-pandora / stm32f746-st-disco / stm32f103-atk-warshipv3),均运行报错,具体步骤如下
开启 LuatOS_SOC-latest
修改 main Heap -> 8192
开启 USING SPI BUS/Device device drivers
编译、下载
运行异常报错
加入 Cmbacktrace 后再次运行
使用RTT主库最新代码测试未复现问题,使用stm32l475-atk-pandora测试的
可以分享一下,menuconfig 的相关配置项设置吗,我试了很多个板卡,也包含你反馈测试没问题的潘多拉
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
可以分享一下,menuconfig 的相关配置项设置吗,我试了很多个板卡,也包含你反馈测试没问题的潘多拉
@张帆 我上次了附件
- :)
- 调试 gpio 的时候,调用了 pin 去设置 io 口的时候,报有关 pin 的错误
- 开始是报 "全局的 pin 不存在",我以为是没有引用,后来又显式引用一下 pin,虽然没报错,但是 pin 的返回值是 布尔类型
-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "helloworld"
VERSION = "1.0.0"
-- 引入必要的库文件(lua编写), 内部库不需要require
local sys = require "sys"
log.info("main", "hello world")
print(_VERSION)
sys.timerLoopStart(function() print("hi, LuatOS") end, 3000)
local pin = require("pin")
if pin then
log.info('pin: ', json.encode(pin))
else
log.info('pin lib not exit')
end
--
local led_pin = pin.get("PE07")
log.info("led_pin: ", led_pin)
sys.taskInit(function()
local led_gpio = gpio.setup(led_pin, 0) -- 输出模式
log.info("gpio loop start")
--
while true do
led_gpio(0)
sys.wait(100)
led_gpio(1)
sys.wait(100)
end
end)
-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!
按照测试 luatos 支持的 air101/103/105 系列芯片,像 pin 这种底层 lib ,跟上述代码中已经用到的 gpio, json 等一样,无需显式调用,即可使用
不过 air 系列,或者是梦程MI/LuatOS-ESP32,都是有个显示的 pinList 去定义,每个 pin 脚到硬件底层的映射关系
因为我们这个库是针对 rtt 去做的 package 适配,底层的硬件是,千差万别的,所以,是不是暂时还没有支持到?后续能否提供接口,让用户自己去完成 pin 脚映射?
-- LuaTools需要PROJECT和VERSION这两个信息 PROJECT = "helloworld" VERSION = "1.0.0" -- 引入必要的库文件(lua编写), 内部库不需要require local sys = require "sys" log.info("main", "hello world") print(_VERSION) sys.timerLoopStart(function() print("hi, LuatOS") end, 3000) local pin = require("pin") if pin then log.info('pin: ', json.encode(pin)) else log.info('pin lib not exit') end -- local led_pin = pin.get("PE07") log.info("led_pin: ", led_pin) sys.taskInit(function() local led_gpio = gpio.setup(led_pin, 0) -- 输出模式 log.info("gpio loop start") -- while true do led_gpio(0) sys.wait(100) led_gpio(1) sys.wait(100) end end) -- 用户代码已结束--------------------------------------------- -- 结尾总是这一句 sys.run() -- sys.run()之后后面不要加任何语句!!!!!
@张帆 pin库暂时不可用,因为芯片不同gpio引脚号不同,差异比较大无法统一,得考虑一下,会先加上stm32的,其他看情况添加
明白,硬件太多,确实无法做到一一映射,即便可以,一是工作量巨大,二是不灵活,看下后续怎么开一个用户接口去自行映射
明白,硬件太多,确实无法做到一一映射,即便可以,一是工作量巨大,二是不灵活,看下后续怎么开一个用户接口去自行映射
![]()
@张帆 都是开源的,用户可以自己加,参考主库luat_lib_pin.c加上 101的luat_pin_air101.c代码,stm32有时间就会加上pin,到时候直接参看代码加就行
是ok了吧, 那我关掉了
登录 后才可以发表评论