上位机一般是用来配置参数、接收并显示机器发送的数据。单纯用C++开发出来的界面用户体验不好,如果只是课程实验、上位机功能简单,也可以用C++开发。写好菜单及对应的函数就可以了。可视化界面开发的话,可以使用MFC、C#或者Qt,推荐使用Qt进行开发。
上位机和下位机的通信是关键,如果没有封装好的通信协议库,就需要使用tcp或者udp自己开发(学习网络编程相关知识)。