完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我试图读取6个ADC通道并执行一些算法,我的问题是主文件中的一些变量没有得到更新。当我试图在我的ADC.H文件中运行SaveTf函数时,还有一个问题:它重新启动控制器。
MIN .txt(14.29 KB)-下载36次LCD.TXT(2.32 KB)-下载39次 以上来自于百度翻译 以下为原文 I am trying to read 6 ADC channels and performing some algorithm on it, my problem is that some of the variable in main file is not getting update. One more problem when I am trying to run sprintf function in my ADC.h file it restart controller. Attachment(s) ADC.txt (9.09 KB) - downloaded 44 times main.txt (14.29 KB) - downloaded 36 times LCD.txt (2.32 KB) - downloaded 39 times |
|
相关推荐
3个回答
|
|
您只分配三个字节给SaveTFF()使用的缓冲区。现在,当数字大于99时,您就溢出了缓冲区。在中断服务中,我也将避免使用StastFF()。任何在ISR内部写入并在ISR外部读取的变量都必须用“易失性”限定符来标记。限定你所有固定字符串的限定符。没有这些,它们都被复制到RAM中。
以上来自于百度翻译 以下为原文 You are only allocating three bytes to the buffers used by sprintf(). You must allow for the terminating NULL as well. Right now you are overflowing the buffer every time the number is greater than 99. I would also avoid using sprintf() at all inside an interrupt service. Any variable that you write to inside an ISR, and read outside the ISR, must be marked with a "volatile" qualifier. You could save RAM by adding a "const" qualifier to all your fixed strings. Without that, they all get copied to RAM. |
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
5255 浏览 9 评论
2038 浏览 8 评论
1958 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3219 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2268 浏览 5 评论
792浏览 1评论
688浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
617浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
686浏览 0评论
586浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 16:46 , Processed in 1.525263 second(s), Total 56, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号
|