|
试着回答一下,不一定正确,仅供参考
1、arduino 使用ATMEL芯片的版本都是8bit,没有16bit的,用的芯片不同,主要表现在程序存储容量有差距,MEGA328是32K容量,MEGA2560是256K程序存储容量。现在也有使用STM32芯片的。
2、算法不同是关键。由于STM32的容量大,运算速度快,程序开发人员完全可以按软件工程的规范来写程序,程序易懂性、结构清晰、可移植性强,反观基于ATMEGA芯片的飞控,由于要过多考虑程序效率和容量,因此算法简单,程序可读性差,可移植性也很差。
3、STM32的芯片多数IO口还是兼容5V的,设计时和RC接口使用这些兼容IO即可,有的飞控还串了个保护电阻。
4、当然,硬件发展的速度越来越快,cleanflight和betaflight都已经不再支持F1系列了!我觉得主要是因为F1没有浮点运算且存储容量小。cleanflight和betaflight程序使用了任务切换,PIX使用了nuttx操作系统管理任务,这些都需要强大的硬件支持。
先说这么多,再讨论。
|
|