一、红外解码
AC6905A所有的IO口都支持红外解码功能,在这里采用PB13作为红外接收脚
该管脚需要把以下宏定义清零。否则无法触发定时器下降沿捕获。(其他IO口待验证)并在ir_key_init()函数中指明红外接收脚。
SDMMC0_EN SD0使能
SDMMC1_EN SD1使能
USB_DISK_EN U盘使能
USB_PC_EN 电脑声卡使能
二、双绑定IO口
双绑定端口要设置为高阻态,使两个端口不会互相干扰。
` //----------双绑端口设置为高阻态---------------
JL_PORTA->DIR|=BIT(3)|BIT(4);
JL_PORTA->PU&=~(BIT(3)|BIT(4));
JL_PORTA->PD&=~(BIT(3)|BIT(4));
JL_PORTA->DIE|=BIT(3)|BIT(4);
JL_PORTC->DIR|=BIT(3);
JL_PORTC->PU&=~BIT(3);
JL_PORTC->PD&=~BIT(3);
JL_PORTC->DIE|=BIT(3);`
三 、串口重映射
使用USBDP和USBDM作为调试打印输出口,需要进行如下设置,并且把usb_2_io()函数注释掉,否则已经作为串口了又把它作为普通IO口,那就冲突了。
- 1、使用固定IO口作为串口
- 2使用任意IO口作为串口
在官方SDK下添加如下代码
四、GPIO口输入输出设置
JL_PORTB->DIR&=~(BIT(9)|BIT(10)|BIT(12)); //设置为输出
JL_PORTB->PU&=~(BIT(9)|BIT(10)|BIT(12)); //关闭上拉
JL_PORTB->PD&=~(BIT(9)|BIT(10)|BIT(12)); //关闭下拉
JL_PORTB->OUT|=BIT(10); //输出高电平
JL_PORTB->OUT&=~(BIT(9)|BIT(12)); //输出低电平
五、蓝牙协议栈消息处理
MSG_BT_PP 音乐播放暂停
MSG_BT_NEXT_FILE 下一曲
MSG_BT_PREV_FILE 上一曲
MSG_BT_ANSWER_CALL 接听电话
MSG_BT_CALL_LAST_NO 电话回拨
MSG_BT_CALL_REJECT 电话拒接
bt_key_deal.c-----调用os_taskq_post发送消息给MAINTASK,MAINTASK收到消息后进入低功耗,关闭所有IO口。
六、添加提示音
1.把音乐文件放到tone_resource文件夹中。
2.打开download.bat添加音乐文件名。
3.打开工程,在play_sel.h头文件中添加相应的宏定义,格式参考杰理已经定义的提示音。
4.在void user_ctrl_prompt_tone_play(u8 status,void ptr)函数中添加case 分支。
5.在文件中调用user_ctrl_prompt_tone_play(u8,void)函数播放提示音。
七、进入SLEEPMODE并设置唤醒口
这里登记的时候发现2次调用enter_sleep_mode_set()函数登记WAKEUP_8和WAKEUP13都可以唤醒AC6905A,实际调试发现无效,总是一个唤醒口有效,另一个唤醒口无法唤醒。这里我们要这样实现双唤醒口。