完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
这是驱动电机的函数void runnotor(unsigned char s)
{ time1Config();//定时器的一些设置,每过0.5ms timer1++ while(1) { if(timer1>100) //PWM周期为100*0.5ms { timer1=0; } if(timer1 < s) //改变“s”可改变速度 { PWM=1; } else { PWM=0; } } } 主函数 void main(void) { float tp; sign_auto=0; speed=50; runmotor(speed); while(1) { tp=Ds18b20ReadTemp();//读取的温度 realtemp=tp*0.0625*100+0.5; DigDisplayTemp(realtemp);//显示温度 Key_Scan();//扫描键盘 KeyNum=Key_Scan; switch(KeyNum) { case(0xFD):speed=40,sign_auto=0;break; case(0xFB):speed=70,sign_auto=0;break; case(0xF7):speed=99,sign_auto=0;break; case(0xFE):sign_auto=1;break; default:break; } if(sign_auto) speed=autospeed(realtemp); runmotor(speed); } } 还没成型的程序,如上在运行主函数时要采用while(1)死循环,但是驱动电机的函数里面也需要用这个死循环,这样的话程序就在电机那里出不来了,试过不采用调用驱动电机函数,直接把驱动电机的代码写入主函数中,但这样的话由于timer1的变化感觉PWM就没什么用了,也试过修改定时器的值,这样电机转一下停一下看起来很明显。现向论坛里来求助一下,如何在主函数中处理电机驱动函数,在此先谢过各位了! |
|
相关推荐
6 个讨论
|
|
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
331 浏览 0 评论
532 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
842 浏览 0 评论
1383 浏览 2 评论
824 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16919 浏览 31 评论
浏览过的版块 |
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 19:14 , Processed in 0.880265 second(s), Total 45, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