这里分享下SWD接口Lua函数读取失败解决办法。
一般情况下,读取失败后,重新调用初始化函数pg_init,很多时候可以解决问题。这里要注意的是循环函数读取失败。
读取失败后,不能一直死循环读取,会导致阻塞在死循环里面,解决办法依然是重新执行一次pg_init,并记录次数,比如失败超过10次,break退出死循环。
示例代码:
[Lua] 纯文本查看 复制代码 local re
local data
local count
function printf(...)
print(string.format(...))
end
pg_init()
count = 0 -- 计数次数清零
while (1)
do
re, data = pg_read_u32(0x24000000)
if(re == 0) then
pg_init()
count = count + 1
printf("读取失败%d", count)
if(count == 10) then
printf("10次读取失败,退出循环")
break
end
else
printf("读取成功")
end
delayms(200)
end
printf("========================")
|