Angel_YY
获得 1451 次赞
帮助过1156人
ST官方现在主推STM32CubeIDE,所以TrueSTUDIO也就不会有更新了。根据现在发展方向看,STM32CubeIDE会逐渐流行起来。如果不是现有工程维护必须使用TrueSTUDIO,建议更换开发环境到STM32CubeIDE。总之跟着ST官方的步伐前进应该错不了。
如果只在Windows平台做上位机,那么Visual studio 是最好的开发工具。开发语言的话根据自己需要,推荐使用C++。如果需要跨平台,或者在linux上位机系统使用,那么使用QT,开发语言同样推荐C++。
这个问题要这么看,如果是功能很简单的设计,比如只是测量个温度,那么就完全不需要实时操作系统,使用很少的RAM就可以了。如果是功能比较复杂,比如需要完成的网络,串口通讯,图形显示,其功能本身就会需要很多的RAM了,此时在使用实时系统是合理的,此时实时系统本身的RAM开销相对于网络和图形系统来说,也不算很大。如果仅仅就实时系统本身而言(比如FreeRTOS),功能通过裁减,可以在2K RAM系统图中使用,对于RAM的要求并不是很高。
C语言的goto语句可以跳转到程序的任意标号位置,这样对于程序的结构是极大的破坏,因为很有可能跳转到不可控位置,而没有返回的机会,导致程序跑飞等情况。而如果使用return ,break等语句进行可控的跳转,则不会风险要小的多。所以现在的C语言程序设计中很少使用goto语句了。
18650只是电池体型的描述,并不能确定电池具体类别,如果是三元材料的电池,充电电压可以达到4.2V没问题,如果是磷酸铁锂的电池(同样有18650的),它的充电电压最高只能是3.7V,稳定电压在3.3V左右,这时如果按照三元材料电池的4.2V去充电,那么电池就会过冲,导致电池损坏。所以首先要搞清楚是那种材料的电池。如果确定是充电电压4.2V的三元电池,充电到3.9V发热并充不上去了,那只能是说明电池损坏了,建议更换电池。
8位单片机中最早最出名的是C51内核,但是后续很多单片机厂商开发了很多私有8位内核,其中比价有名的有ST的STM8,NXP的S08等等,都是非51内核。而且应用也很广泛。
串口和CAN接口无法直接通讯,必须要有中间转换设备,波特率的话串口使用115200,CAN使用100K,这个需要在转换设备上进行设置,如果上位机是PC的话使用USB转CAN是最合理的。