完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有20个输出是由PIC32 MZ2048 EFM144控制。我在一个特定的序列中打开和关闭它们在一个大约1kHz的定时器ISR中。每个期望的输出应该是固定的方波。我遇到的问题是,11个输出正像预期的那样以一致的完美方波工作,但是其他9个输出则不能始终如一地工作。对于不能正常工作的9,它们正在进行它们应该进行的转换,但是在3uS之后,它们将恢复到以前的状态,直到下一个转换(或2或3个转换)。范围输出的图片附有“工作”波形顶部和非工作在底部。它发生在高和低转变。当他们在做的时候,我无法发现任何模式,但是在10个到1个30个转变中大约有1个。所有20个代码都是相同的,它们都是以相同方式初始化的。我用门闩把它们打开或关上。所有20个设备的硬件也是一样的,似乎是由端口来工作的。端口B有7个7工作,端口F有2的2工作,C端口有2的2工作。D端口有0个7的工作,端口G有0个1,端口J是1的0。在11个工作中,9个是模拟能力引脚(设置为数字模式)。在9个不工作的引脚中,只有1个是具有模拟能力的引脚(也设置为数字模式)。工作引脚:B6、B9、B10、B11、B12、B14、B15、C13、C14、F0、F1、非工作引脚:D4、D6、D7、D9、D12、D13、D14、G13、J10它驱动着我。我错过了什么?谢谢,赖安
|
|
相关推荐
6个回答
|
|
因为您没有提供任何代码,所以假设它是硬件问题。事实上是这样。它最有可能是一个读修改写问题。问题是哪一个。把你写在锁存器或端口上了吗?你的写作怎么样?直接登记?图书馆的电话?Y集和Y清除寄存器?
|
|
|
|
谢谢你的快速回复。我将尝试用一个简化的代码重新创建这个问题,这样我就可以在这里发布它。我正在写定时器中断中的LATX。LADD6,LATD6=1;
|
|
|
|
谢谢你们的输入。我仔细检查了一下,所有的PPS都正确地设置为Harmony。是的,最高优先级编号的中断(最高优先级编号是最高优先级,对吗?是写lat的那个。它可能正在进行另外3个低优先级编号的中断,但它们不改变LAT,并且lat不从主控制环路改变。对于嵌套的中断情况,我需要做些什么不同的事情吗?有一个从高优先级ISR读取和设置的易失性变量。我创建了一个新项目来发布这里,它使用相同的和声配置,并且代码的简化版本只有一个中断,但是问题不存在。我猜这排除了硬件和协调配置的可能性。下面是实际项目中ISR的简化版本,仍然导致问题:再次感谢您的帮助。
|
|
|
|
如果PORTB或PORTJ被写入到较低优先级中断,或者主循环,则不能使用ObjtButsOrjJBIT。必须使用SET、IV和CLR寄存器。(我忘了XC32的名字)那些寄存器方便地没有位字段(暗示到微芯片)。你需要自己做或者问问他们。看看是否有帮助。你可以说这在PIC10-24中是可行的,那些会有位Opcode,MIPS没有。手术不是原子的
|
|
|
|
一旦从一个中断进行所有更改,并且改变LAT的过程不能被其他ISR中断,就可以了。但是,最好还是使用SET和CLR寄存器。不是:你可以做,而是你可以做。这些是原子操作,在某种意义上,中断不能在操作中间发生。
|
|
|
|
你们真是棒极了。这似乎是问题所在,为什么这个问题会出现在港口的基础上。我需要清除整个应用程序中的锁存器。看起来我知道接下来几天我在做什么,再次感谢。
|
|
|
|
只有小组成员才能发言,加入小组>>
5212 浏览 9 评论
2020 浏览 8 评论
1944 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3193 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2246 浏览 5 评论
763浏览 1评论
647浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
567浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
661浏览 0评论
558浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-12 17:24 , Processed in 1.710903 second(s), Total 89, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号