使用库文件开发自己的产品,稳定性和移植性是最差的。。作为硬件工程师,应该了解自己用的单片机的寄存器操作,自己设计配置函数,这样产品出现任何BUG都可以快速跟踪和定位。。更重要的是,使用库文件,对于产品的快速移植非常不利。。因为很多时候,同样的功能函数你要在51,PIC,ARM等平台同时使用(不同价格的产品配置需要)。。。一般而言,工作时间越短的人越喜欢库文件,,工作时长了,很多人基于:时序控制和“自主控制”的需要,所以对库文件是排斥的。//
//
比如,简单的IO输入输出配置(例如:并行接口需要频繁切换IO的输入和输出的场合,SRAM/以太网/FPGA通讯等等)
//
//使用库文件:
GPIO_Initure.Pin=GPIO_PIN_All;
GPIO_Initure.Mode=GPIO_MODE_INPUT;
GPIO_Initure.Pull=GPIO_PULLUP;
GPIO_Initure.Speed=GPIO_SPEED_FREQ_VERY_HIGH;
HAL_GPIO_Init(GPIOE,&GPIO_Initure); //调用了几十条指令。
//
寄存器操作只需要4条指令。
GPIOE->MODER = 0x00000000;
GPIOE->OTYPER = 0x00000000;
GPIOE->OSPEEDR = 0xFFFFFFFF;
GPIOE->PUPDR = 0x55555555;
|
这个还是要看应用场景。比如效率要求特别高 那么有些库可能就不行 再比如 安全性有要求,要拿到一些认证 还有就是团队的开发经历 有没有对相关库特别熟悉的 有没有必要重新造轮子 现在这个时代 百花齐放 应用场景极其碎片化的时代 大家都在造各种软件轮子 硬件厂商也在造硬件轮子 总之 都为了赚钱 哈哈 总结 用什么不重要 能赚钱才是最重要的