我需要用C编写代码,这些代码最终将在嵌入式系统上运行,其目的是这些嵌入式系统的多个物理实例可以相互通信。
我想先在仿真中测试这一点,但我对C语言不太熟悉。在C++或其他面向对象的语言中,我只想创建同一个类的多个实例,并让它们在仿真中进行通信。我怎么能在C里做到这一点?
编辑:为了避免误解:我感兴趣的是如何启动多个代码实例,以便每个实例都有自己的数据。
发布于 2022-05-19 10:33:01
你对这两台设备的通信方式非常模糊,所以我假设你使用的微芯片(或其他什么)有某种接口,它会接收数字脉冲,并将它们存储在内存中的某个固定地址中。如果是这样的话,您可以创建两个函数:
send_data(char data),将发送另一台机器,datareceive_data(),将获得最近发送的数据字节。
然后,您可以使用C的预处理器:
#if SIMULATION
// Code for simulated data communication
#else
// Code for real data communication
#endif
void send_data(char data) {
#if SIMULATION
// Code for simulated data communication
#else
// Code for real data communication
#endif
}
char receive_data() {
#if SIMULATION
// Code for simulated data communication
#else
// Code for real data communication
#endif
}然后,在模拟程序时,只需使用gcc ... -D SIMULATION=1编译即可。
然后,您可以使用某种多线程多次启动main函数。这是我能想到的最简单的方法
https://stackoverflow.com/questions/72301033
复制相似问题