我正在制作一个批处理脚本,以通过串行端口将数字发送到Arduino,延迟时间为1秒。
@echo off
mode COM3: baud=9600 data=8 >nul
for /l %%n in () do (
for /f "usebackq" %%a in (`wmic /namespace:\\root\openhardwaremonitor path sensor where "Identifier='/intelcpu/0/temperature/0'" get value^|findstr [0-9]`) do <nul set /p ="%%a">COM3
timeout /t 1 /nobreak >nul
for /f "usebackq" %%a in (`wmic /namespace:\\root\openhardwaremonitor path sensor where "Identifier='/nvidiagpu/0/temperature/0'" get value^|findstr [0-9]`) do <nul set /p ="%%a">COM3
timeout /t 1 /nobreak >nul
)
它主要起作用,但是在运行诸如游戏之类的繁重任务时,它不同步,因为wmic命令花费的时间更长。我尝试通过使用<nul set /p
命令并设置更高的优先级来压缩性能的每一点,但这没有用。我一直在研究AT
之类的命令,它一次调度一个命令,但似乎它只是运行该命令,这不是我想要的。
是否有一种方法可以使用类似于超时的命令,但它会在分配的时间内处理该命令,以便在时间结束时可以立即输出?