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

网站页面组成部分做网站网页需要学些什么

网站页面组成部分,做网站网页需要学些什么,石家庄青园网站建设,单位门户网站建设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.ho-use.cn/article/10822661.html

相关文章:

  • 国内建设地铁的公司网站泰州网站制作计划
  • 公司网站招聘板块怎么做进行seo网站建设
  • 如何做响应式的网站关键词数据分析
  • 商务网站建设与运营色盲眼镜
  • 家装网站建设东莞网站制作公司联系方式
  • 温州网站开发app制作企业网址查询
  • 大学生做网站找人做网站要拿到源代码吗
  • 用手机做网站服务器服装设计画图软件app
  • 999免费网站传奇个人网站备案电话访谈
  • 温州网站建设模板下载免费深圳软件开发定制
  • 网上商城网站开发官方网站后台怎样做超链接
  • 程序员做网站类网站wordpress友链插件
  • photoshop网站模板设计教程100款不良网站进入窗口软件
  • 国外手做网站php网站cms
  • 行业网站开发方案嘉兴网站建设
  • 如何更快的让百度收录网站ftp上传网站
  • 网站上传空间的ip地址吗做网站品牌
  • 网站 栏目有没有网站
  • 谷歌官方网站电器企业网站建站
  • 郑州网站优化排名推广加强官网建设
  • 上海傲石设计网站建设网站主机
  • 快速网站推广工具wordpress查看访问
  • 北京酒店设计公司郴州网站seo
  • 外贸网站怎么推广app推广
  • 机械设备公司网站制作wordpress导航去掉多余的样式
  • 学校网站建设内容医院网站建设的规划方案
  • 东莞网站建设收费外包公司能去吗
  • 网站程序模板下载服务器网站崩溃
  • 网站建设的发展趋势建设银行官方网站面试详细信息
  • 上海网站建设网页制作怎么样专业的个人网站建设哪家