90houyidai

  • 2022-06-24
  • 回复了主题帖: 活动入选名单公布:基于沁恒USB PD受电协议芯片CH224 DIY创意秀

    个人信息无误,确认可以完成活动计划

  • 2022-06-06
  • 加入了学习《2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍》,观看 1GHz 主频的单片机!

  • 回复了主题帖: 【平头哥RVB2601创意应用开发】+音乐频谱

    lugl4313820 发表于 2022-6-6 06:03 交完作业了,恭喜!
    前段时间疫情没心思搞,解封了赶工出来的,还是有好多问题的

  • 2022-06-05
  • 上传了资料: 【平头哥RVB2601创意应用开发】+音乐频谱

  • 发表了主题帖: 【平头哥RVB2601创意应用开发】+音乐频谱

    本帖最后由 90houyidai 于 2022-6-5 23:27 编辑       作品名称:【平头哥RVB2601创意应用开发】+音乐频谱                   作者:90houyidai                 项目背景               RVB2601采用平头哥低功耗,32位RISC-V玄铁E906处理器,搭载AliOS 物联网操作系统。RVB2601开发板板载JTAG 调试器,WiFi&BLE 芯片W800,音频ADC-ES7210,音频DAC-ES8156,128x64 OLED 屏幕,RGB 三色指示灯,用户按键,及兼容Arduino 的扩展接口。可应用于智慧家居、影音播控、电子玩具、环境监测、健康医疗、教育学习等领域。                 作品简介               本设计由RISC-V单片机CH2601、硅麦、音频ADC-ES7210、128x64 OLED 屏幕组成。通过板载硅麦拾取音乐音频,对音频信号进行FFT变换,对音频信号进行量化处理,然后将随音乐变化产生的不同频谱显示到OLED显示器上。                         系统框图               1、电源                           第一路从USB处获取电源,经DCDC转换成3.3V提供给CH2601和OLED屏幕;         第二路从USB处获取电源经BOOST电路转换为13V供OLED背光电路使用;         第三路将DCDC转换之后的3.3V电压通过LDO降压至1.2V供CH2601使用;         2、调试电路                 JTAG调试电路                 串口调试电路         3、时钟和复位电路                 4、屏幕接口电路                 5、ADC-ES7210电路                 6、硅麦电路                         软件处理流程                       本作品在官方GUI例程上移植完成,使用Lvgl的进度条控件完成频谱的显示,从CSI设备驱动中获取ADC采样数据,对采样的数据进行FFT变换后得到各频段幅值,然后分级量化显示到屏幕上                 视频及源码链接               https://v.youku.com/v_show/id_XNTg3NTkyODIxMg==.html     源码 https://download.eeworld.com.cn/detail/90houyidai/623792                   项目总结               感谢平头哥和EEworld提供这次体验risc-v单片机的机会,本次的主角CH2601确实比较适合IoT领域,配合aos能够事半功倍。只是CDK的编译速度和编译环境还需要更多的优化,对浮点运算的支持没有找到合适的介绍。         通过这次项目简单的入门了aos,同时对lvgl也有了进一步的了解,对于音频处理也多了一份理解。         分享的帖子         平头哥RVB2601创意应用开发】1、例程体验——音乐播放器                      

  • 2022-05-30
  • 加入了学习《平头哥RVB2601创意应用开发_LoRa网关无线上位机_sonicfirr》,观看 平头哥RVB2601创意应用开发_LoRa网关无线上位机_sonicfirr

  • 回复了主题帖: 【平头哥RVB2601创意应用开发】1、例程体验——音乐播放器

    nmg 发表于 2022-5-27 08:49 可以拍个播放成功的小视频,孤勇者 一会找找听听
    好的,我之后试试

  • 回复了主题帖: 【平头哥RVB2601创意应用开发】1、例程体验——音乐播放器

    freebsder 发表于 2022-5-27 17:59 孤勇者现在很流行呀。
    《爱你》也一样

  • 回复了主题帖: 【平头哥RVB2601创意应用开发】1、例程体验——音乐播放器

    Jacktang 发表于 2022-5-27 07:46 为什么还要参照player_demo里的read_me文档进行播放控制命令,,,
    因为不熟悉aos的命令

  • 2022-05-26
  • 发表了主题帖: 【平头哥RVB2601创意应用开发】1、例程体验——音乐播放器

    本帖最后由 90houyidai 于 2022-5-26 17:26 编辑 第一次使用RISC-V的芯片 按照《RVB2601 开发板快速上手手册》可以快速搭建开发环境 安装平头哥的CDK进行开发,简单容易上手   打开例程,我选择player_demo进行首次体验 app/src目录下有5个文件:分别是app_main.c、cli_cmd.c、exception_handler.c、init.c、player_demo.c app_main.c:为主文件,含有网络事件回调处理函数和mian入口函数 cli_cmd.c:命令行文件,注册控制台命令 exception_handler.c:网络错误时事件处理回调函数 init.c:初始化文件 player_demo.c:音频播放处理文件   使用例程时,首先需要将init.c文件中第36行,修改wifi-ssid和wifi-password netmgr_config_wifi(hdl, wifi_ssid, strlen(wifi_ssid), wifi_psw, strlen(wifi_psw)); wifi名称的字符长度和密码的字符长度也需要对应修改,此处坑了10分钟 接着就可以编译工程,并下载到FLASH中运行 第一次编译的时间有点长,需要耐心等待 Download到Flash后需要手动复位下板子,当然也可以到工程设置中将FLASH里的Reset and Run勾上 这样板卡会在Download结束后自动重启   打开串口助手,可以收到板子打印的log输出,显示是否链接上WiFi,链接成功之后会回显 wifi-ssid、psw、从无线路由获得的IP地址   首先选择平头哥的测试网站,进行PING测试,说明外网已经联通 然后参照player_demo里的read_me文档进行播放控制命令 最后一首孤勇者送给所有上海抗疫的人 player play https://music.163.com/song/media/outer/url?id=1901371647.mp3  

  • 2022-02-12
  • 发表了主题帖: 【GD32L233C-START评测】+猜猜下次哪个灯会亮

    GD32L233C 含有真随机数发生器模块(TRNG)能够通过连续模拟噪声生成一个32 位的随机数值。 操作步骤在手册里有详细说明,如下图 主函数  uint32_t random_data = 0, random_lastdata = 0; uint8_t retry = 0; /* configure systick */ systick_config(); /* turn on the oscillator */ rcu_osci_on(RCU_IRC48M); if(ERROR == rcu_osci_stab_wait(RCU_IRC48M)){ while(1){ } } /* initilize the LEDs, USART and key */ gd_eval_led_init(LED1); gd_eval_led_init(LED2); gd_eval_led_init(LED3); gd_eval_led_init(LED4); gd_eval_com_init(EVAL_COM); gd_eval_key_init(KEY_WAKEUP, KEY_MODE_GPIO); /* print out the clock frequency of system, AHB, APB1 and APB2 */ printf("\r\nCK_SYS is %d", rcu_clock_freq_get(CK_SYS)); printf("\r\nCK_AHB is %d", rcu_clock_freq_get(CK_AHB)); printf("\r\nCK_APB1 is %d", rcu_clock_freq_get(CK_APB1)); printf("\r\nCK_APB2 is %d", rcu_clock_freq_get(CK_APB2)); /* show example introduce */ printf("============ Gigadevice TRNG poll mode demo ============ \r\n"); /* configure TRNG module */ while((ERROR == trng_configuration()) && retry < 3) { printf("TRNG init fail \r\n"); printf("TRNG init retry \r\n"); retry++; } printf("TRNG init ok \r\n"); /* get the first random data */ random_lastdata = trng_get_true_random_data(); while(1) { if(SET == gd_eval_key_state_get(KEY_WAKEUP)) { delay_1ms(50); if(SET == gd_eval_key_state_get(KEY_WAKEUP)) { /* check wherther the random data is valid and get it */ if(SUCCESS == trng_ready_check()) { random_data = trng_get_true_random_data(); if(random_data != random_lastdata) { random_lastdata = random_data; printf("Get random data: 0x%08x \r\n", random_data); } else { /* the random data is invalid */ printf("Error: Get the random data is same \r\n"); } gd_eval_led_off(LED1); gd_eval_led_off(LED2); gd_eval_led_off(LED3); gd_eval_led_off(LED4); switch(random_data%4) { case 0:gd_eval_led_on(LED1);break; case 1:gd_eval_led_on(LED2);break; case 2:gd_eval_led_on(LED3);break; case 3:gd_eval_led_on(LED4);break; default:break; } } } while(RESET == gd_eval_key_state_get(KEY_WAKEUP)) { } } } 随机数模块检查 uint32_t timeout = 0; FlagStatus trng_flag = RESET; ErrStatus reval = SUCCESS; /* check wherther the random data is valid */ do { timeout++; trng_flag = trng_flag_get(TRNG_FLAG_DRDY); } while((RESET == trng_flag) && (0xFFFF > timeout)); if(RESET == trng_flag) { /* ready check timeout */ printf("Error: TRNG can't ready \r\n"); trng_flag = trng_flag_get(TRNG_FLAG_CECS); printf("Clock error current status: %d \r\n", trng_flag); trng_flag = trng_flag_get(TRNG_FLAG_SECS); printf("Seed error current status: %d \r\n", trng_flag); reval = ERROR; } /* return check status */ return reval;   随机数模块配置 ErrStatus reval = SUCCESS; /* TRNG module clock enable */ rcu_periph_clock_enable(RCU_TRNG); /* TRNG registers reset */ trng_disable(); trng_enable(); /* check TRNG work status */ reval = trng_ready_check(); return reval;     按下开发板上的按键K2(Wakeup),LED1-LED4将会随机电量一盏灯  

  • 2022-02-11
  • 发表了主题帖: 【GD32L233C-START评测】+开箱

    这次的评测有点晚,虽然板卡从发货到收到只用了两天时间,官方淘宝店发货快,快递也很给力 包装好大一个,开发板被贴在了盒子底部,这种打包方式太新颖了,很低碳很环保 mini的usb现在很少见了,想找根线还是比较难的 左右两侧的usb口不提供供电功能,调试时需要两根USB线 如果GD-LINK能虚拟出个串口就比较方便调试了 初始上电运行的是跑马灯程序,LED1-LED4循环点亮 demo包中的模板程序则是LED4闪烁 代码中LED的端口定义有些问题需要注意更改   国产单片机同质化竞争,还是需要厂商能够细致一些,不仅是演示代码手册也一样

  • 回复了主题帖: MS8211 笔形万用表拆解

    还带NCV,不错  

  • 回复了主题帖: 线里面干扰 如何隔离

    串口的线再加层编织屏蔽,不知道会不会有改善

  • 2021-12-13
  • 回复了主题帖: 拆解一个非常先进的负离子空气净化器

    我有一个,还没拆,某厂的赠品

  • 2021-11-13
  • 回复了主题帖: 关于STC8A8K64S4A12EEPROM的分配

    ena 发表于 2021-11-11 16:10 嗯,但是如果重新下载程序后,应该也会把未用的FALSH区填充为FF
    stc-isp 勾选下次不更新硬件设置,可以保证EEPROM的数据不丢失

  • 2021-11-09
  • 回复了主题帖: 关于STC8A8K64S4A12EEPROM的分配

    实际使用FLASH兼做eeprom使用,两者之和总量固定

  • 2021-08-25
  • 加入了学习《ADI应用之旅—电池管理及智慧储能篇》,观看 3.紧凑安静:小型电气化解决方案

  • 加入了学习《ADI应用之旅—电池管理及智慧储能篇》,观看 1.电池管理系统:完整信号链

  • 2021-08-24
  • 回复了主题帖: 灯哥基于esp32的开源FOC电机驱动资料(不足百元,可自行搞DIY)

    应该没含电机的价格吧

最近访客

< 1/3 >

统计信息

已有163人来访过

  • 芯积分:326
  • 好友:1
  • 主题:32
  • 回复:329
  • 课时:--
  • 资源:9

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言