【ART-Pi公开课直播】基于ART-Pi+RT-Thread的云音乐播放器

基于 RT-Thread 和 AB32VG1 实现的音乐播放器 概括 看到这个板子的硬件配置的时候,就想到了可以拿了做一个音乐播放器的设备,想起了多年前使用过的MP3,目标就是想通过这个板子做一个类似以前的 MP3 的设备,用来听听音乐。 目前实现的功能如下:打钩的是目前已经实现的,别的是想要实现,但是目前还没有实现的。 开发环境 RT-Thread版本:4.0.3 IDE:RT-Thread Studio (版本: 2.1.0) 下载和调试工具:Downloader v1.9.7 (中科蓝迅提供:下载地址) 开发板:中科蓝讯 AB32VG1开发板 阅读详情

在这里插入图片描述

Hi~我是刘端飞
ft6236软件包、ft5426软件包,还有mp3解码库 helix贡献者。
大家好,我是一枚嵌入式工作从业者,也做一些Linux驱动的编写和调试。2018年因为项目需要接触了RT-Thread,在选择RT-Thread之前我做了多方对比,最终决定入门RT-Thread。RT-Thread打动我的地方有2点,一是代码风格优美、二是接地气——RT-Thread背后有着强大的社区支持和丰富的技术文档。在学习使用RT-Thread的过程中,我常常思考为什么这么设计?好处是什么?慢慢的总结,编写代码水平也渐渐有了不少提高。

云音乐播放器直播的诞生
早前非常荣幸的参与了ART-Pi的内测,并完成了简单的网络音乐播放器。这个过程收获很多,不仅锻炼了自己,加深了对RT-Thread的了解,还认识了很多的社区小伙伴,参与内测是一次非常愉快的经历,希望有更多的朋友参与进来,本着这样的目的,我欣然接受了本次的直播邀请,期望认识更多的朋友,跟大家有更多的交流。

课前Q&A
在这里插入图片描述

之前您制作过一个基于ART-Pi的网络播放器,请问关于网络流式音频的调试,您有什么经验分享吗?
这个问题也是直播中要分享的。其实从本质上来说,从网络中获取数据和从文件中获取数据的数据并没有什么区别,都是一样的MP3格式的数据,只不过媒介不同获取数据的方式也不一样,所以为了同时支持不同数据源的数据,需要对程序进行划分,这样在调试的过程中思路比较清晰,也方便程序的扩展。

上次您做的播放器是基于柿饼组件,您对于基于RT-Thread制作图形界面应该也是比较有研究的,请问您了解目前RT-Thread支持哪些图形化的组件或软件包,有哪些优缺点,您推荐使用哪一个吗?
应该说主流的GUI都可以很方便的移植到rtt上,目前rtt软件包有LVGL,emwin,guix等,但本人平时学习工作中用到LVGL比较多。对于柿饼也是做过一些了解,其优点是显而易见的,强大的图形设计器,其采用JavaScript语言编写,官方技术支持等。对有前端经验的人更易上手,对于嵌入式中用C较多的人,学习JavaScript语法也并没有很难,相对于其它开源的库来说缺点就是收费,但是官方做了art-pi的支持,对于想使用柿饼的人也是一个不错的选择。

号外!本周四晚来直播间面基主播吧!
在这里插入图片描述
你也可通过以下链接观看直播
https://live.bilibili.com/21644795

扫码进群,参与课前抽奖
图片

如扫码进不了群,请加RT-Thread小师弟微信号:rtthread2020

参与直播讨论报名方式
如果你希望加入直播会议室与讲师互动讨论,请点击:https://club.rt-thread.org/ask/article/2668.html在帖子下留言发表你的见解(你对本期技术主题的探索情况,以及疑难、思考,以及希望讲师能讲到的细节点),如若审核通过,将收到邀请加入腾讯会议(注意论坛私信消息),与刘端飞大佬一起直播探讨。

【12月原创】RT-thread - 柿饼UI —— 网络流媒体播放器 Persimmon UI作业(四)—— 网络流媒体播放器 前言:这次的作业花费了一周的时间,因为学校接近末考同时面对大连疫情的严峻,使整个开发流程变得断断续续,不过还好总算是完成了这次网络流媒体播放器,总体来说还是有些难度的,对我来说也算是个人水平的进一步的提升了。为此记录一下开发流程以及我的创意分享。 视频演示效果: 一.项目的规划/构思 因为柿饼派的IO口有限,外接的IO口除了两个串口就是电源和地了,但只要有串口基本上就可以满足我们外接设备的需求了,毕竟是用柿饼派作为开发的SOC。 网络流媒 阅读详情

