兰讯芯片修改为进入蓝牙模式未连接的时候先闪20次

这个是一个案子修改的一个小细节,描述如下:进入蓝牙模式未连接的时候先闪20次,然后再进入配置的灯光,配置为连接手机成功,所有灯光熄灭;未成功连接手机,闪烁20次之后变成红蓝交替闪烁(注意:未闪烁满20次,连接手机之后也要熄灭),具体修改如下:

首先创建变量:bsp_sys.h下sys_cb1_t结构体中

	u8 open_orange_falg;//控制连接过程计数
	u8 orange_num_flag;//计数20次

之后就到蓝牙模式下的灯光控制:
func_bt.c中func_bt_status()下while(1)循环中:

if((sys_cb1.orange_num_flag < 20)&&(bt_get_status() < BT_STA_CONNECTED))
{//未连接的时候闪烁二十次
	if(sys_cb1.open_orange_falg < 50)//控制灯光闪烁频率变量在中断中控制
	{
		LED_SET_ON();
	}
	else
	{
		LED_SET_OFF();
	}
}
else//按照配置进行闪烁,此函数会调用硬件底层中断
	 func_bt_disp_status();

//其中 LED_SET_ON()、LED_SET_OFF()为config.h中配置
#define LED_SET_ON()      bled_func.set_on(&bled_gpio)
#define LED_SET_OFF()     bled_func.set_off(&bled_gpio)

之后就是中断中计时处理:
bsp_sys.c中usr_tmr5ms_isr()下:

//控制闪灯并计数
if((func_cb.sta == FUNC_BT)&&(sys_cb1.orange_num_flag < 20))
{
	sys_cb1.open_orange_falg++;//计时标志位+1
	if(sys_cb1.open_orange_falg == 50)
	{
		sys_cb1.orange_num_flag++;//闪烁标志位+1
	}
	else if(sys_cb1.open_orange_falg == 100)//控制计数循环
	{
		sys_cb1.open_orange_falg = 0;
	}
}
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值