头像-219588

Angel_YY

  • 3石家庄市
  • 嵌入式
  • 汽车电子

个人成就

获得 1451 次赞

帮助过1156人

STM32的USB设备可以做HOST使用吗

STM32的系列产品非常丰富,有些是支持做为Host使用的,有些不支持,需要看具体芯片才能知道,一般芯片手册中会有详细描述,另外在STM32CubeMX中可以通过选择USBDevice和USB_OTG来筛选,支持USBOTG的就可以作为HOST来使用。比如STM32F103系列就不支持USB的HOST,而STM32F7和H7系列一般都支持USB作为HOST。

STM32CubeIDE 怎么样,有BUG么

STM32CubeIDE是ST推出的基于Eclipse的STM32集成开发环境,目前有windows版本和linux版本。由于集成了STM32CubeMX功能,对于创建工程和设置属性是非常方便的,本人用过一段时间linux版本,稳定性还是可以的,任何系统也不敢说完全没有bug,包括商业软件Keil和IAR,目前来看STM32CubeIDE稳定性还是可以的。STM32CubeIDE使用的是GCC编译器,编译单片机程序没有问题,但是效率可能没有IAR或者Keil高,所以个人建议如果是DIY或者小型项目,可以考虑使用STM32CubeIDE作为编译器使用,如果是需要大批量生产的项目,尽量考虑有商业技术支持的Keil和IAR。

C++开发单片机有哪些优势和劣势?

对于单片机开发而言,在底层驱动和os层面,使用执行效率更高的C语言开发更为广泛,因为单片机本身性能就有限,所以尽可能是用执行效率更高的语言开发更合理,当然汇编语言执行效率是最高的,但是编码效率太低了,对于编码人员要求较高。C语言则是在综合考虑执行效率和编码效率之后的最佳选择。对于单片机应用层的开发,比如图形界面,网络协议栈等,则更适合使用C++来开发,因为到应用层对于执行效率的考虑就没有驱动层那么重要了,更多的是要考虑对于功能实现的便利性。C++的面向对象设计思想就非常适合图形界面的开发,类和对象的引入正好符合界面控件的属性需求,尤其是继承,派生,多态等思想,对于快速开发应用程序而言是非常合适的。

uboot可以清除nand flash么

uboot中是由关于nand flash操作的命令的(编译uboot的时候需要选中相应功能),使用nand erase 命令就可以擦除数据。​NAND Flash 的特性决定了在向 NAND Flash 写数据之前一定要先对要写入的区域进行擦除。“nand erase”命令有三种形式:nand erase[.spread] [clean] off size //从指定地址开始(off)开始,擦除指定大小(size)的区域。nand erase.part [clean] partition //擦除指定的分区nand erase.chip [clean] //全篇擦除​擦除后配合nand write命令在写入新的数据即可。

请推荐学习arm cortex m0编程的书

STM32F030也是不错的M0内核开发板,从芯片的角度看ST和NXP的各有特色,但是个人感觉ST的软件生态好一些,使用CubeMX配合HAL库,开发很方便。ST的虽然也有类似的工具,但是个人感觉不好用。

firefly1300万摄像头压碎乐sensor还可以修复么

摄像头压碎了是没办法修复的,即使外形恢复了,电路部分也修复不了,尤其是感光元器件是没办法修复的,直接更换一个新的吧。

网口的地址一般使用什么配置

网口的地址是指的IP地址还是MAC地址,如果是MAC地址,批量生产需要向相关组织申请MAC号段,如果是自己临时使用,自己随便写一个与网段内其他MAC地址不冲突即可。MAC地址一般保存在EEPROM或者类似的存储器中,代码中写死也是可以的。如果是IP地址,与本地局域网号段一致即可。

Linux下如何高效扫按键

在linux内核源代码中,有按键的处理代码,具体位置在drivers/input/keyboard/ 下面。按键有两种情况,独立按键和矩阵键盘。这两种情况,内核中都有考虑,GPIO 独立按键是 gpio_keys.cGPIO 矩阵键盘是 matrix_keypad.c可以参考该方案进行矩阵键盘扫描。或者可以使用类似PCA9555D这种IIC转IO,可以把所有矩阵键盘操作通过IIC接口来实现,既节省IO,也方便操作。