当前位置: 技术问答>linux和unix
课题中关于进程的问题,请高手指点啊!!
来源: 互联网 发布时间:2015-12-27
本文导语: 现在的课题是基于嵌入式linux的RTU设计。说白了就是几块东西 1)串口接收传感器来的数据 2)进行数据处理,这里我在考虑有没有必要引入嵌入式数据库呢 ? 3)GPS模块实现硬实时。 4)通过网络将处理后的数据发送...
现在的课题是基于嵌入式linux的RTU设计。说白了就是几块东西
1)串口接收传感器来的数据
2)进行数据处理,这里我在考虑有没有必要引入嵌入式数据库呢 ?
3)GPS模块实现硬实时。
4)通过网络将处理后的数据发送出去。
现在可以实现单独得串口通讯和网络通讯,我的疑问是有了这些单独得程序如何有进程来控制呢 ?
由于刚接触进程线程的概念,所以搞不清楚有了单独的程序,如何将他们融合在一起呢?是在一个主程序里面通过进程来调用这些程序吗 ?
请高手给个框架啊!!
导师之前不做linux,所以一直是自己在摸索,痛苦得很!!!!
1)串口接收传感器来的数据
2)进行数据处理,这里我在考虑有没有必要引入嵌入式数据库呢 ?
3)GPS模块实现硬实时。
4)通过网络将处理后的数据发送出去。
现在可以实现单独得串口通讯和网络通讯,我的疑问是有了这些单独得程序如何有进程来控制呢 ?
由于刚接触进程线程的概念,所以搞不清楚有了单独的程序,如何将他们融合在一起呢?是在一个主程序里面通过进程来调用这些程序吗 ?
请高手给个框架啊!!
导师之前不做linux,所以一直是自己在摸索,痛苦得很!!!!
|
串口通信假定叫a.exe,网络模块通信程序叫b.exe。
你的要求简单的讲,就是编写一个主程序,把a.exe从串口读到的数据,进行一些处理后,传递给b.exe由模块发送出去是不?
1.接收a.exe从串口读来的数据,可以使用popen打开a.exe,然后从管道读取数据。
2.对读取到的数据做处理
3.b.exe通过模块发送数据,它的数据来源是什么?如果是通过参数,(例如b.exe "abc"就是发送字符串abc出去),那直接system("b.exe "abc"");或 fork, 子进程exec(b.exe).
如果b.exe数据来源是某个文件,那主进程只需要把处理后的数据写入该文件,再system(b.exe)即可。
建议你看看Linux进程通信这块,而且根据你的需求,可能都不需要用到共享内存,消息队列。简单的管道都差不多够了。
是否引入数据库,看你的数据量和数据处理复杂程度了。再就是嵌入式系统的容量和性能等。如果数据量小,处理不复杂,自己写几个函数就OK。否则可以让数据库帮你处理。
你的要求简单的讲,就是编写一个主程序,把a.exe从串口读到的数据,进行一些处理后,传递给b.exe由模块发送出去是不?
1.接收a.exe从串口读来的数据,可以使用popen打开a.exe,然后从管道读取数据。
2.对读取到的数据做处理
3.b.exe通过模块发送数据,它的数据来源是什么?如果是通过参数,(例如b.exe "abc"就是发送字符串abc出去),那直接system("b.exe "abc"");或 fork, 子进程exec(b.exe).
如果b.exe数据来源是某个文件,那主进程只需要把处理后的数据写入该文件,再system(b.exe)即可。
建议你看看Linux进程通信这块,而且根据你的需求,可能都不需要用到共享内存,消息队列。简单的管道都差不多够了。
是否引入数据库,看你的数据量和数据处理复杂程度了。再就是嵌入式系统的容量和性能等。如果数据量小,处理不复杂,自己写几个函数就OK。否则可以让数据库帮你处理。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。