![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
谢娘蓝桥
绿水青山境长静,花落虽频意自闲。
展开
-
KittenBot 游戏编程掌机2-按键测试
定义button 类,通过timer 进行延迟消抖 ,通过pin的irq 进行触发。整理目前已知的 接口定义如下。原创 2024-07-24 22:12:06 · 129 阅读 · 0 评论 -
MC3172 串口模块
初始化步骤参考官方例程,需使能相关GPIO 时钟,否则无法收发。MC3172 支持12个串口对应关系如下。read_ptr ,数据读取指针。inpin RX 脚 管脚号。outpin TX脚 管脚号。第一个是uart0~11。收取到收据后,直接发出。原创 2024-01-28 21:07:20 · 251 阅读 · 1 评论 -
MC3172 延迟模块
增加延迟us ms 函数接口 us接口使用运行定时器,有些误差,后续实现定时器进行延迟。CORE_CLK_MHZ 这里是外部无源晶振频率。原创 2024-01-28 20:56:50 · 100 阅读 · 0 评论 -
MC3172 GPIO库例化
参考ST 设置,优化了 MC3172的gpio 设置,支持 输入 输出、 上下拉配置,输入电平获取 输出电平设置。gpio 初始化需要设置相应gpio组,pin直接使用io 数。原创 2024-01-27 13:06:31 · 129 阅读 · 0 评论 -
MC3172 初探
感芯科技第一款32位 RISC处理器MC3172,业内首个64线程同步并行运行,线程资源可按需配置,共享代码段空间与数据段空间,硬件级实时响应,无需中断服务程序,无需实时操作系统。基于RISC-V RV32IMC 指令集,100%单周期指令,最高200MHz主频,3.37coremark/MHz。数据段与代码段共享128K字节SRAM,可按需配置为96K代码空间加32K数据空间,或64K代码空间加64K数据空间,或32K代码空间加96K数据空间,灵活应对各种应用场景。原创 2024-01-27 12:46:32 · 826 阅读 · 0 评论 -
51单片机寄存器备注版本
【代码】51单片机寄存器备注版本。原创 2023-11-12 22:17:09 · 66 阅读 · 0 评论 -
ESP32C3 iis 驱动PCM5102A
支持 BCK FS DATA 三线输入,基于内部PLL 生成SCK。输出最大2.1Vrms,负载1K欧。FS BCK无效时,进入省电模式。支持 16 24 32 bit。典型电路图如上,特性如下。44.1 kHz 去加重。支持1.8V 3.3V。原创 2023-01-23 22:47:12 · 3427 阅读 · 2 评论 -
合宙ESP32C3上手使用
经典款是有ch343 ttl 转usb 需要安装驱动GPIO20/21新款使用usb 直连不需要驱动ESP32C3 是ESP-RISC-V CPU 是基于 RISC-V ISA 的 32 位内核,包括基本整数 (I),乘法/除法 (M) 和压缩 (C) 标准扩展。ESP-RISC-V CPU 内核具有 4 级有序标量流水线,针对面积、功耗、性能等进行了优化.原创 2023-01-23 18:45:27 · 3736 阅读 · 3 评论 -
BLF 转换工具实现
【代码】BLF 转换工具实现。原创 2023-01-10 17:30:01 · 2117 阅读 · 2 评论 -
共阴七段数码管FPGA 实现
此处代码实现的是4-16译码器。原创 2022-12-15 07:02:39 · 2231 阅读 · 0 评论 -
Ymodem 文件传输协议
上位机 发送代码如下。原创 2022-12-08 20:51:57 · 583 阅读 · 0 评论 -
混响(Reverb)/空间音效(Panning)
可以理解为声音从右边喇叭经过n time step 移动到 左边的扬声器。我们假定LR 扬声器的夹角为2*,我们通过控制L R 扬声器的增益()进行具体的声像控制对应扫描角度X 为单声道的声音片段单声道转立体声音方法。原创 2022-11-12 09:31:36 · 1885 阅读 · 0 评论 -
C++ C# dll 互相调用实现
C++/CLI中使用 gcnew 关键字用来表示 在托管堆上分配内存,并且区分其他指针的区别。4.unsigned char* 与cli::array^ 互转。指针或数组尽量使用ref 替代,输出参数需要使用ref。2.使用 ^ 来代替 * 作为指针含义。3.string 与uint32转换。生成C# 类库需要开启允许不安全代码。创建C++ 工程时需开启CLR支持。1.需要使用gcnew 代替new。5.指针是有intPtr 进行转换。verctor 互转。原创 2022-11-01 19:46:49 · 643 阅读 · 0 评论 -
python 画图
【代码】python 画图。原创 2022-10-20 00:48:54 · 394 阅读 · 0 评论 -
Qt 常见问题解决
1.Qt之msvc-version.conf loaded but QMAKE_MSC_VER isn't set解决方法 :在lib 中\mkspecs\common\msvc-version.conf 文件中添加 指定msvc 版本 1900 是20152.Qt编译通过,运行时出现the process was ended forcefully问题的解决方案参考https://blog.csdn.net/Mr_include/article/details/87933839...原创 2020-05-28 17:23:20 · 1974 阅读 · 2 评论 -
MAX78000FTHR 板卡入门
为快速开发平台,帮助工程师利用MAX78000 Arm® Cortex® M4F处理器快速实施超低功耗、人工智能(AI)方案,器件集成卷积神经网络加速器。评估板包括MAX20303 PMIC,用于电池和电源管理。评估板规格为0.9in x 2.6in、双排连接器,兼容Adafruit Feather Wing外设扩展板。评估板包括各种外设,例如CMOS VGA图像传感器、数字麦克风、低功耗立体声音频CODEC、1MB QSPI SRAM、micro SD存储卡连接器、RGB指示LED和按键。原创 2022-09-19 23:15:43 · 1390 阅读 · 0 评论 -
ESP32-A1S Audio kit 环境搭建
针对ESP32-A1S的音频开发板ESP32-Audio-Kit,之前就写了一边如何实现离线语音控制LED灯的博文,但是之前的博文中所用到的模组中的音频编解码芯片是AC101,需要我们自己写驱动程序。为了适配乐鑫的SDK,模组中的编解码芯片也换成了ES8388,乐鑫已经写好了驱动程序,我们二次开发不需要重新写编解码程序,这让我们的移植变得更加简单。原创 2022-09-18 23:56:45 · 1650 阅读 · 3 评论 -
Xmos startkit 开篇-硬件介绍
PCIE 管脚定义GPIO管脚定义J7J8 及XMOS link。原创 2022-09-15 22:05:24 · 301 阅读 · 0 评论 -
常见窗函数C 实现
在信号处理中,我们通常对信号进行截断分析,如果信号截断为非周期截断,那么频谱将发生泄露。通过加窗,可以减少频谱的泄露。我们可以这么想象,窗函数可以将一个非周期的信号,强行变成一个周期的信号。原创 2022-09-12 23:58:00 · 1600 阅读 · 2 评论 -
DSP 常规算法优化
【代码】DSP 常规算法优化。原创 2022-09-12 23:39:13 · 1088 阅读 · 1 评论 -
常规单位转换实现
例如扭矩 units::torque(1000.0, units::ft_lb);面积 units::area(1,units::cm2)简洁明了 直接使用即可。原创 2022-08-15 14:54:28 · 162 阅读 · 0 评论 -
FPGA IIC SLAVE 实现
bit cnt 计数或者dataphase转换。IOout 用于输出接收到数据。判断IIC 的开始或结束条件。指定从设备的节点地址。原创 2022-08-04 16:05:28 · 1157 阅读 · 0 评论 -
python 数的计算
让第二个数比第一个小 递归实现。原创 2022-08-04 15:45:41 · 356 阅读 · 0 评论 -
个人常用软件整理
办公类quicker --快捷工具类,可自定义工具 路径 命令 翻译 截图 等 很强大生活类OneNoteoffice lens --讲座ppt 拍摄 对齐 ,方便进行记录电路硬件类everyCiruit --电路仿真软件,运行很生动iCiruit --与上面功能类似python相关manim --3Blue1Brown 动画制作nteract-- 使用单exe 打开 jupyter 文件https://github.com/nteract/nteract...原创 2021-03-03 17:14:57 · 302 阅读 · 0 评论 -
PID 算法实现
PID 控制主要由 积分、微分、线性三个部分组成,三个部分产生效果都不一样下面使用三个例子进行算法的应用,脱离公式和计算1.驱动齿轮系马达主要在打印机的机械装置或其他精确位置控制装置中使用马达通过电压进行控制,电压通过软件进行设置,马达通过减速器连接实际控制的物品,实际转动的位置通过图中pot进行测量。在不受外界影响下,一个直流电机马达在恒定电压会以恒定速度进行运转,运转的速度跟电压成比例。通常电机电枢有一些电阻,限制了它的加速能力,所以电机在输入电压变化和速度变化之间会有一些延迟。原创 2022-05-13 22:12:04 · 716 阅读 · 0 评论 -
Qlib库推荐
M3 M0 无硬件浮点加速器首选原创 2022-03-15 10:32:16 · 345 阅读 · 2 评论 -
Biquad 滤波器计算
基础iir 滤波器框图如上x h (n) = x(n) − a 1 x h (n − 1) − a 2 x h (n − 2) y(n) = b 0 x h (n) + b 1 x h (n − 1) + b 2 x h (n − 2) 1.第一种采用Robert Bristow-Johnson 的方法biquad的 传递函数定义为 b0 + b1*z^-1 + b2*z^-2 H(z) = ------------------------...原创 2022-03-14 23:19:00 · 4217 阅读 · 6 评论 -
mpy button 按键消抖
import timefrom machine import Pinclass button: def __init__(self, pin, callback=None, trigger=Pin.IRQ_RISING, min_ago=200): #print("button init") self.callback = callback self.min_ago = min_ago self._ne.原创 2022-02-24 15:20:23 · 418 阅读 · 0 评论 -
mpy lcd 绘制圆
1.实心def drawCirc_fill(tft,x,y,r,pen): ox =r oy =0 err = -r while ox>=oy: last_oy = oy err +=oy oy+=1 err+=oy tft.hline(x-ox,y+last_oy,ox*2+1,pen) ##3 if last_oy != 0: tft.hli原创 2022-02-24 13:28:04 · 2049 阅读 · 0 评论 -
2021-07-19交互设计精髓读后感
设计的目的1.理解用户的期望、需求、动机和使用意境2.理解商业、技术及行业的机会、需求和制约3.让产品的形式、内容、行为可用、易用用户界面应该是基于用户的心里模型,而不是实现模型目标导向的交互设计反应了用户的心里模型目标导向设计过程: 研究用户及应用领域--》建模用户及使用情景--》定义用户、业务及技术面需求-》定义设计架构和流程-》提炼行为、形式、内容-》支持开发阶段的要求。目标导向型问题:目标--哪些会让你愉快或者糟糕机会--哪些浪费你的时间.原创 2022-02-21 20:46:48 · 269 阅读 · 0 评论 -
正常测量DC/DC模块的电源纹波指标
如何正确测量DC/DC模块的电源纹波指标关键字: 电源纹波 DC/DC模块 数字电路 测量DC/DC模块的电源纹波指标是一项很重要的参数。干净的电源是数字电路稳定工作的前提,也是模拟器件的各项参数的重要保障。为确定电源的质量,必须对DC/DC模块的输出纹波进行测量。但很多人测量得到的纹波值动辄上百mV,甚至几百mV,远比器件手册提供的最大纹波值大,这主要是测量方法的不正确造成的。正确的测量方法1)限制示波器带宽为20MHz(大多中低端示波器档位限制在20MHz,高端产品还有 20...原创 2022-01-17 09:08:42 · 3250 阅读 · 0 评论 -
pico micro python ssd1306中文显示
默认只能用text 进行字符显示,使用framebuff 进行图像显示后来整理下用字库生成16*16 8*16汉字和英文字模型混输入。原创 2021-12-12 14:37:17 · 2362 阅读 · 0 评论 -
python wav 录音
import pyaudioimport wavefrom tqdm import tqdm def record_audio(wave_out_path,record_second): CHUNK = 1024 FORMAT = pyaudio.paInt16 CHANNELS = 2 RATE = 44100 p = pyaudio.PyAudio() stream = p.open(format=FORMAT, .原创 2021-12-09 14:04:11 · 2652 阅读 · 0 评论 -
Bootloader 更新方法
1.利用APP空间方法先将APP擦出,写入新的BOOT 程序,写入校验成功后,运行新的boot ,然后擦出 最早旧的boot,刷入新boot,然后从BOOT启动,刷回APP。2.利用额外Flash或RAM运行boot 将新boot loader 程序刷入额外的flash中,重新运行新的boot,更新老的bootloader 程序,然后重新运行boot,破坏额外的boot 或者更新标记位...原创 2021-12-01 23:07:16 · 2271 阅读 · 0 评论 -
常用数据转换
1.字符串转hexvoid StrToHex(char *pbDest, char *pbSrc, int nLen){ char h1,h2; char s1,s2; int i; for (i=0; i<nLen/2; i++) { h1 = pbSrc[2*i]; h2 = pbSrc[2*i+1]; s1 = toupper(h1) - 0x30; //toupper 转换为大写字母 if原创 2021-11-30 20:04:46 · 219 阅读 · 0 评论 -
BlackFin 处理器提高编码效率
当今的数字信号处理器(DSP)的性能、外围设备、功耗和价格的完美结合已经达到了如此之高的吸引力,使许多系统设计工程师期望这些优势超越他们的传统设计方案中使用的处理器。对此一个潜在困难就是设计工程师已经为他们的应用领域开发的大量老的C和C++代码。很明显,这些设计工程师都愿意在DSP平台基础上利用现有的高级代码,同时利用DSP的体系结构特性以获得在先前平台上无法到达的性能。此外,他们还需要一种熟悉的、直观的开发环境,以及一种可选用汇编语言程序提高性能的简单方法。本文将讨论在当今开发环境下对DSP的编程策略和技原创 2021-11-29 18:58:15 · 177 阅读 · 0 评论 -
FIR 滤波器设计软件
1.rePhase Fir Tool rePhase 是Thomas 写的windows 免费程序。可产生 Fir 线性相位的扬声器分频这里有几个例子介绍软件的使用https://www.minidsp.com/applications/advanced-tools/rephase-fir-tool#overview这里可进行软件的下载rePhase - Official Site - Free FIR filtering tool2.filter hose(商业软件)...原创 2021-11-15 14:52:20 · 4368 阅读 · 0 评论 -
platformio 使用技巧
1.可以在平台选择 高级安装,使用下载好的平台zip进行安装,加快安装速度2.添加库在 platform.ini 添加依赖的库lib_deps = https://github.com/Seeed-Studio/Seeed_Arduino_LIS3DHTR3.复用arduino 的库再 platform.ini里添加lib_extra_dirs = /Users/{username}/Documents/Arduino/librariesusername 替换为你系统名称原创 2021-11-14 00:36:03 · 1895 阅读 · 3 评论 -
中科蓝讯AB32VG1 开箱
昨天收到板子无比的喜悦,终于晚上RISC-V的板子了,感谢电子发烧友及RTT 举办这个有意义的活动。废话不多说,开干。一 环境搭建1.先安装RT studio,基于eclipse开发用起来还蛮顺手。先要安装risc-v 及 AB32VG1驱动然后还需安装rsic-v 编译器每次只能安装一个,这个有待完善2. 安装下载器Bluetrum/AB32VG1_DOC此地址下载原理图、下载器、datasheet、layout 等3.新建rt 工程4.我这个版本有几个小bug需要更换...原创 2021-09-30 22:54:47 · 398 阅读 · 0 评论 -
MCU 简单时间片轮询系统基于Qt模拟实现
#include <QCoreApplication>#include <thread>#include <stdio.h>#include <windows.h>#include "timeslice.h"//5个任务TimesilceTaskObj task_1, task_2, task_3, task_4, task_5;//具体操作void task1_hdl(){ printf(">> task 1 .原创 2021-09-18 10:42:02 · 400 阅读 · 0 评论