普中精灵项目红外遥控风扇调速:3电机旋转失败

根据红外地址调

假设


#define ADD			0X90
#define MIN			0XA8
#define STOP		0XE0

参考示例程序,使用结构体,将红外地址与电机转速互相映射

typedef struct
{
	int l;
	u8 c;
}_sys_ctrl;
extern _sys_ctrl sys_ctrl;

初始化 

ST_Init(72);	
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //????????2?
	USART1_Init(115200);
	LED_Init();
  SMG_Init();
	Hwjs_Init();
	sys_ctrl.l=0;
	TIM3_CH2_PWM_Init(500,72-1);
	TIM_SetCompare2(TIM3,0); 

获得红外编码

if(hw_jsbz==1)
		{
			hw_jsbz=0;
		printf("ºìÍâ½ÓÊÕÂë %0.8X\r\n",hw_jsm);	//´òÓ¡
			sys_ctrl.c=hw_jsm>>8;
			hw_jsm=0;
		}

数码管显示L-sys_ctrl.l,L是00111000,0x38,-是01000000,0x40

buf[0]=0x38;
		buf[1]=0x40;
		buf[2]=gsmg_code[sys_ctrl.l];
		SMG_Display(buf,6);

切换等级

switch(sys_ctrl.c)
		{case ADD: sys_ctrl.l++;
			if(sys_ctrl.l>4)sys_ctrl.l=0;break;
		case MIN:sys_ctrl.l--;
			if(sys_ctrl.l<0)sys_ctrl.l=4;
			break;
		case STOP: sys_ctrl.l=0;	break;
		}
		

清除红外编码,使之准备下次操作

	sys_ctrl.c=0;

传给电机

TIM_SetCompare2(TIM3,sys_ctrl.l*124);

结果:失败,数码管正常,程序运行正常,但电机不转。/(ㄒoㄒ)/~~库😭😭😭😭😭😭😭😭😭

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值