我是一名嵌入式C开发人员,对python非常陌生,所以请耐心听我说
我在linux上,从一个C库编译了一个共享对象模块,这个C库在linux机器上打开串行端口,并通过uart与目标进行通信。 目前它没有做很多工作,只是在终端中打印通过uart接收的数据
myModule.c中的函数是
void startUartComm(){
openUart();
while(1) {
receiveDataOverUartAndPrint();
}
}
现在,我已经在python脚本中导入了这个编译后的模块,并像下面那样调用它。我想阻止python脚本在无休止的while循环中运行,我做了类似的事情
import sys
import myModule
try:
myModule.startUartComm()
except KeyboardInterrupt:
sys.exit()
按Ctrl+C除了停止脚本外,什么也不做。Ctrl+Z停止脚本。
但是当我再次运行脚本时,我从C库中得到一个错误,串行端口正忙,无法使用
使用Ctrl+C我可以成功地退出独立的C应用程序并再次运行它,而不会出现关于繁忙串行端口的错误
问题是,在这种情况下,如何以正确的方式停止python脚本,从而停止我的应用程序
目前没有回答
相关问题 更多 >
编程相关推荐