完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近使用STM32开发一个测量系统,想将ADC采集的数据绘制波形来分析波形及其信噪比,无赖串口的传输速度太低了,USB接口硬件上又没有引出。无意中发现KEIL的UVSOCK接口居然对外开放了全部服务,这也就意味着可以在keil调试过程中通过UVSOCK来访问单片机内部的数据,为了调试方便索性就开发了KeilAssistant工具,用于调试过程中方便的查看单片机内部的数据,顺便集成了FFT和简单的谱线校正算法,即便是非同步采样也能比较准确的分析出信号的基波和谐波的频率、幅度和相位。
KeilAssistant使用python + QT 开发,pyinstaller 打包,打包环境是win64 环境,因此该软件只能在win64下工作,而且由于pyinstaller直接在Anaconda下打包导致最后输出文件过大压缩后都接近400MB,等我有时间了在去优化一下打包环境以减小最终发布版本的体积。 首先需要打开Keil的UVSOCK功能,Edit-》Configuration-》Other,勾选Enable, Port默认即可,重启Keil。 KeilAssistant(链接:https://pan.baidu.com/s/1dIOzeeld3eKypHPX8QHH9g 提取码:1zjy)下载后不需要安装,直接解压缩打开KeilAssistant.exe即可打开如下图, IP默认本机即可;Port若没有修改默认4823即可; 变量就是需要查看的数组名字,也可以是值指针,值得注意的是只有处于当前生命周期的变量才可以访问,即如果你查看的是全局变量,那么你随时可以访问,如果是局部变量,那么你必须要设置合适断点使得该变量目前正处于当前生命周期,然后才可以被成功访问。图片中DATA的C语言定义是 float DATA[2048];float在STM32里面占4个字节,因此读取DATA数组全部数据需要从DATA地址开始读取8192字节。 变量类型,字节序视情况设置; 采样频率指DATA数组数据获得时的采样频率,该值不影响数据波形的读取与可视化,但是会影响FFT频率轴的数值。 自动读取为0时表示单次读取,大于0表示以此为周期循环读取数据。 设置好后便可以按下+按钮添加一个需要读取的变量,可以添加多个需要读取的变量,鼠标右击可以删除不想读取的变量。 一切设置完毕后即可点击启动按钮开始读取变量数据,并实时的绘制其波形和FFT谱,右下侧是经过校正后的谐波分析表。 |
|
|
|
最近使用STM32开发一个测量系统,想将ADC采集的数据绘制波形来分析波形及其信噪比,无赖串口的传输速度太低了,USB接口硬件上又没有引出。无意中发现KEIL的UVSOCK接口居然对外开放了全部服务,这也就意味着可以在keil调试过程中通过UVSOCK来访问单片机内部的数据,为了调试方便索性就开发了KeilAssistant工具,用于调试过程中方便的查看单片机内部的数据,顺便集成了FFT和简单的谱线校正算法,即便是非同步采样也能比较准确的分析出信号的基波和谐波的频率、幅度和相位。
KeilAssistant使用python + QT 开发,pyinstaller 打包,打包环境是win64 环境,因此该软件只能在win64下工作,而且由于pyinstaller直接在Anaconda下打包导致最后输出文件过大压缩后都接近400MB,等我有时间了在去优化一下打包环境以减小最终发布版本的体积。 首先需要打开Keil的UVSOCK功能,Edit-》Configuration-》Other,勾选Enable, Port默认即可,重启Keil。 KeilAssistant下载后不需要安装,直接解压缩打开KeilAssistant.exe即可打开如下图, IP默认本机即可;Port若没有修改默认4823即可; 变量就是需要查看的数组名字,也可以是值指针,值得注意的是只有处于当前生命周期的变量才可以访问,即如果你查看的是全局变量,那么你随时可以访问,如果是局部变量,那么你必须要设置合适断点使得该变量目前正处于当前生命周期,然后才可以被成功访问。图片中DATA的C语言定义是 float DATA[2048];float在STM32里面占4个字节,因此读取DATA数组全部数据需要从DATA地址开始读取8192字节。 变量类型,字节序视情况设置; 采样频率指DATA数组数据获得时的采样频率,该值不影响数据波形的读取与可视化,但是会影响FFT频率轴的数值。 自动读取为0时表示单次读取,大于0表示以此为周期循环读取数据。 设置好后便可以按下+按钮添加一个需要读取的变量,可以添加多个需要读取的变量,鼠标右击可以删除不想读取的变量。 一切设置完毕后即可点击启动按钮开始读取变量数据,并实时的绘制其波形和FFT谱,右下侧是经过校正后的谐波分析表。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
728浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
567浏览 3评论
593浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 12:54 , Processed in 0.951804 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号