相关推荐

《嵌入式系统 – 玩转中科蓝讯(AB32VG1)开发板(基于RT-Thread系统)》第6章 音乐播放器

开发环境: RT-Thread版本:4.0.3 操作系统:Windows 10 RT-Thread Studio版本:2.0.1 开发板MCU:AB5301A 6.1前言 在前面几章,我们使用AB32VG1做了几个小实验,本章将前面的内容进行组合,做一个音乐播放器,主要功能如下: 1.可存储多首完整音乐; 2.实现歌曲切换; 3.实现音量调节。 当然,以上是最基本的功能,还可以实现歌曲播放模式的选择。本章内容主要实现以上3个基本功能,另外根据音量的大小来改变RGB灯的闪烁频率,非常的炫酷。 好了,接下来就一

不问归期的博客 2405

RT-Thread音频调试实战经验分享 - 基础篇

RT-Thread音频调试实战经验分享 - 基础篇

坚韧与专注 1805

RT-Thread 操作系统---网络音乐

RT-Thread 操作系统---STM32F103 网络音乐

RT-Thread Radio 网络播放器--初次零距离接触!

今天很高兴, 收到了RT-Thread Radio套件,还有ffx和RT-Thread工作室写的新书《RT-Thread 实时操作系统 编程指南》。 如此令人快乐的事,如此高兴,实在是想不到,想不到!太多的人需要感谢了,感谢aozima,感谢ffx,感谢在努力奋斗中的RT-Thread人!! 一切的一切尽在不言中。。。        自从认识了RT-Thread,一直在关注RT-Thread,也

自由枫~ 1万+

STM32奋斗板-FM收音机-V3.zip

STM32奋斗板编程实例(Keil工程) 适合入门学习

【RT-Thread作品秀】基于RT-Thread的CAN数据采集终端-电路方案

【RT-Thread作品秀】基于RT-Thread的CAN数据采集终端作者:tlled 概述在测试产品中,需要监听CAN通信上的数据,之前通过CAN适配器连接到电脑,在上位机上监听,但是在户外测试使用PC机不是很方便,使用ART-PI板卡外接显示屏,来显示要查看的设备总线的数据,以图形的方式显示出来,方便查看,我这次要实现的功能是显示显示十个测距传感器的距离,以条形的方式显示每个距离,同时显示测距传感器中最近的一个距离以数字的方式显示。 开发环境硬件:RT-Thread ART-PI STM32H750开发板,DIY 7寸电容触摸显示屏和CAN转换器 RT-Thread版本:RT-Thread 4.0.3 开发工具及版本:RT-Thread Studio 版本2.0.0 RT-Thread使用情况概述内核部分:线程创建,信号量,消息队列 组件部分:串口,CAN,I2C,LCD 软件包部分:FT6236驱动,peripheral_samples中的can_sample 例程,TouchGFX 4.15 其他:无 硬件框架硬件框图如下: 硬件说明: 1、LCD显示屏部分是根据ART-PI显示接口,绘制的转接驱动板,按照7寸的硬件驱动要求,绘制硬件电路设计电路PCB板。 2、显示触摸屏使用I2C协议的电容触摸屏。 3、CAN驱动是使用的mcp2551收发器芯片转接小板 软件框架说明软件总体流程图: 软件部分说明: 修改LCD和触摸屏驱动程序,能够正常显示和触摸。 使用TouchGFX组件,设计显示的界面。 创建消息队列,用于将CAN通信接收到的消息发送给TouchGFX组件,实现数据传输。 CAN通信接收处理。 软件模块说明演示效果https://www.bilibili.com/video/BV1bi4y1w74V/ 代码地址https://gitee.com/gtizhanghui/art-pi-prj 比赛感悟这次项目是在RT-Thread Studo软件创建ART-PI板卡对应的例程上进行修改的,也是第一次使用这个软件创建项目工程到下载板卡上运行,相比之前使用其他的编译工具,这个软件更方便,功能也更强大,可以直接在软件包里面找到相应设备的驱动直接可以应用到项目中,外设组件和设备驱动也可以应用,确实很方面。 这次项目中使用的TouchGFX与板卡之间的数据交互的实现,花费了较多的时间,通过网上查看资料,通过论坛的帮助,最终解决了问题,收获了不少。 CAN通信部分使用的例程修改的,这部分还好,就是使用硬件滤波功能时,会有报错提示。

基于RT-Thread+STM32F407的蜂鸣器音乐播放器(进阶版)

