编译基于DSO138示波器硬件的开源工程DLO-138
DLO-138是针对DSO138学习型示波器的开源代码,如果你希望对138软件进行修改(或者增加通道),那么基于这个工程应该是不错的。步骤:1 准备工作下载开源代码DLO-138:https://github.com/ardyesp/DLO-138安装arduino1.8.5(高版本可能支持stm32有问题)下载Arduino_STM32:https://github....
DLO-138是针对DSO138学习型示波器的开源代码,如果你希望对138软件进行修改(或者增加通道),那么基于这个工程应该是不错的。
步骤:
1 准备工作
下载开源代码DLO-138:
https://github.com/ardyesp/DLO-138
安装arduino1.8.5(高版本可能支持stm32有问题)
https://github.com/rogerclarkmelbourne/Arduino_STM32
准备一个DSO138的板子(淘宝有卖,建议买今越电子原厂的,支持下该公司)。
安装Arduino_STM32\drivers\win下面的驱动
2 配置:
将Arduino_STM32放到目录:
C:\Users\yourname\Documents\Arduino\hardware
如果没有hardware目录就创建一个
启动Arduino,选择下面类别:
STM32 Boards / Generic STM32F103C; Variant: STM32F103C8
安装adafruit gfx lib:
安装Arduino SAM开发板(需要使用里面的编译环境)
配置正确后界面差不多这样:
3 更新bootloader :
Stm32里面的bootloader要更新为STM32duino bootloader才能通过arduino的应用下载。
下载:https://github.com/rogerclarkmelbourne/STM32duino-bootloader
我选用
STM32duino-bootloader\bootloader_only_binaries\dso138_boot20.bin,用st-link 通过st-link v2烧写进去,烧写成功后DSO138的usb口就变成usb串口被电脑认出而被arduino使用。
烧写boot界面如下:
烧写完成后Arduino 就可以用开发板虚拟出来的usb串口方式烧写程序了。
烧写画面:
烧写开源固件启动画面是这样的:
1k内置波形图:
这个开源程序支持按ok按键把数据通过串口上传给pc(程序使用的串口就是烧写程序的usb口):
Arduino 内建的串口绘图器也可以绘制波形图,要实现这个功能,需要略微修改下代码。
打开capture.ino,增加下面函数:
void dumpCh1(){
for(uint16_t k = sIndex; k < NUM_SAMPLES; k++)
DBG_PRINTLN((ch1Capture[k] - zeroVoltageA1) * adcMultiplier[rangePos]);
}
然后让dumpSamples()直接调用这个函数返回。
// ------------------------
void dumpSamples() {
return dumpCh1();
// ------------------------
这样改动每次按下ok按键后会上传一次波形(实时上传收传输速率瓶颈限制,会导致波形采样点丢失,所以只传历史数据),捕获波形如下图:
参考文档:
http://stm32duinoforum.com/forum/wiki_subdomain/index_title_Uploading_a_sketch.html
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)