硬汉嵌入式论坛

 找回密码
 立即注册
查看: 351|回复: 1
收起左侧

[脱机烧录] 为什么要屏蔽spi flash的机台烧录接口启动键功能

[复制链接]

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2024-3-23 22:18:19 | 显示全部楼层 |阅读模式
昨天我调试spi flash烧录功能,死活无法触发启动信号。

看了Programmer\LuaLib文件结果发现了如下函数
[Lua] 纯文本查看 复制代码
--读START引脚电平
function ReadStartLevel(void)
	local x = 1
	local v1
	
	if (MANUFACTURER == "SPI-Flash") then --SPI转接板没做启动按钮
		return 1
	end
	
	--if MACHINE_INTERFACE > 0 then	  V2.1.1 取消机台使能就可以启动
	if (SWD_BOARD == 0) then 		
		if (TVCC_VOLT == nil) then TVCC_VOLT = 3.3 end
		if (read_analog(4) < TVCC_VOLT * 0.6) then
			x = 1
		else		
			if (MULTI_MODE == 0) then		--单路
				x = gpio_read(7)	--D7 = START信号(内带上拉)
			else   --多路模式
				x = gpio_read(1)	--D1 = START信号
			end
		end
	elseif (SWD_BOARD == 1) then  -- RS232机台接口板,通过串口指令判断
		local re		
		--发串口指令读
		--modbus_read_di(port, timeout, addr485, regaddr, regnum) 
		re,x = modbus_read_di(1, 20, 1, 1, 1)	--读X1寄存器 START
		if (re == 0) then
			if (x == 0) then
				x = 1
			else
				x = 0
			end
		else
			x = 1
		end
	elseif (SWD_BOARD == 2) then  --1拖16转接板,通过CH1电压检测启动
		v1 = read_analog(0) --CH1电压 低表示启动 3.3V恢复
		if (v1 < 1.0) then
			x = 0
		else
			x = 1
		end
	else  --未知
		x = 1
	end
	return x
end



其中, 如下代码永远返回true,而注释提示SPI转接板没做启动按钮

[Lua] 纯文本查看 复制代码
if (MANUFACTURER == "SPI-Flash") then --SPI转接板没做启动按钮
return 1
end


于是我在高级脚本里重载了这个函数,去除了上边的逻辑,短接d7和gnd成功触发启动信号。
但是我看了看手上其他转接板也没有启动按钮啊,为什么要有上边的逻辑啊。建议库文件调整一下。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2024-3-24 00:11:37 | 显示全部楼层
谢谢楼主反馈,这个是之前一个客户反馈问题,修改了一次,我把楼主的问题反馈给公司处理下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-11-1 06:47 , Processed in 0.202784 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表