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

网站开发 .net满堂彩谁做的网站

网站开发 .net,满堂彩谁做的网站,重庆电子工程职业学院,游戏网站建设多少一、硬件连接 1.JQ8900引脚定义 通过阅读JQ8900的数据手册#xff0c;可以了解到驱动JQ8900有许多种方式#xff0c;IO驱动#xff0c;一线串口驱动#xff08;VPP#xff09;#xff0c;两线串口驱动#xff08;RX#xff0c;TX#xff09;#xff0c;这里我使用两…一、硬件连接 1.JQ8900引脚定义 通过阅读JQ8900的数据手册可以了解到驱动JQ8900有许多种方式IO驱动一线串口驱动VPP两线串口驱动RXTX这里我使用两线串口驱动。所以我需要连接到XR806开发板的一组串口上。 2.XR806开发板串口 通过查阅手册可以知道XR806有3组串口 我选择串口1进行通信也就是PB14PB15引脚。 3.开发板和模块连接 我们只需要将开发板的PB15引脚接到JQ8900模块的TX引脚开发板的PB14引脚接到JQ8900模块的RX引脚。 二、软件编写 1.程序思路 通过串口1驱动JQ8900模块播放音乐通过XR806的按键去控制音乐的切换播放暂停上一曲下一曲停止等每按下一次按键XR806板载LED就会进行一次取反操作用来显示按键按下效果。 2.创建工程结构 目录结构如下面红框所示。 3.编写代码 1.key.h #ifndef _KEY_H #define _KEY_H#define GPIO_ID_PA11 11 #define GPIO_ID_PA21 21extern uint8_t key_status ; extern uint8_t key_value;void key_init(void); void key_scan(void);#endif2.key.c #include stdio.h #include ohos_init.h // #include kernel/os/os.h #include iot_gpio.h // #include key.huint8_t key_status 1; uint8_t key_value 0;void key_init(void) {printf(key test start\r\n);IoTGpioInit(GPIO_ID_PA11); // 初始化IO口io口复位为悬空输入IoTGpioSetDir(GPIO_ID_PA11, IOT_GPIO_DIR_IN); IoTGpioInit(GPIO_ID_PA21); // 初始化IO口io口复位为悬空输入IoTGpioSetDir(GPIO_ID_PA21, IOT_GPIO_DIR_OUT); // 设置IO口为输出模式}void key_scan(void) {uint8_t keyVal 1;uint8_t ledVal 0;IoTGpioGetInputVal(GPIO_ID_PA11,keyVal);// printf(keyVal:%d\r\n,keyVal);if(keyVal 0){OS_MSleep(10);IoTGpioGetInputVal(GPIO_ID_PA11,keyVal);if(keyVal 0){key_status 1;key_value ;if(key_status 5)key_value 1;// 按键执行操作IoTGpioGetOutputVal(GPIO_ID_PA21,ledVal);// printf(ledVal:%d\r\n,ledVal);if(ledVal 1){IoTGpioSetOutputVal(GPIO_ID_PA21, 0); // printf( set 0\r\n); }else{IoTGpioSetOutputVal(GPIO_ID_PA21, 1); // printf( set 1\r\n);}// IoTGpioGetOutputVal(GPIO_ID_PA21,ledVal);// printf(ledVal set after:%d\r\n,ledVal);while(keyVal 0){IoTGpioGetInputVal(GPIO_ID_PA11,keyVal);}}} }3.JQ8900.h #ifndef _JQ8900_H #define _JQ8900_Hextern const uint8_t play_Buffer[4]; extern const uint8_t pause_Buffer[4]; extern const uint8_t stop_Buffer[4]; extern const uint8_t previous_Buffer[4]; extern const uint8_t next_Buffer[4];#endif 4.JQ8900.c #include stdio.h #include ohos_init.h // #include kernel/os/os.h #include string.h #include driver/chip/hal_uart.h #include JQ8900.h#define UARTID UART1_ID/* 音量为0-30级 上电默认为20 */ uint8_t JQ8900Volume 20; const uint8_t play_Buffer[4] {0xAA,0x02,0x00,0xAC}; const uint8_t pause_Buffer[4] {0xAA,0x03,0x00,0xAD}; const uint8_t stop_Buffer[4] {0xAA,0x04,0x00,0xAE}; const uint8_t previous_Buffer[4] {0xAA,0x05,0x00,0xAF}; const uint8_t next_Buffer[4] {0xAA,0x06,0x00,0xB0}; /* 其他命令请查看数据手册*//* 串口发送一个字节 */ void JQ8900_SendChar(char val) {HAL_UART_Transmit_Poll(UARTID, (uint8_t *)val, 1); } 5.main.c #include stdio.h #include ohos_init.h // #include kernel/os/os.h #include iot_gpio.h // #include string.h #include driver/chip/hal_uart.h #include key.h #include JQ8900.h#define UARTID UART1_IDstatic OS_Thread_t g_main_thread;static int uart_init(void) {HAL_Status status HAL_ERROR;UART_InitParam param;param.baudRate 9600; // 波特率为9600param.dataBits UART_DATA_BITS_8;param.stopBits UART_STOP_BITS_1;param.parity UART_PARITY_NONE;param.isAutoHwFlowCtrl 0;status HAL_UART_Init(UARTID, param);if (status ! HAL_OK)printf(uart init error %d\n, status);return status; }static void MainThread(void *arg) {key_init(); uart_init();printf(you can connect to uart1 serial com.\n);printf(uart%d used for echo.\n, UARTID);while (1) {key_scan();if(key_status 1){ // 按键按下可以进行操作key_status 0;switch(key_value){case 0:HAL_UART_Transmit_Poll(UARTID, (uint8_t *)play_Buffer, 4);break;case 1:HAL_UART_Transmit_Poll(UARTID, (uint8_t *)pause_Buffer, 4);break;case 2:HAL_UART_Transmit_Poll(UARTID, (uint8_t *)play_Buffer, 4);break;case 3:HAL_UART_Transmit_Poll(UARTID, (uint8_t *)previous_Buffer, 4);break;case 4:HAL_UART_Transmit_Poll(UARTID, (uint8_t *)next_Buffer, 4);break;} }} }void UARTMain(void) {printf(UART Test Start\n);if (OS_ThreadCreate(g_main_thread, MainThread, MainThread, NULL,OS_THREAD_PRIO_APP, 4 * 1024) ! OS_OK) {printf([ERR] Create MainThread Failed\n);} }SYS_RUN(UARTMain); // Harmony线程入口 6.BUILD.gn import(//device/xradio/xr806/liteos_m/config.gni)static_library(app_uart) {configs []sources [src/main.c,src/JQ8900.c,src/key.c,]cflags board_cflagsinclude_dirs board_include_dirsinclude_dirs [//kernel/liteos_m/kernel/arch/include,include,//base/iot_hardware/peripheral/interfaces/kits,]}7.修改ohosdemo/BUILD.gn 三、编译下载。 下载过程我就不写了可以去看上一篇文章。 四、效果 1.终端输出 2.视频展示 视频链接
http://www.zqtcl.cn/news/938278/