基于RT-Thread+STM32F407的蜂鸣器音乐播放器(进阶版)第一步 开启IIC驱动程序第二步 添加Up主写好的oled驱动程序以及字库第三步 开启按键刷屏第四步 开启切歌刷屏第五步 加入到main.c里初始化,开启oled线程成果展示附件oled.c文件oled.h文件fontppic.c文件fontpic.h文件 此篇在上篇 : 《基于RT-Thread+STM32F407的蜂鸣器音乐播放器》的基础上加上了0.96寸的OLED屏幕实时显示播放器名称、播放状态、当前播放歌曲、播放进度和音量大小等信

weixin_42464364的博客 7674

网络音频流播放器的实现 -- 基于RT-Thread柿饼派

一、概要 1.1、功能 基于柿饼派实现一个网络音频流播放器,目前实现的基本功能是这样的: 连接WIFi 能够播放本地音乐 能够播放网络音乐 能够查看所播放网络音乐的歌词 能够查看所播放网络音乐评论区的内容 1.2、开发环境 开发环境是由RT-thread 提供的一整套工具: 硬件:柿饼派:RT-thread 官方的一款GUI开发板,屏幕大小480X272,底层驱动由RT-thread操作系统实现,上层GUI应用可以采用JavaScript开发。 GUI开发软件PersimmonUI Builder,所

Eureka1024的博客 1527

5G NR PDCCH实战解析:从DCI格式到CORESET配置的完整指南

本文深入解析5G NR PDCCH的实战配置,涵盖DCI格式选择、CORESET配置及Search Space优化等关键内容。基于3GPP R16标准,提供现网部署中的典型问题解决方案,如覆盖边缘失步、多用户调度冲突等,帮助提升控制信令传输效率。特别针对5G NR PDCCH的灵活资源分配和自适应编码机制进行详细探讨。

weixin_29231263的博客 501

深入解析Panfrost驱动:Mali-GPU开源驱动的架构与实现

本文深入解析了Panfrost驱动作为Mali-GPU开源驱动的架构与实现。从诞生背景到硬件架构演进,详细介绍了Panfrost如何突破ARM闭源策略,实现全栈支持。文章还探讨了驱动设计中的关键技术挑战与性能优化策略,为开发者提供了实用的编译部署指南和性能调优方法。

weixin_30790841的博客 554

rt-thread组件之audio组件(结合mp3player包使用)

前言 继上一篇RT-Thread组件之Audio框架i2s驱动的编写的编写,应用层使用rt-thread软件包里面的wavplayer组件 以及 rt-thread组件之audio组件(结合wavplayer包使用)的文章 本篇使用的是 mp3player软件包,与wavplayer设计框架基本上是一样的,只有在处理数据上存在差异。 在和rt-thread的版本上也存在类似的兼容问题(处理方案,参照上一篇) mp3player软件包还依赖mp3的解码包 底层驱动一样用的是i2s驱动 mp3player软

scl8295的博客 1089

5.30华为OD机试真题 新系统 - 链表数字游戏 (Java/Py/C/C++/Js/Go)

5.30华为OD机试真题 新系统 - 链表数字游戏 (Java/Py/C/C++/Js/Go)

算法大师! 1126

【RT-Thread 开源作品秀】基于 RT-Thread 的“数码小精灵”设计与实现

作者:赵俊涛一、概述随着近年来智能化设备的不断增长,平板电脑、智能数字音视频播放器、移动数码相机等各类数码产品,正越来越受到城乡居民欢迎。特别是“云生活”让人们对数码产品有了更多需求,加...

FILLMOREad的博客 1871

2026最新贝壳二手房爬虫实战:突破极验5.0滑块验证码,完整房源数据采集方案

本文详细介绍了2026年贝壳找房爬虫技术方案,重点突破其极验5.0滑块验证码等反爬机制。文章首先解析了贝壳六大核心反爬模块,包括AI驱动的验证码、设备指纹绑定和TLS指纹识别等。针对最难破解的滑块验证码,提出了基于YOLOv11深度学习模型的缺口检测方案,准确率达99.5%,并结合人类行为轨迹模拟实现98%以上的成功率。最后设计了分布式爬虫架构,包含任务调度、代理池、验证码服务和数据清洗等模块,为大规模采集贝壳真实房源数据提供了完整解决方案。该方案在复杂反爬环境下仍保持高效稳定,具有重要的商业和研究价值。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2058

VSCode + QMT 量化交易完整解决方案!

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1331

RT-Thread音频调试实战经验分享 - 如何开发音频

