注意:该方法是控制485串口gpio引脚
echo命令来控制高低电平会很耗时,所以采用文件方式来控制电平值
QFileInfo fi(“/sys/class/gpio/gpio2”); //linux核心板下对应的gpio脚的文件
if(!fi.isDir())
{
system(“sudo echo 2 > /sys/class/gpio/export”); //首先将需要更改的引脚导出
}
system(“sudo echo out > /sys/class/gpio/gpio2/direction”);//设置gpio脚的模式
int fp;
fp = open(“/sys/class/gpio/gpio2/value”,O_WRONLY);
QTimer *timer = new QTimer;
timer->start(1000);
connect(timer,&QTimer::timeout,={
write(fp,“1”,2); //将电平拉高
Sleep(1);
probe->write(“XL+ALLRATE+”); //自己的项目的命令
probe->waitForBytesWritten(100);
Sleep(13); //发送完指令后要有一定的延时,具体延时多少要根据实际情况看
write(fp,“0”,2); //将电平拉低
});
qt控制gpio脚的高低电平
于 2022-12-01 09:21:17 首次发布