相关文章:

  • 做网站 对方传销廊坊网站备案
  • 1688网站链接图片怎么做wordpress 饭店主题
  • 人事怎么做招聘网站比对分析教育机构网站开发
  • 抚顺市+网站建设做网站用apache还是nginx
  • 群晖ds216j能否做网站百度收录官网
  • 白银市建设局网站网站设计规划的一般流程
  • 佛山网站建设企划动力新兴县城乡建设局网站
  • 软件开发 网页设计网站网页游戏链接大全
  • 网站建设犭金手指a15做校园网站 怎么备案
  • 淘客网站怎么做排名百度指数里的资讯指数是什么
  • 泰州网站开发网站建设个可行性研究
  • 网站ipv6改造怎么做 网页代码网页游戏在线玩链接
  • 做网站和优化学校asp网站
  • 佛山正规网站建设哪家好合肥专业网站优化价格
  • 华容网站免费ppt模板下载医学类
  • 网站注册申请艺术风格网站
  • 怎么上国外购物网站网站毕业作品代做
  • wordpress 描述字段seo排名技术教程
  • 重庆seo网站建设wordpress评论邮件插件
  • 企业网站模板下载网站模板下载做一个购物商城网站多少钱
  • 网站开发有哪些服务推荐电子商务网站建设
  • 网站交互技术网站框架类型
  • 国内网站建设公司top20对软件开发的理解和认识
  • 一键生成网站前端开发用什么语言
  • pc 网站建设苏州seo网站诊断
  • 江苏盐城建筑公司网站seo专员的工作内容
  • 做网站内容腾讯云wordpress教程
  • 如何建设 linux 网站旅游区网站开发
  • 云南网站设计哪家好wordpress 右边栏
  • 服务器网站部署端口配置网站,商城,app+建设