当前位置: 首页 > news >正文

seo站长平台wordpress重装

seo站长平台,wordpress重装,国外 设计网站,网络营销的发展现状及趋势1、设计目的 山景提供的SDK是蓝牙音箱demo#xff0c;用户使用ADC按键或者IR遥控器#xff0c;进行人机交互。然而现实很多场景#xff0c;需要和单片机通信#xff0c;不管是ADC按键或者IR接口都不适合和单片机通信。这里设计个AT指令用来和BP1048通信。AT指令如下图所示…   1、设计目的  山景提供的SDK是蓝牙音箱demo用户使用ADC按键或者IR遥控器进行人机交互。然而现实很多场景需要和单片机通信不管是ADC按键或者IR接口都不适合和单片机通信。这里设计个AT指令用来和BP1048通信。AT指令如下图所示为控制指令。 设计AT指令集 指令功能ATCA指定音量ATCB播放和暂停ATCC下一曲ATCD上一曲ATCE音量ATCF音量-ATCG蓝牙是否开启后台ATCJ单曲播放 循环顺序播放ATCK蓝牙自动后台ATCN提示音ATCP此指令是设置上电自动进入模式ATCQEQ 设置ATCR设置自动回传功能ATCT设置波特率ATCM切换模式ATCU静音ATCZ芯片复位ATAA播放模式ATAC指定播放模式ATBA接挂电话控制指令 返回消息包括 M10000000E当前设备播放的文件为0x0EM20000000F当前设备的文件总数是0x0F注意是合法的音频文件MT0000001E当前文件的总时间为0x1E 秒MK00000004当前文件已经播放到了0x04秒MFXXXXXXX当前播放的文件的名称是xxxxxx。这里文件名是完整的 上述指令基本能覆盖大部分需求。 2、移植AT指令引擎 a、在SDK中添加AT组件 b、在RTOS系统中添加一个AT处理任务服务 at_task程序如下所示 #include string.h #include type.h #include app_config.h #include rtos_api.h #include app_message.h #include debug.h #include at_task.h #include uarts.h #include uarts_interface.h #include AT_command.h #include irqn.h #include task.h #include timers.h #include FreeRTOS.h #include timer.h #include timeout.h #include mode_task.h #include bt_play_mode.h#define AT_APP_TASK_STACK_SIZE 1024 // 512//1024#define AT_APP_TASK_PRIO 3TIMER TimerOut; // xTaskHandle taskAtHandle;static uint8_t timeLockFlag 0;ATAppContext AtAppCt;#define UART_RX_LEN 256 #define UART_TX_LEN 300/**\brief*/ typedef struct {uint8_t buff[UART_RX_LEN];uint16_t lenth;uint8_t flag;uint8_t busy;uint8_t u8RxCnt; } UART_STRUCT;static UART_STRUCT AtRxBuf;uint8_t AtTxBuff[UART_TX_LEN] {0};static void AtAppInit(void);static void AtTaskEntrance(void *param) {MessageContext msg;while (1){MessageRecv(AtAppCt.msgHandle, msg, AT_APP_MSG_TIMEOUT);if(msg.msgId ! MSG_NONE){switch(msg.msgId){case MSG_AT_UDISK_SONG_ALL_MSG:{AT_PPRINTF(\n);sprintf( AtTxBuff, M1%08X\r\n,AtAppCt.gMediaPlayer-CurFileIndex ); //当前索引AT_PPRINTF(AtTxBuff);vTaskDelay(1);sprintf( AtTxBuff, M2%08X\r\n,AtAppCt.gMediaPlayer-TotalFileSumInDisk ); //当前设备文件总数AT_PPRINTF(AtTxBuff);vTaskDelay(1);sprintf( AtTxBuff, MK%08X\r\n,AtAppCt.gMediaPlayer-CurPlayTime ); //当前播放时间AT_PPRINTF(AtTxBuff);sprintf( AtTxBuff, MF%s\r\n,AtAppCt.gMediaPlayer-file_longname ); //当前播放时间AT_PPRINTF(AtTxBuff);}break;case MSG_AT_UDISK_SONG_SIGNAL_MSG:{AT_PPRINTF(\n);sprintf( AtTxBuff, M1%08X\r\n,AtAppCt.gMediaPlayer-CurFileIndex ); //当前索引AT_PPRINTF(AtTxBuff);vTaskDelay(1);sprintf( AtTxBuff, M2%08X\r\n,AtAppCt.gMediaPlayer-TotalFileSumInDisk ); //当前设备文件总数AT_PPRINTF(AtTxBuff);vTaskDelay(1);sprintf( AtTxBuff, MK%08X\r\n,AtAppCt.gMediaPlayer-CurPlayTime ); //当前播放时间AT_PPRINTF(AtTxBuff);sprintf( AtTxBuff, MF%s\r\n,AtAppCt.gMediaPlayer-file_longname ); //当前播放时间AT_PPRINTF(AtTxBuff);}break;case MSG_AT_MODE_CON_BTAUDIO_IDEL_MSG: //蓝牙空闲模式{AT_PPRINTF(\n);sprintf( AtTxBuff, TS01\r\n); //蓝牙模式AT_PPRINTF(AtTxBuff);sprintf( AtTxBuff, QM01\r\n); //蓝牙模式AT_PPRINTF(AtTxBuff);}break;case MSG_AT_MODE_CON_BTAUDIO_PLAYING_MSG: //蓝牙模式{AT_PPRINTF(\n);sprintf( AtTxBuff, TS02\r\n); //蓝牙播放音乐AT_PPRINTF(AtTxBuff);SysModeEnter(ModeBtAudioPlay);}break;case MSG_AT_MODE_CON_BTAUDIO_SUSPEND_MSG: //挂起蓝牙{AT_PPRINTF(\n);sprintf( AtTxBuff, TS01\r\n); //蓝牙模式AT_PPRINTF(AtTxBuff);}break;case MSG_AT_MODE_CON_UDISK_MSG: //U盘模式{AT_PPRINTF(\n);sprintf( AtTxBuff, MU01\r\n); //U盘插入AT_PPRINTF(AtTxBuff);sprintf( AtTxBuff, QM02\r\n); //U盘模式AT_PPRINTF(AtTxBuff);AtStackServiceMsgSend(MSG_AT_UDISK_SONG_SIGNAL_MSG);//发送切换歌曲指令}break;case MSG_AT_MODE_CON_UDISK_OUT_MSG: //拔出U盘{AT_PPRINTF(\n);sprintf( AtTxBuff, MU02\r\n); //U盘拔出AT_PPRINTF(AtTxBuff);sprintf( AtTxBuff, QM01\r\n); //蓝牙模式AT_PPRINTF(AtTxBuff);SysModeEnter(ModeBtAudioPlay);}break;case MSG_AT_MODE_CON_AUX_MSG: //AUX模式{AT_PPRINTF(\n);sprintf( AtTxBuff, QM05\r\n); //U盘模式AT_PPRINTF(AtTxBuff);SysModeEnter(ModeLineAudioPlay);}break;case MSG_AT_MODE_CON_IDEL_MSG: //空闲模式{AT_PPRINTF(\n);sprintf( AtTxBuff, QM00\r\n); //U盘模式AT_PPRINTF(AtTxBuff);}break;}}if (timeLockFlag 0 IsTimeOut(TimerOut)){timeLockFlag 1;AtRxBuf.buff[AtRxBuf.u8RxCnt] 0;AT_CMD_Process(AtRxBuf.buff, AtRxBuf.u8RxCnt);AtRxBuf.u8RxCnt 0;}} }static void AtUartReceive(void) {AT_CMD_Process(AtRxBuf.buff, AtRxBuf.u8RxCnt); }/***************************************************************************************** APIs**/ int32_t AtAppTaskStart(void) {AtAppInit();APP_DBG(AtTask Create\n);TimeOutSet(TimerOut, 20);xTaskCreate(AtTaskEntrance, AtApp, AT_APP_TASK_STACK_SIZE, NULL, AT_APP_TASK_PRIO, taskAtHandle); }static void AtAppInit(void) {memset(AtAppCt, 0, sizeof(ATAppContext));AtAppCt.msgHandle MessageRegister(AT_NUM_MESSAGE_QUEUE); }void AtStackServiceMsgSend(uint16_t msgId) {MessageContext msgSend;msgSend.msgId msgId;MessageSend(AtAppCt.msgHandle, msgSend);}在主任务中启动at_task任务 3、运行调试 可以看出AT指令任务已经运行。
http://www.w-s-a.com/news/335238/

