嵌入式系统与单片机|技术阅读
登录|注册
  • 有关linux中的文件IO的操作
    2024-06-24

    Linux 应用编程中最需要掌握的基础就是文件 I/O的操作,学习过linux或者有过了解的应该都会听过一句话:linux中一切皆文件,文件是linux系统的核心设计思想。所以掌握文件的操作是很重要的。那文件 I/O 又是什么?文件I/O指的是对文件的输入/输出操作,简单点说就是对文件进行的读写操作,包括打开文件、关闭文件、从文件中...

  • 使用MobaXterm远程登录linux主机
    2024-06-24

    本文原创:嵌入式之入坑笔记关注+星标不错过精彩内容呀!往期精彩文章:很多时候我们使用linux开发的时候,在ubuntu里面开发的时候我们可以用各种工具进行协助开发,也是很方便的。但是当我们的项目开发到一定的程度的时候,就需要把代码烧录到产品中去了,直接验证我们开发的产品功能是否有问题。但是我们的产品可能是不带...

  • 总结 MDK 几种编译优化设置的方法
    2024-06-23

  • STEP BY STEP设计一个USB调试助手之十一:基于libusb异步传输+FIFO的USB测试工具
    2024-06-23

    一. 前言最开始版本的GUI工具时同步传输实现的,后面我们又实现了异步传输,进一步实现了一步传输+FIFO的GUI和底层的解耦。现在我们将这几部分合并起来,实现一个异步传输的GUI工具。二. 实现前面已经分别实现了异步传输+FIFO,以及GUI,先把他们放在一起即可,不在赘述,直接贴出关键代码。mainwindow.cpp#include <QMessa...

  • STEP BY STEP设计一个USB调试助手之八:批量传输和中断传输
    2024-06-23

    一. 前言前面我们完成了接口和端点信息的解析与显示,现在就可以选择任意端点对其进行数据的收发了。由于批量传输和中断传输逻辑上差不多所以把他们放在一起。后面的同步传输逻辑上差异较大,单独再以一文分享。二. 接口我们还是参考libusb的api,我们从以下地址可以看到相关apihttps://libusb.sourceforge.io/api-1.0/libus...

  • STEP BY STEP设计一个USB调试助手之五:设备打开与关闭
    2024-06-23

    一. 前言前面获取到了设备信息,现在开始可以进行设备的打开与关闭操作了。本文继续实现设备打开与关闭的逻辑。二. 设备打开接口参考examples/xusb.c.设备打开定义全局变量设备句柄和设备指针libusb_device_handle *s_opened_handle = NULL;libusb_device *s_opened_dev = NULL;打开设备usbdev.c中实现int usbdev_open(in...

  • USB系列之-UAC麦克风实例分享
    2024-06-23

    一.前言UAC的规格书可以从usb.org网站下载,目前有1.0,2.0,3.0三个版本,本文以1.0为例分享一个UAC扬声器的实例, 重点在于描述符拓扑。规格书《UAC1.0/USB_AV_Specification_Rev_1.0》定义了UAC设备类完整的信息,但是比较复杂,《UAC1.0\BasicAudioDevice-10\BasicAudioDevice-10.pdf》定义了其一个最小子集,一般我们实现其...

  • STEP BY STEP设计一个USB调试助手之二:创建工程与界面设计
    2024-06-23

    一. 前言本文接上文,创建工程设计USB调试助手的界面。二.创建工程打开Qt Creator 12.0.0 (Community)菜单栏点击:【文件】->【New project...】选择项目”Application(Qt)”,Qt Widgets Application,点击选择。设置工程名字为”usb_tool”指定工程存放路径,点击下一步构建系统选择qmake,点击下一步默认创建对话框窗口和对应...

  • PDM系列文章之二:一文搞懂PDM编码基本原理1bit sigma-deleta ADC
    2024-06-23

    一.前言上一篇-前菜篇,我们对PDM进行了一些头脑风暴,思考实验,并没有涉及具体的理论。但是我们发明了自己的PDM,核心思想是,进行抽象,用10数字流代表PDM,用窗口滑动平均,窗口内平均的1的密度来反映电压的高低。也留下了问题就是如何来编码满足我们这种需求?上一篇实际也大致介绍了思想,即差分思想,实际上我们现在应...

  • UAC+PDM音频播放实践之-使用逻辑分析仪分析PDM信号
    2024-06-23

    本文是本系列文章的第一篇,后续计划会根据UAC+PDM音频播放实践案例,分享一系列文章。PDM 即Pulse Density Modulation脉冲密度调试, 我们简单的可以理解其为不同于PWM的用占空比等效不同幅度,而是时间上划分为更小的1(高电平)和0(低电平)的单位,用1和0的密度来等效幅度。所以其实反过来说,本质上PDM也还是和PWM一样还是...

  • USB系列之-UAC+PWM实现扬声器(USB Audio)设备
    2024-06-23

    前言最近在搞UAC音频相关的内容,所以分享下UAC+PWM实现扬声器(USB Audio)设备的案例。视频见:https://www.bilibili.com/video/BV17j421o7HJ/在UAC等应用中一般使用的PCM数据格式,常用的是16位有符号的PCM格式数据。(注意这里说的是PCM数据格式,和PCM音频接口不是一回事)。对于PCM(pulse-code modulation)即脉冲编码调制, ...

  • USB系列之-一文搞懂CDC虚拟串口COM号变与不变?
    2024-06-23

    前言可以通过VID和PID区分不同厂家的USB设备,但是同一厂家同一类设备VID和PID甚至bcdDevice等也都是一样的,此时如何区分不同实例呢。 比如常见的USB转串口线,可能同时接多个,每个设备都是一模一样的,如何区分呢,此时要用到iSerialNumber。iSerialNumber不为0时,则由iSerialNumber区分,不同的值就代表不同的设备实例...