自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 LCD Drive-IC ST7789V SPI-4line 调试

液晶显示屏使用ST7789V SPI 4线接口 连接MCU3线接口和4线接口:第一种:3-line是指CSX(Chip selection signal)、DCX(Clock signal)、SDA(Serial input/output data),其中CSX也写着CS片选,DCX也写着SCL时钟信号;4-line在3-line的基础上多了WRX(data/ command flag),也叫着D/CX。这种情况下是半双工,数据只能往一个方向传输,例如SPI的屏只需要输出。第二种:3-line是指CS

2025-02-19 17:30:56 1155

原创 正点原子Linux 移植USB Wifi模块MT7601U驱动(上)

参考文章 https://blog.youkuaiyun.com/rjszcb/article/details/142443415。

2025-01-24 18:05:44 1090

原创 【信号滤波 (下)】其他滤波器(一) 基于FFT的频域数字滤波

在之前介绍了对整个信号用傅里叶变换的方法看频谱,不用二阶滤波器的情况下,也可以直接在频谱上去除噪声所在的频率分量,再通过傅里叶逆变换(IFFT)的方法还原成时域信号。我这里对一段已经采集完成的时域信号滤波,在叠加20Hz、50Hz、80Hz频率噪声的情况下,基于FFT的频域数字滤波和滑动平均滤波以及陷波滤波相比,效果比后两者都好。这个方法的缺陷是无法实时滤波,但对于非实时信号,比如说采集一个窗口时间内的信号后再分析,就可以用基于FFT的频域数字滤波。把频域中噪声处的频率归零,简单而且直观。

2025-01-15 21:45:48 972

原创 【信号滤波 (补充)】二阶陷波滤波代码推导过程(C++)

b0​b1​b2​在信号滤波 (中) 这篇中对于二阶陷波滤波器的传递函数到C++代码的转化过程还有人有疑问,本篇一步步推导整个过程。

2025-01-06 17:30:11 1110

原创 【信号滤波 (中)】采样条件及多种滤波算法对比(滑动平均/陷波滤波)

陷波滤波其实是一种滤波器的分类。以滤波频率对滤波器进行划分,可以分为高通/低通/带通/带阻滤波器,而陷波滤波器是一种带阻滤波器,用于衰减非常窄的频带。当您想要消除或减少特定频率的干扰(例如电力线噪声、50Hz 或 60Hz 嗡嗡声)时,可以使用这些滤波器。

2024-12-27 19:02:08 1543 1

原创 【信号滤波 (上)】傅里叶变换和滤波算法去除ADC采样中的噪声(Matlab/C++)

滤波原理到工程实践的介绍

2024-12-20 18:16:02 1035

原创 正点原子Linux开发板适配CVR-100UC阅读器(USB接口)

华视电子CVR-100UC这款阅读器Windows驱动和读卡软件安装起来都非常顺利,但如果想用在Linux开发板上,让QT读取身份证信息并显示要怎么做呢?从官网上的Linux驱动有下图三种版本,具体细节如下:x64_noLog_USBDynamic_UTF-8 是x86架构64位的Linux USB热插拔驱动;ARMHF_noLog_USBDynamic_UTF-8 是ARM架构32位使用HF(Hard Float,硬件浮点单元)的Linux USB热插拔驱动;

2024-12-09 16:12:30 437

原创 正点原子linux 触屏键盘移植以及LineEdit 和 TableWidget点击唤出键盘的方法

鼠标按钮会触发这个事件。QTableWidget 表格里调用键盘要复杂些,有个取巧的办法时将QLineEdit放到QTableWidget的单元格里,代替默认的QTableWidgetItem,然后用installEventFilter()和事件过滤器绑定。因为不支持这个方法,但是QTableWidget可以绑定事件过滤器。

2024-12-09 09:26:20 289

原创 正点原子imx6ull配置MQTT客户端上传数据到Ubuntu MQTT服务器

在上一篇中介绍了在Ubuntu22.04的Docker中部署MQTT服务器,然后在window上测试订阅和发布:本篇介绍在正点原子Linux开发板imx6ull芯片下,配置MQTT客户端上传数据到Ubuntu中Docker部署的MQTT服务器。

2024-12-04 16:18:28 1291

原创 在Ubuntu22.04的Docker中部署MQTT服务器,在window上测试订阅和发布

在Ubuntu22.04的Docker中部署MQTT服务器,在window上测试订阅和发布

2024-11-29 18:47:01 1070

原创 QT混合使用QSqlTableModel和QSqlQuery引发的问题

再对QSqlTableModel使用信号槽链接,会导致submitAll()提交成功但是数据库实际上没更新的情况。两者不能同时使用,查阅一些资料说setModel已经是信号槽链接了,再连接一个信号槽会出现错误。经测试,QSqlTableModel如果预先设置了和。

