Cypress技术论坛
直播中

张玉梅

8年用户 180经验值
私信 关注
[问答]

按下SW1或SW2时启动/停止回路失败

我目前的工作对董事会由一位教授在我的大学cy8c29466-24pxi采用单片机设计,该板控制12个电机(8位12系列PWM),有4个LED,2个开关和1液晶显示。
到目前为止,使用¨PWM我在一直线上,但没有控制机器人行走,它开始步行板和电源都在,所以我需要用两个开关来启动和停止运动的机器人,和我们想用每一个动作,但我不知道何W将按钮操作的框图和主要的C代码。
另外,我已经安排led_1和led_2端口分别p1_2和p1_3,但是当我尝试启动他们的主,他们不出现,我开始写“led_1_start();“但是代码助手不显示任何LED连接。
事先感谢任何有帮助的人。
PCATURA1.PNG
104.3 K

回帖(11)

王琳

2019-9-9 12:17:15
欢迎来到论坛!
发布完整的项目总是明智的,这样我们就可以查看所有的设置。要做到这一点,请使用Designer-& Gt;file & gt;存档项目(最小值)并附加生成的.zip文件。鲍勃
举报

张玉梅

2019-9-9 12:33:18
就在这里!
Fab2.RAR
697.9 K
举报

王琳

2019-9-9 12:44:55
我使用最新的设计师5.4、led_1_start()在代码完成显示(你关掉它吗?)
程序代码看起来有点非结构化,最好使用自己编写的delay()函数代替重复的代码行。更好的是使用一个计时器,因为程序可以做不同的事情直到定时器中断。
当你写一个函数,进行机器人的一个步骤,它会更容易启动和停止它的一个按钮。
鲍勃
举报

张玉梅

2019-9-9 12:57:11
现在我可以开始编程LeD1和LeD2,这可能是因为我后来没有编译代码,谢谢。
关于延迟,我正在写这些方法:
无效DelaySimple(空){
对于(i=0;i<=30000;i++){}
}
无效DelayLong(空){
对于(i=0;i<=30000;i++){}
对于(i=0;i<=30000;i++){}
对于(i=0;i<=30000;i++){}
}
然后使用它们:
PWM8Y4X书写宽度(11);
DelaySimple();
PWM8Y5X书写宽度(17);
DelaySimple();
PWM8Y7X书写宽度(17);
DelaySimple();
这是我的错误和38个警告,你能告诉我为什么吗?我以前只在Java上编写过代码,而在空方法中没有返回。
FAB21.RAR
611.9 K
举报

更多回帖

发帖
×
20
完善资料,
赚取积分