110
2223
5464
版主
huatl*** 发表于 2024-10-9 10:08 感觉这一部分有点问题,为什么if执行不了呢 if(P_CNT < 1) {
使用道具 举报 送花
6
104
351
中级会员
王昱顺 发表于 2024-10-9 10:17 你这部分中,PCNT只有第一次等于0的时候进入了一次。 然后就一直卡在下面这个>=1的判断里面循环了,你加 ...
huatl*** 发表于 2024-10-9 11:51 因为只需要他转一圈,执行一次,到达一圈角度后,即使再按着也不会转动,所以加了这些 ...
王*** 发表于 2024-10-9 12:04 那你的停止不应该加在这里,应该找一个90°达到的标志,然后给关上
huatl*** 发表于 2024-10-9 14:16 问题就在这里?怎么知道90°到达了呢
if (M1_PulseCnt != 0) // 总脉冲数非0减1 { if (--M1_PulseCnt == 0) { B_M1_RunEn = 0; PWMA_ENO = 0x00;//关闭输出 } }复制代码
王*** 发表于 2024-10-9 16:17 定时器内有对M1_PulseCnt的自减处理。所以,在设定好脉冲数量后,判断M1_PulseCnt是否为0就可以得知此 ...
huatl*** 发表于 2024-10-10 09:10 但是加了这个后,到达90度的确停了,但是我释放按键后,他也不动了,也不回零了 ...
王*** 发表于 2024-10-10 09:28 那你可以尝试再将RunMotor1()中的这四条被注释掉的语句解开 以便在下次启动的时候恢复输出 ...
IMG_8959.MP4
2024-10-10 11:57 上传
点击文件名下载附件
6.61 MB, 下载次数: 119
本版积分规则 发表回复 回帖后跳转到最后一页
|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )
GMT+8, 2025-5-3 00:54 , Processed in 0.276681 second(s), 112 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.