STM32 H7 上配置 LwIP 的 mDNS 本文详细介绍了如何在STM32H7微控制器上使用LwIP堆栈配置mDNS服务,包括启用IGMP,设置MAC过滤器,启用mDNS响应器,以及注册服务和进行测试。通过这些步骤,设备可以在本地网络中通过.mdns域名进行发现和通信。
Qt中解决编译中文乱码和编译失败的问题 编译时只要CPP中有中文,都会无法识别报错。设置编辑器UTF-8编码,并且保存BOM头。将含有中文的CPP文件修改,点保存就能解决,QT 原minGW切换到MSVC后,QString赋值常量字符串,显示乱码解决办法。
FreeRTOS与uCOS II的比较(嵌入式实时系统) FreeRTOS的做法实现了投递消息与取出消息的解耦,但这带来了一个问题,就是当某个任务投递完一个消息,并使A任务就绪了,而在A任务执行前,又有一个高优先级的B任务从这个消息队列中取出了该消息,那么A任务在以后试图从消息队列中取出消息时,会出现失败,这是FreeRTOS中所有内核对象的pend操作都可能会出现的情况,内核的做法是会重新计算超时时间,只要没超时,就重新阻塞(按新的阻塞时间),这种设计会降低内核的执行效率。另外,可能有的同学不理解为什么中断执行时间少了,系统的实时性就好了。
工程师笔记|使用CubeMx生成未在MC SDK V5.4.4 中包含的芯片的电机控制代码 由于 MC Workbench 软件芯片选择有限,不可能包含所有 ST 的产品料号,因此客户需要使用该软件时,会发现备选的芯片料号并未包含在 workbench 中。如果有 Demo 板和电机,则选择对应的 Demo 板与电机型号,如果没有直接选择 customer board,这边我们看到没有Nucleo-STM32G474RET6,因此我们选择 customer board。因为我们使用了现成的功率板与电机,这边我们使用默认参数即可,如果是自己电机与功率板,请参考 ST 往期的技术培训。
Stm32g031芯片无法进入bootloader的及首次烧写完程序reset无法运行原因分析 因为芯片首次运行进行了空位检查,此时的empty 标志位(即OBL_LAUNCH)已经置位了1,当使用swd烧写完程序后,无论是软件reset还是芯片的reset管脚复位,都无法把empty标志为清0,芯片会在每次的reset后都进入bootloader状态,而不会进入main flash区。上面3个问题已经研究清楚了,那么如何更改芯片默认的启动方式呢,根据上面的分析,我们应该更改0x1fff 7800处寄存器的nboot_sel bit为0即可使用芯片的boot0管脚来决定芯片如何启动。