Mind+可视化编程环境初探
这个是大疆的TT无人机套件
https://www.dji.com/cn/robomaster-tt/downloa
官方的群提供的资料解压看到的是一个目录
https://www.dji.com/cn/robomaster-tt?site=brandsite&from=nav
里面有一些文件
官网对中文和英文提供了支持
平台看上去是三端打通了~
还可以在线编辑
也可以用crx插件去编写
就是这个sd3的修复
http://wiki.dfrobot.com.cn/
https://mindplus.dfrobot.com.cn/RMTT
https://mc.dfrobot.com.cn/forum-165-1.html
https://mc.dfrobot.com.cn/forum-165-1.html
01
支持图形化编程,入门门槛低。
拖动图形积木即可进行编程,让你轻松跨入编程世界的大门。
02
支持三大主流开源硬件平台,可脱机运行。
Mind+完美的将当前科技教育中的主流开源硬件平台进行了整合,使其拥有一致的使用体验,并且可以脱离电脑运行,让你摆脱电脑的束缚,改造真实世界。
03
支持海量电子模块,一键添加。
拥有强大的硬件扩展功能库,直接使用即可以对上百种硬件模块,包括各种传感器、执行器、通讯模块、显示器、功能模块进行编程控制,同时Mind+还开放了扩展库,给你丰富的扩展空间进行无限的创造。
04
自动转换Python代码,可手动编辑。
使用图形化积木编程时可以自动转换为Python或C代码,对照学习很轻松,同时也可以手动编辑代码,让你轻松进阶编程达人。
安装主控
无脑,我同意
选择位置
运行
打开的样子
接着是尝试集中布局,在下翻有截图.自己看看
这个是全屏模式
初次打开的样子
这个代码不可以自己编辑,结果尝试,只有右键可用
这个区可以自己编辑,自动补全可以用,比较惊喜
默认的颜色是monokai
右键切换颜色
可以看到是arduino的写法
基本是上就是C++
这个地方是串口的使用区
可以自己编写函数使用
C:\Program Files (x86)\Mind+\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -I C:\Program Files (x86)\Mind+\Arduino\hardware\arduino\avr\cores\arduino -I C:\Program Files (x86)\Mind+\Arduino\hardware\arduino\avr\variants\eightanaloginputs -I C:\Program Files (x86)\Mind+\Arduino\hardware\arduino\avr\cores\arduino -I C:\Program Files (x86)\Mind+\Arduino\hardware\arduino\avr\variants\standard C:\Users\yunswj\AppData\Local\DFScratch\cache\dfrobot.ino.cpp -o C:\Users\yunswj\AppData\Local\DFScratch\cache\dfrobot.ino.o
C:\Program Files (x86)\Mind+\Arduino\hardware\tools\avr\bin\avr-gcc -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.elf C:\Users\yunswj\AppData\Local\DFScratch\cache\dfrobot.ino.o C:\Program Files (x86)\Mind+\Arduino\static/core/uno/core.a -lm
"C:\Program Files (x86)\Mind+\Arduino\hardware\tools\avr\bin\avr-objcopy" -O ihex -R .eeprom "C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.elf" "C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.hex"
项目使用了444字节,占用了(1%)程序存储空间,余留31812字节,最大为32256字节。
全局变量使用了9字节,(0%)的动态内存,余留2039字节局部变量,最大为2048字节。
C:\Program Files (x86)\Mind+\Arduino\hardware\tools\avr\bin\avrdude -CC:\Program Files (x86)\Mind+\Arduino/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM5 -b115200 -D -Uflash:w:C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.hex:i
avrdude: Version 6.3-20171130
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Mind+\Arduino/hardware/tools/avr/etc/avrdude.conf"
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.hex"
avrdude: writing flash (444 bytes):
Writing | ################################################## | 100% 0.08s
avrdude: 444 bytes of flash written
avrdude: verifying flash memory against C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.hex:
avrdude: load data flash data from input file C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.hex:
avrdude: input file C:\Users\yunswj\AppData\Local\DFScratch\build\dfrobot.ino.hex contains 444 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.06s
avrdude: verifying ...
avrdude: 444 bytes of flash verified
avrdude done. Thank you.
上传成功
我个人喜欢研究一点比较深入的东西
我把日志抓出来了,看看什么情况
首先看一开始
avr->bin->g系列的编译器,跟着一堆参数
一会儿查,有一些参数我没有用过~
两个参数
我从官网找了一点资料,参数的作用
这个也是avr的工具,参数更加详细和齐全嗷
还记得Linux里面的男人库吗?就是这个嗷
https://helpmanual.io/
https://helpmanual.io/
http://ccrma.stanford.edu/planetccrma/man/man1/avr-objcopy.1.html
https://helpmanual.io/help/avr-objcopy
这个就是安装目录,可以看到是占了我的C盘
用vscode打开,看看里面有什么
我直奔avr的bin目录,可以有个json文件
这个json就好像是一种配置文件.我们读一下
我缩进了一些项目,然后可以看到是两个平台的配置
我们首先看这个平台的支持的开发板
可以看到是一个闭包,里面是编译工具.以及一些精确的版本信息
标准的C库的实现,第一个就是申请内存的函数
发现了一个ctags,懂得都懂~
从日志里面看到输出文件的目录,我们来一探究竟
文件的输出的目录
可以看到就是一个cpp的文件
这个是Ardunio的文件,用一些源码读取的软件读取的话
可能读取不到,改成cpp就好
我重新把路径格式化了一下
这个就是Ardunio的库
这个是头文件的大纲,可以看到很多常见的函数都在这里进行了实现
这个就是Ardunio的头文件
main是什么文件呢???也没有细看
sb3文件,就是这个.在上面提到了这个东西的恢复
还有一些example,下期我们深入探究.
他们在哪里