RT-Thread音频调试实战经验分享 - 如何开发音频

坚韧与专注 3112

Python与CAD系列基础篇(二)创建点和直线并修改样式

①通过pyautocad连接AutoCAD进行处理②通过ezdxf处理dxf格式文件。创建和编辑点和直线的方法,并演示如何修改它们的样式、颜色和线型。

weixin_43894929的博客 3038

RT-Thread智能音箱音频应用实践

国内智能音箱的问世早于国外,但由于国内对智能化概念普及程度较低,初期智能音箱并没有受到很多关注。但近几年国内智能音箱行业经历了从百花齐放到三足鼎立的发展...

LiveVideoStack 1836

HyperLynx(二十二)DDR(五)DDRx总线时序模型设计

DDR3 的数据选通信号与时钟信号的频率是一样的,在数据选通信号写操作时,控制器典型的输出方式是数据选通信号边沿与时钟近似对齐。该界面中显示了所有需要编辑的参数,包括地址/命令信号的时序、控制信号的时序、读和写操作的数据选通和数据信号时序、写操作的数据选通和数据掩码信号时序,以及建立和保持时间的降额参数。由于DDRx总线对时序的要求非常严格,随着速率的提升,时序的要求会更高。反之也是一样的,如果数据选通信号的上升沿在时钟信号上升沿的后面到达 DRAM,那么数据选通信号的下降沿就会在时钟信号的前面到达。

小幽余生不加糖 1938

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

01-基于ART-PI-创建第一个RT-Thread-软件工程

基于开发板 ART-PI创建RT-Thread软件工程的过程记录

arm_fan的专栏 774

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ART-Pi 实现音乐播放器 --播放《天空之城》

2020-11-25 庐州月光,撒在心上,月下的你不复当年模样。太多的伤,难述衷肠,叹一句当时只道是寻常 。 – 许嵩《庐州月》 一、开发环境 1.1、软件环境 RT-Thread Studio: V1.1.5 RT-Thread版本:V4.0.2 STM32 CubeMX: V6.0.1 1.2、硬件环境 芯片:STM32H750XBH6 开发板:ART-Pi 模块:无源蜂鸣器 (注:本文是在基于文章《应用 RT-Thread 实现蜂鸣器播放器》来实现的,详细的实现过程,该.

Eureka1024的博客 8037

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

基于RT-Thread+STM32F407的蜂鸣器音乐播放器

本项目为RT-Thread学习项目,参考于RT-Thread官网Demo示例 硬件基于STM32F407ZGT6正点原子探索者开发板+无源蜂鸣器模块 RTOS软件基于RT-Thread 4.0.5版本 编译器为官方的提供的RT-Thread Studio 会使用到STM32CubeMX 配置产生PWM波 会使用MobaXterm串口终端软件查看串口终端数据

weixin_42464364的博客 1万+

使用RT-Thread Studio 实现PWM设备底层配置 (RT-thread && RT-thread Studio && ART-Pi)

一、开发环境 芯片:STM32H750XBH6 开发板:ART-Pi RT-Thread Studio: V1.1.5 RT-Thread版本:V4.0.2 STM32 CubeMX: V6.0.1 二、实现过程 2.1 、使用 RT-thread Studio生成基本工程(注意串口号和对应引脚的选择) 2.2、本文的实现是使用ART-Pi的PH10(TIM5的通道1)作为PWM输出引脚, 按照该篇文章《RT-Thread Studio - 使用PWM设备》配置PWM的底层驱动。 三、

Eureka1024的博客 2212

开源啦!基于RT-Thread的百度语音识别——录音功能的实现(三)

本期分享来自RT-Thread的社区小伙伴霹雳大乌龙,如果你也有文章愿意分享/希望获得官方的写作指导,可以发送文章/联系方式邮件至邮箱:xuqianqian@rt-thread.com...

FILLMOREad的博客 1655

[Rt-Thread ART-PI]操作指南 1准备工作

是一个搭载stm32h750系列芯片的开发版,搭载了ap6212(板载pcb天线),st-link调试器(stm32f103cbt6)和华邦的存储。使用两个type-c接口dbg,otg,DBG是调试口,OTG是向外供电口。扩展了sd卡借口与rgb888接口。有两个用户led和一个用户按键。实物图官方3D图。

m0_73645455的博客 666
上一篇: 【RT-Thread开源作品秀】基于RT-Thread的星务平台研究
下一篇: 【20210416期AI简报】微软分层ViT模型开源、 DIY一只“眼睛”摄像头
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值