打印
[学习资料]

Microchip Studio 7使用小技巧

[复制链接]
1917|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
新建项目建议用Start图形化工具来完成驱动配置。目前提供网页版在线方式,听说很快会有脱机版,我比较喜欢在AS7环境内新建,感觉步骤更少、更方便、更流畅。



使用特权

评论回复
沙发
烟雨蒙蒙520|  楼主 | 2023-10-29 00:39 | 只看该作者
配置完可以直接生成完整项目代码,如果中途想再次更改驱动或配置,可以随时按右侧的重新配置按钮。

使用特权

评论回复
板凳
烟雨蒙蒙520|  楼主 | 2023-10-29 00:39 | 只看该作者
生成的MCU的各外设驱动不会引用咋办?不用怕,可以打开项目中的Examples,里面有具体的实例,把它们弄到你的应用程序中就行,如果这个也不会,还是趁年轻多自己琢磨一会儿吧。

使用特权

评论回复
地板
烟雨蒙蒙520|  楼主 | 2023-10-29 00:39 | 只看该作者

使用特权

评论回复
5
烟雨蒙蒙520|  楼主 | 2023-10-29 00:39 | 只看该作者
在代码调试初期,建议部分功能选择 Simulator 功能跑一下,特别是与时序相关的。打开Processor Status对话窗口,设定好频率,配合断点,通过Stop Watch可以精确算出时间。

使用特权

评论回复
6
烟雨蒙蒙520|  楼主 | 2023-10-29 00:39 | 只看该作者

使用特权

评论回复
7
烟雨蒙蒙520|  楼主 | 2023-10-29 00:40 | 只看该作者
在调试过程中有时会发现,有些语句的断点设不进去,咋回事?

使用特权

评论回复
8
烟雨蒙蒙520|  楼主 | 2023-10-29 00:40 | 只看该作者

使用特权

评论回复
9
烟雨蒙蒙520|  楼主 | 2023-10-29 00:40 | 只看该作者
这一般是被C编译器给优化掉了,也就是说打不进断点的语句可能不会被执行了。这是不被**的!咋办?有些办法是可以来改善的。   

使用特权

评论回复
10
烟雨蒙蒙520|  楼主 | 2023-10-29 00:40 | 只看该作者
冲在最前面的笨方法是去掉C编译器的优化等级。断点基本都可以随处打了。

使用特权

评论回复
11
烟雨蒙蒙520|  楼主 | 2023-10-29 00:40 | 只看该作者

使用特权

评论回复
12
烟雨蒙蒙520|  楼主 | 2023-10-29 00:40 | 只看该作者
但其他的问题也随之而来,首先代码的空间“壮大”了。

使用特权

评论回复
13
烟雨蒙蒙520|  楼主 | 2023-10-29 00:40 | 只看该作者

使用特权

评论回复
14
烟雨蒙蒙520|  楼主 | 2023-10-29 00:40 | 只看该作者
其次运行速度也“龟速”了。作为一个产品来说成本也就会无形被提高了。

使用特权

评论回复
15
烟雨蒙蒙520|  楼主 | 2023-10-29 00:40 | 只看该作者

使用特权

评论回复
16
烟雨蒙蒙520|  楼主 | 2023-10-29 00:41 | 只看该作者
有没有办法来改进呢?肯定有、必须有!可以把需要严格时序的函数,单独把优化等级降低,生成库函数被项目调用(有兴趣可以自己先研究研究);也可以用下面一些简单的方法来改进。

使用特权

评论回复
17
烟雨蒙蒙520|  楼主 | 2023-10-29 00:41 | 只看该作者
. 在函数前增加static关键字。

使用特权

评论回复
18
烟雨蒙蒙520|  楼主 | 2023-10-29 00:41 | 只看该作者
对于一些打不了断点的 inline 定义的内嵌函数,可以通过GO按钮找到原始的语句,把它弄出来,编译试一试。

使用特权

评论回复
19
烟雨蒙蒙520|  楼主 | 2023-10-29 00:41 | 只看该作者
可以啦。代码空间又小,运行速度也快,各个语句也没被“**”掉。完美!

使用特权

评论回复
20
Undshing| | 2023-11-12 19:20 | 只看该作者
关掉优化会让程序变大啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

627

帖子

0

粉丝