完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我可以想到定时器1输入引脚的外部脉冲与其他外围设备共享,或不设置为数字(检查ANSEL或类似的寄存器),甚至需要PPS…
|
|
|
|
我不得不将int更改为ASCII函数,因为它不起作用。但仍然没有结果来自Time1。关于你的答案,也许我错了,但我仍然不明白为什么我们看不到任何来自Time1注册的东西。我的意思是端口可能没有被正确配置,但是应该在这个寄存器中存储一些东西。例如,每次在主函数中执行while循环时,我都会重置这个寄存器,所以我不明白为什么在输出中看不到这个寄存器。你可以看到下面的新代码。
|
|
|
|
嗯,你说“不能在输出上看到这个”是什么意思?你没看见0吗?
|
|
|
|
不,终点站什么也没有。空,然后新的线(与CabaChans0x0a和0xd)。
|
|
|
|
我稍微修改了代码,但仍然不起作用。我禁止安塞尔输入我的数字,正如你所建议的,还有ODCA。现在更奇怪的是,如果我使计数器同步,并使用TMR1的初始值1,那么如果我使用0作为初始值,那么在终端上就可以看到1,而我什么也看不到。与以前一样,计数器仍然不工作(TMR1不递增)。我使用1MHz时钟作为输入。低于主要功能的变化:
|
|
|
|
所以看起来有两个独立的问题:脉冲的实际计数,以及显示例程遗漏了某些东西……嗯……实际上,现在我检查了它,如果要转换的数字是这样的,您的“转换”例程将不会输出任何内容。它需要一些改写,我建议您至少在调试阶段使用StaveFF()或ITOA.()。
|
|
|
|
我不能使用itoa或sprintf,尽管在我的程序中包含
|
|
|
|
我让它起作用了。问题在于输入电压小于5V。现在它工作的计数值与输入频率有线性增加,但不正确。例如,Time3计数为1ms,因此1MHz的信号应该产生1000个计数。相反,我有648个。所以似乎有一个时间问题。
|
|
|
|
好吧,也许你的回路没有等待1ms:你能再检查一下吗?在我看来,你最好依靠硬件计时器——更精确…
|
|
|
|
我来查一下。但这不是硬件计时器吗?我使用Time3来创建计数周期。
|
|
|
|
你的意思是在这里?我可能指的是你的拳头草稿,或者错过了这一部分。在这种情况下,嗯,是的,计数应该发生在固定和可预测的时间量上…(我的意思是排除在转换为ASCII、USART等所花费的时间的计数之外)
|
|
|
|
你好,达里奥,任务完成了。问题是两个计时器的同步化。我只改变了延迟功能,它工作完美。我现在能够数到15兆赫(我的频率发生器的极限)。非常感谢你的帮助。下面的代码:
|
|
|
|
哦,好吧,当然!那么好。
|
|
|
|
只有小组成员才能发言,加入小组>>
5160 浏览 9 评论
1998 浏览 8 评论
1927 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3170 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2225 浏览 5 评论
727浏览 1评论
612浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
501浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
626浏览 0评论
524浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 06:33 , Processed in 1.572620 second(s), Total 100, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号