2024-11-20 17:36:36 283

原创 正点原子 linux 几个编译器之间的关系

正点原子官方提供的交叉编译器有两种,说明上是Poky交叉编译器能编译linux和QT,而通用编译器不行。实际试过通用编译器也可也编译QT,官方虚拟机里的Arm-QT5.12.9就是用的就是通用编译器。这个编译器是带qmake的fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0。这个qmake是配套桌面QT窗口使用的,它的gcc在这里,就是Ubuntu系统自带的gcc。

2024-10-21 16:51:49 228 1

原创 STM32cubeIDE stm32f4 编译 context_gcc.s 报错

移植F4得时候context_gcc.s报错thumb conditional instruction should be in IT block – `vstmdbeq r1!,{d8-d15}’

2024-07-26 15:14:32 392

原创 STM32 HAL库里 串口中断回调函数是在怎么被调用的?

跟着正点原子学习的HAL库写串口接收程序的时候一直有困惑,使用HAL_UART_Receive_IT开启接收中断后,为啥处理函数要写在HAL_UART_RxCpltCallback里,中断发生的时候是怎么到这个回调函数里去的?然后UART_Receive_IT又调用了HAL_UART_RxCpltCallback。2.没有错误中断的情况下是否设置了非空中断,如果是调用UART_Receive_IT;UART_Start_Receive_IT主要设置了中断寄存器。5.处理发送中断,在接收完直接处理发送流程;

2024-06-26 17:46:39 1988

原创 正点原子imx6ull 进度条颜色、logo位置上偏或色偏等问题

如果图片还是太大,压缩不了,或者压缩后还是色偏,那就不要显示了,在include/configs/mx6ullevk.h 头文件下注释define CONFIG_VIDEO_LOGO。准备需要显示的图片,使用windows的画图工具转换为256色bmp格式,注意分辨率一定要小于屏幕的分辨率,大小在100K以内,否则会显示不正常。fbset指令可用于设置景框缓冲区的大小,还能调整画面之分辨率,位置,高低宽窄,色彩和深度,并可决定是否启动显卡之各项硬件特性。600的原图,然后屏幕分辨率也是1024。

2024-06-14 11:45:29 807

原创 13种改进粒子群优化算法 matlab2022 运行结果和耗时对比

阅读粒子群优化算法的文章,发现代码不仅要付费而且还没有运行结果,需要自己手动写代码运行,这里提供下我的运行结果。包含参数结果和耗时对比。其中AsyLnCPSO.m。

2023-10-05 21:56:54 1031

原创 正点原子ubuntu虚拟机 使用QT虚拟键盘

这里可能会出现没有权限,我的方法是运行命令 sudo nautilus,打开一个具有管理员权限的文件管理器,然后就可以在不切换到管理员的条件下拷贝文件。本文参考这篇文章,使用正点原子的Ubuntu虚拟机,成功实现QT虚拟键盘,其中使用的方法做下记录,以免后续读者自己调试浪费时间。也可以敲命令编译,先使能环境,调用qmake生成Makefile,最后make,操作比较复杂之间用QT creator。然后用QT creator打开,编译器选择 Desktop_Qt_5_12_9_GCC_64bit。

2023-07-21 18:14:24 1673 1

原创 正点原子linux 使用QT 自动检测u盘插拔并寻找特定文件

笔者刚解决完这个问题,前期有些忘了,一点一点回忆。会慢慢更新。

2023-06-27 16:49:01 2763

原创 akima 插值拟合算法 Python/C++/C版本

鉴于C站上Akima算法文章大部分要VIP观看或者下载,即使是付费也有质量不佳,浪费Money也浪费时间。笔者更具查到的资料分享给大家。

2023-06-20 23:05:29 3247 2

原创 VScode里的终端,Anaconda下的命令提示符和 PowerShell的联系

直接看两个节目就知道了,PowerShell打开是提升加载个人及系统配置就是在CMD的基础上进行的,PowerShell下的CMD前面多了PS字样。安装conda之后,在使用VSCode的时候,每次在里面使用powershell终端都是默认进入base环境,我想运行C++程序也给我打开base环境,运行其他语言也打开base环境,Anaconda环境主要是用于python,下面几种方法可以取消。Anaconda PowerShell Prompt对应的命令为。如果退出了想在进入在PowerShell输入。

2023-05-06 14:04:43 2607

原创 QSerialPort的waitForReadyRead调用超时问题

写串口收发函数的时候调用waitForReadyRead老是发生超时问题,对比了官方参考示例,不能再connect(&serialPort, SIGNAL(readyRead()), this, SLOT(serialPortReadyRead()));的serialPortReadyRead()里再调用waitForReadyRead了,一定是超时的。下面是官方例程,官方再不定时的串口接收使用connect(&serialPort, SIGNAL(readyRead()),…

2023-04-19 11:05:18 3635

原创 移远4G模块 EC200x EC600 系列AT命令手册

本文是译至移远官方文档 xxx_AT_Commands_Manual目录1.简介1.1.AT命令语法1.2.支持的字符集1.3.能用AT命令接口1.4. 未经请求的结果代码1.5.关闭程序2.一般命令3.串行接口控制命令4.状态控制命令5.SIM相关命令6.网络服务命令7.电话簿命令8.短消息服务命令9.数据包域命令10.硬件相关命令1.简介这款芯片的AT命令集是遵循国际标准3GPPTS27.007、3GPPTS27.005以及Quectel开发的专用AT命令的组合。1.1.AT命令语法AT命令要

2023-03-24 16:56:36 13375

原创 裸机条件下写一个基于时间片轮转的多任务并发程序

在学习各种MCU的时候,都是用在main函数里写一个while(1){/* 执行代码 */},这种方式只能一个函数运行完以后再运行另一个函数。假设需求控制多个模块,如显示屏幕信息的同时控制电机,还要一边接收按键输入。如果用上面的方式每个模块要排队等待CPU运行,就会显的很卡。那有没有办法每个模块运行固定的时间,时间到了运行下一个模块,这样单个模块即使特别耗时,也不影响其他模块的运行,这个方法叫时间片轮转。想到这个办法很容易,但要怎么编写代码呢?

2023-03-24 16:51:43 1727 2

原创 正点原子Linux 触摸芯片改成GT911后的驱动修改(单点和多点触摸)

GT911 使用正点原子linux核心板 需要注意的事项

2022-12-16 16:13:59 7787

原创 正点原子Alpha 添加RTC PCF8563 的IIC驱动

此篇基于学完【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.6 后,使用核心板进行自行设置。

2022-11-22 12:18:59 2422 1

原创 RTthread msh控制台的密码设置

rtthread msh 密码管理

2022-10-18 17:02:49 973

转载 在main()之前,IAR都做了啥?

最近要在Cortex-M3上写一个简单的操作系统,打算使用IAR,为了写好启动代码,花了一些时间了解了IAR在main()以前做了些什么事。首先系统复位时,Cortex-M3从代码区偏移0x0000’0000处获取栈顶地址,用来初始化MSP寄存器的值。接下来从代码区偏移0x0000’0004获取第一个指令的跳转地址。这些地址,是CM3要求放置中断向量表的地方。这里是一个程序的启动区的反汇编:__vector_table:08004000 260008004002 200008004004

2022-09-19 09:28:29 314

原创 滤波电容的选择

滤波电容主要看容值和耐压值电容尺寸=容值x耐压值。电容价格=容值x耐压值。电解和钽电容耐压值要x2倍使用,陶瓷电容至少x1.5倍使用电容选择的逻辑是频率越高,电容越小器件频率/滤波电容值音频100~1KHz10uF~100uF以上音频20~100Hz100uF~220uF电机等1K~100KHz1uF~10uF普通IC1M~10MHz100nFMCU10M~100MHz10nF射频RF900M~2.4GHz12pF~33p

2022-09-19 09:19:33 10980 2

原创 Allegro学习笔记之——覆铜

选中Shape圆——>右键->选择Expand/Contract点击+是往外扩10mil,点击-是往内收10mil,后面的10mil是外扩或收缩的半径。

2022-03-16 09:52:37 7029

原创 stm32f4 CubeMX生成IAR工程 移植ST官方 Bootloader 教程

目录一、前言二、CubeMX生成 IAR 工程1.CubeMX生成工程2.官方的IAP例程三、移植bootloader1.移植相关代码2.flash_if.h文件修改3.准备App程序4.烧录*.bin四、调试及其他注意事项1.中断向量表偏移没设对2.进入App后时钟起不来或时钟混乱3.在bootloader的工程里怎么调试app程序一、前言产品发布后的升级不能再依赖于烧录器,如果能用产品预留的串口就可以更新芯片的APP程序,对于一些不便于拆卸的产品,这种维护方式非常好用。bootloader的代码有

2022-03-15 22:04:44 4912

原创 stm32 RCC global interrupt 等不常见中断

stm32中断向量表里有很多中断都很少碰到,但是在CubeMX配置的时候又有本篇文章来记录下stm32 不常见中断1.RCC global interrupt中文资料中基本上没有提及这个中断。我在外网EMCU这个网站找到对于这个中断的叙述,大意是CubeMX配置了RCC global interrupt中断后,当在程序执行过程中改变时钟速度配置的时候会在时钟配置操作结束进入这个中断。看上去是时钟在降频升频过程中调用的中断,本人没有触发过,有用到的小伙伴可以补充下。In the RCC – NVI

2022-03-15 15:50:38 4261

原创 标准差分母是n和n-1的区别(有偏估计与无偏估计)

2022-03-03 10:52:14 6573 2

原创 Source Insight 4.0 项目名称重命名

有时候我们复制了Source Insight 4.0的项目后需要重命名,但是怎么操作呢?打开项目后再Project->Copy Project.输入一个新的项目名称,然后可以选择修改项目存放路径,点OK确认。然后为了原来的*.si4project就可以删除了。再次进入Project->Open Project 里就有新的项目名称的选择了。...

2022-01-10 14:19:44 3352

原创 如何选择合适的运放

目录处理直流信号1.原信号的输出阻抗/输入失调电流2. 输入失调电压3. 温漂4.耗电5.工作电压处理交流信号1.交流信号频率2.交流信号幅值3.增益带宽4.工作电压5.开环增益6.噪声密度处理直流信号1.原信号的输出阻抗/输入失调电流即原信号的带载能力,如果带载能力很小说明输出阻抗很大,对运放要求输入阻抗要远远大于原信号输出阻抗,否则运放的输入偏置电流就会对原信号的影响非常明显。如果规格书没有输入阻抗,可通过输入失调电流来判断。2. 输入失调电压输入失调电压正负值都有,包括典型值和最大值,如果

2021-08-26 14:18:00 2853

原创 Allegro 隐藏GND的飞线/元件对齐/更新封装/删除多余走线和覆铜/生成闭合outline等问题

点击下图所示按钮在Properties -> General Properties -> No Rat, 这里可以修改显示不显示Rat(鼠线)。

2021-08-26 13:25:36 4820

原创 运放参数 分析 (LMC6482 为例)

Input offset voltage 输入失调电压(MIN 代表参数的最小值 TYP 代表参数的典型值 MAX 代表参数的最小值)输入失调电压的测试方法是将运放的两个输入端接地,测输出电压,理想运放此时输出应该是0V,但由于制造工艺问题会造成两个输入端不对称。将此时的输出电压除以运放的增益倍数就是失调电压。比如LMC6482运放的输入失调电压Vos为0.11mV,电压增益是130dB,那么测得的输出失调电压就是14.3mV。放大系数转化为分贝的公式为:20×lgA,其中A为放大系数所以,.

2021-08-25 18:16:24 3492

原创 Allegro图层名称与Gerber文件名称关联

GTL—toplayer 顶层—Allegro Top层GBL—bottomlayer 底层—Allegro Bottom层GTO—TopOverlay 顶层丝印层—Allegro Silkscreen_Top层GBO—BottomOverlay 底层丝印层—Allegro Silkscreen_Bot层GTP—TopPaste 顶层表贴(做激光模板用——钢网)—Allegro Pastemask_Top层GBP—BottomPaste 底层表贴—Allegro Pastemask_Bot层GT

2021-08-25 10:22:24 920

原创 结合模电分析电流源电路(简单晶体管电流源,Howland电流源,压控电流源)

目录一、模电中学过的基本电流源电路A.简单电流源B.比例电流源电路C.镜像电流源一、模电中学过的基本电流源电路A.简单电流源B.比例电流源电路C.镜像电流源

2021-05-16 18:07:12 7707 2

原创 Cadence OrCAD 导出BOM/编辑原理图库时的复制与粘贴

大公司可以有专门的数据原维护CIS数据库,不会出现这种问题。小公司或个人就需要手动添加料号。1.在OrCAD里填加料号/物料描述/供应商型号在下面这个图中增加一列,点击New Property一般命名成Part Number。物料描述Description供应商型号Manufacturer Code我个人喜欢再添加一列物料属性有些物料不在BOM上体现,比如NC的电容电阻,我们可以新增一个NoBOM的属性。Tools - > Bill of MaterialsHeader这

2021-03-08 10:01:34 3728

原创 用DC-DC 升压降压以及产生负电压的原理及应用

文章目录前言一、Boost和Buck电路二、实际使用1.DC-DC芯片2.DC-DC芯片产生负电压前言在设计电源电路时经常会用到升压降压和负电压等电路,博主结合理论知识和实际应用加上自己理解,分享这篇文章。一、Boost和Buck电路推荐一个B站视频:https://www.bilibili.com/video/BV137411X7Te?from=search&seid=15078284696909984405理解Boost和Buck电路的原理楼主认为只要记住电感两端的电流不能突变,

2021-02-18 17:10:18 34940

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除