Angel_YY
获得 1451 次赞
帮助过1156人
16bit的Cortex M7,我猜想应该是16bitADC的M7芯片吧,这里以TM32为例,可以使用STM32CubeMX或者STM32CubeIDE来进行芯片选型,其中STM32的H7系列是支持16bitADC的。当然如果16bit是指的DAC,那么目前STM32肯定没有,其他MCU可能性也很小。
Keil没有支持STM8的版本,STM8个开发工具,官方推荐的是IAR和STVD-STM8,或者是Cosmic的free IDEA,后两者其实算是一回事,目前STM8主流的开发工具还是IAR。
单片机实现MQTT协议有很多家的与服务器提供商都有提供源码,比如OneNET,阿里云都有使用单片机实现MQTT协议连接其云服务器的例程,可以参考其文档。以OneNET的麒麟座开发板为例,其中就实现了STM32F103使用MQTT协议连接OneNET云服务器的源代码,而且还有客户端调试器,如果自己的工程中需要用到MQTT协议,只需要参照该源代码进行简单的移植就可以。本社区的文章频道也有几篇关于单片机使用MQTT协议的文章,也可以参考一下。
如果Arduino上有扩展板或者传感器,占用了Arduino的 D0或者D1引脚,就会造成上传失败,这两个管脚是和串口Rx,Tx公用的,所以上传程序时最好卸载掉Arduino上的扩展板或者传感器,至少D0和D1管脚上不能有任何连接器件,否则会上传失败。
重点考虑总线首位端是否有120欧的终端电阻,这也是CAN标准推荐的终端电阻阻值。CAN总线终端电阻的作用有两个:1、提高抗干扰能力,确保总线快速进入隐性状态;2、提高信号质量。如果没有匹配这个电阻,CAN速率稍高就会造成通讯失败。此外可以考虑使用USB转CAN接入总线,上位机上观测总线上的数据是否正常,以判断是哪里出了问题。
STM32远程升级服务器可以考虑OneNET云服务器,阿里云服务器,此外RT-Thread有完整的远程升级方案,包括云服务器系统,bootloader,app等示例都有,可以参照。
树莓派本身没有开关机硬件支持,上电就会自动开机,在停电情况下,电源回复即可自动开机运行,不会有问题。要实现定时开机需要外部实现定时器控制电源的电路,比如Arduino nano外接RTC,然后控制一路继电器,继电器串接到树莓派电源中,这样可以DIY一个定时硬件电路,软件读取RTC时间,满足要求闭合继电器即可。