第一步:打开VS2015,新建项目->模板->visual c++ ->MFC ->MDC DLL,然后输入项目的名字为svpwm,如图1所示:
![1fce4d6e4bf321578e4f5da52dd01b9d.png](https://i-blog.csdnimg.cn/blog_migrate/3cc2aa8c7b5e89f82b184403e77e39d5.jpeg)
第二步:点击确定->下一步->这里勾选 使用共享MFC DLL的规则 DLL(R),这里不勾选任何附加功能选项.->然后点击 完成,如图2所示:
![8f1ee5ecf3f7f22fea0f9ffaa6da2d3f.png](https://i-blog.csdnimg.cn/blog_migrate/4c5f23421653cf54b3655810e347949c.png)
第三步:创建好后,右侧如图3所示,这里VS2015自动给我们创建好了,一些头文件(预编译所用的)和源文件,注意别随意更改它们,我们要实现自己的控制算法,只需往源文件夹里创建.cpp源文件即可,如psim_control.cpp.如图3所示.
![7328cf64da5811ac58827684666a6a20.png](https://i-blog.csdnimg.cn/blog_migrate/aa25d0df3132fb1739b9702ae94fbb57.png)
往psim_control.cpp编写代买注意事项:
1.为避免编译时出错,把算法集中在一个.cpp文件里,如果为了实现代码的清晰和层次在多个.cpp里实现控制算法也行,但是容易编译出错,经常会报重复包含多个头文件的情况.
2.动态链接DLL文件在psim里运行,靠的是三个函数,SimulationBegin,SimulationEnd,以及SimulationStep,其中前两者不是必须的,最后的一个是必须使用的函数.所以在Psim_contol.cpp里只写SimulationStep函数也是可以的.
3.当控制算法编写完成后,需要往源文件里的.def里写函数导出,一般我们导出的函数是SimulationBegin,SimulationEnd,以及SimulationStep.这样我们的生成的.dll文件才包含有上述的三个函数的功能.其实导出函数总共有三类常用的方法,这里我就介绍自己比较常用的了.
VS2015调试环境配置:
1)64位环境配置
由于我使用的是64为的psim软件,然而vs2015生成的是32的.dll文件,不能在我的64位的psim中使用,因此需要将我的VS2015调试环境配置一下.
1.在右侧解决方案资源管理器窗口中,右键我们刚才创建的svpwm项目方案
![3c6e43903b1e70ed6d0b35e1e97e3604.png](https://i-blog.csdnimg.cn/blog_migrate/d53cd61592cd5d5aaae94f0cff429841.png)
2.点击属性->配置属性->配置管理器
![c492499bb56bb86fda45c9b5c26d53da.png](https://i-blog.csdnimg.cn/blog_migrate/dae61c0ba82e9b5d8f9c95aeddd1f50a.jpeg)
将解决方案平台选为64位的
![4578a5d6957f7cac9d2df40723bfeba9.png](https://i-blog.csdnimg.cn/blog_migrate/f851cb333d402494495217ce34f7c96f.png)
2)调试环境配置
![69bffa5bc3094c8c78cf1186da7bebdd.png](https://i-blog.csdnimg.cn/blog_migrate/aa36cf9998c7edff19dc6dc4c0df7827.jpeg)
之后在vs2015里设置断点即可调试.