头像-220384

xietaigao

  • 山东省淄博市
  • 本科
  • 单片机 嵌入式

个人成就

获得 9 次赞

帮助过70人

有没有什么高效的把整型转成浮点型的方式

直接使用强制类型转换吧

arduino做平衡小车使用什么开发板比较好

用stm32吧,功能强大,够用了

如何让按键消抖?

可以参考一下这个程序,思路都一样,都是通过延时的方式排除干扰,因为如果是干扰的话,时间都特别短#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 sbit key1=P3^4; //定义按键位置 sbit key2=P3^5; sbit key3=P3^6; sbit key4=P3^7; sbit LED1=P1^0; sbit LED2=P1^1; sbit LED3=P1^2; sbit LED4=P1^3; /*------------------------------------------------ 延时子程序 ------------------------------------------------*/ void delay(unsigned int cnt) { while(--cnt); } /*------------------------------------------------ 主函数 ------------------------------------------------*/ main() { while(1) { if(!key1) { //按下相应的按键,led亮起 delay(1000); if(!key1) { LED1=0; } } if(!key2) { //按下相应的按键,led亮起 delay(1000);//去抖动 if(!key2) //检测按键确实按下,进行按键处理 { LED2=0; //这里可以添加按键按下所需要的操作,如数据加减乘除,蜂鸣器等设备开关 } } if(!key3) { //按下相应的按键,led亮起 delay(1000); if(!key3) { LED3=0; } } if(!key4) { //按下相应的按键,led亮起 delay(1000); if(!key4) { LED4=0; } } } }

这个状态机怎么理解?

sorry,没有宏定义,枚举类型枚举变量未赋初值,其默认的值是0,后面的依次加1。所以​KeySureDown=1 ,OnceKeyDown=2,ContiousKeyDown=3,state的值在switch里面被赋值了,而state的初始化值是NoKeyDown​,所以第一次必然执行第一个case

这个状态机怎么理解?

KeySureDown ,OnceKeyDown,ContiousKeyDown是枚举类型,头文件里应该有宏定义,仔细看看,state是和switch语句里的case后面的常量比较的啊,如果相等则执行后面的语句,直到遇到break,continue,或switch末尾才退出

玩了一个多月的32mini板感觉什么都不会啊,是不是方法不对

当然有牛人指导一下做些项目啥的效率会快很多

玩了一个多月的32mini板感觉什么都不会啊,是不是方法不对

先参考别人代码然后自己写一下,做出来就会有成就感,就有兴趣了

玩了一个多月的32mini板感觉什么都不会啊,是不是方法不对

多敲代码,多看看别人的程序,最好每天抽点时间学习一下,不然很快就忘了。还有注意效率问题,刚开始不会的肯定很多,实在不会不要卡在哪里,跳过以后回头看慢慢就明白了,这样效率高,到后期学习也比较有针对性。