完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在PIC 16F1823上运行一个实时应用程序;我有一个PWM输出不稳定的问题,所以我需要监视驱动PWM的错误循环。我看不到任何实时监控变量或将其转储到文件的方法,在调试环境中,有任何方法可以做到这一点,我曾考虑过将变量写入stdout,但是还没有弄清楚如何让printf与stdout.MPLAB X V3.20、ICD3、AC244043报头、targ一起工作ET设备16F1823,高科技C编译器。
|
|
相关推荐
10个回答
|
|
编译器手册告诉你如何为PutCh()创建函数,所以StdOUT工作。或者你可以安装和写入串口。我不确定实时监控。
|
|
|
|
嗨,其实有一个非常强大的调试板为您的PIC。它被称为仿真PAK。它支持PIC16F182x系列,你需要一个真正的冰。使用这个仿真包(AC244063),你将能够进行程序跟踪和数据跟踪。
|
|
|
|
真正的冰数据跟踪解决方案可能是最好的解决方案。但是,我非常肯定有一些吞吐量限制。(我也不清楚这些限制到底有什么可悲的):但基本上归结为设备、Real-Ice、USB电缆等等,因为系统每单位时间只能传送一定数量的数据。如果你正在运行一个超快的PWM波形,你可能会超出数据缓冲区并丢失一些数据。我不是说Real-Ice不能工作。(如果不愿意,什么也不会。)只是想让您知道,在为微芯片的旗舰工具支付$之前,需要考虑一些速度问题。与你的FAE或销售代表合作。
|
|
|
|
因此,如果不升级到RealICE和AC2444063,我就不能做更多的工作;这个项目的开销很大,因此需要仔细考虑。我确实在创建putch()函数的编译器手册中查找了相关信息,但是找不到对stdout有帮助的任何东西;它确实是gi给我使用UART的指导,但是这个应用没有用。
|
|
|
|
您配置要使用的串行端口。Pins,波特率,Ect。根据编译器规范创建一个函数calledputch()。它应该输出一个字符调用。编译器将处理Rest。Primff()将最终为每个字符调用一次()。您不需要对stdout做任何事情(XC16是,XC8否)您可以自己编写它,并避免printf()的大小和缓慢
|
|
|
|
嗨,所有将文本或数字转储到UART或USB到Hyper.,或任何微笑的监视工具在缓冲区大小和传输速度方面都有限制。如果涉及到一些关键的实时算法,任何诊断代码都会改变行为。在RAM为128字节的芯片中,有对于本地缓冲区来说空间很小。有时,当发生某些事情或某些不同的事情时,切换一些I/O引脚(如果您有备用的话),并用示波器或逻辑分析器进行观察可能有助于理解正在发生的事情。有时,让其他人查看代码可能有助于识别以下问题被忽视了,但也可能指出对解决当前问题没有帮助的习惯或潜在的错误。
|
|
|
|
绝对同意,像往常一样
|
|
|
|
我不想打印到串行端口或USB,我想在调试器输出上实时显示变量,这样我就可以捕获它;这是在调试系统的能力之外吗?
|
|
|
|
嗨,如果您真的想要运行时监视(非侵入式的),正如我上面提到的,您可以使用仿真扩展包AC244063http://www1.micro..com/downloads/en/DeviceDoc/50002243B.pdf(参见2.2节)。埃里加德
|
|
|
|
谢谢RISC,我想我得看看真正的ICE选项了。
|
|
|
|
只有小组成员才能发言,加入小组>>
5238 浏览 9 评论
2028 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3204 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
777浏览 1评论
666浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
595浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
676浏览 0评论
576浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 00:41 , Processed in 1.476488 second(s), Total 94, Slave 78 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号