相关文章:

  • 手机网站焦点图在线外链推广
  • 做静态页面的网站中国建设银行河南省分行网站
  • 镇平县两学一做专题网站佛山家居网站全网营销
  • 做网站的需求wordpress图片怎么居中
  • 网站开发的技术流程图抖音seo排名优化软件
  • dedecms做电商网站得物app官方下载安装
  • python做网站教程微网站 举例
  • 百度喜欢什么样的网站如何引用网站上的资料做文献
  • 如何给网站添加网站地图军刀seo
  • 模板网站开发推广陈村大良网站建设
  • 建设工程网站单位名单广州微信网站建设效果
  • 网站开发选择框代码字节小程序开发教程
  • 杭州网站设计精选柚v米科技免费的简历制作
  • 网站域名 没有续费做外贸怎样上外国网站
  • 购物网站功能模块设计电子工程网站有哪些
  • 网站营销公司哪家好wordpress主题 破解主题
  • 做网站就是做服务中国效能建设网站
  • 唐河企业网站制作怎么样抖音seo排名软件哪个好
  • 做棋牌网站团队wordpress无限加载
  • 思创医惠网站建设微网站是手机网站吗
  • 宁波海曙网站建设市场营销管理
  • 网站被降权了怎么办做网站网页维护手机App开发
  • 营销型网站建设熊掌号tomcat 网站开发
  • 东莞网站建设seo广州 flash 网站
  • js网站评论框租房网站那些地图区域统计怎么做的
  • 企业门户网站平台建设招标采购文件长沙做网站找哪家好
  • 关于实验室建设的英文网站图文分销系统开发
  • wordpress 媒体库管理自己的网站什么做优化
  • 网站建设基本流程价格厦门seo网站推广
  • 辽宁响应式网站建设价格企业所得税率