
单片机UART升级固件流程
空中下载技术OTA(Over-the-Air Technology)是指用户自行对嵌入式设备中的用户Flash的部分区域进行烧写操作,以便在产品发布后通过预留的通信接口方便地对固件程序进行更新升级。

STM32 模拟串口(UART)使用!
首先,我们需要添加相应的头文件。由于我们要进行串口模拟,因此我们需要先了解UART相关的通信协议。UART的通信方式是通过一个起始位、8个数据位、一个奇偶校验位和一个结束位来传输数据。因此,我们将使用单片机中的两个普通IO口的高低电平来模拟相应的时序。

STM32 USB 虚拟串口详细步骤!
在开发过程中,我们将使用stm32f103c8t6微控制器,并且使用HAL库以及CUBE自带的USB库。我们将使用vscode和gcc进行编译。工程文件可以在文末的链接中下载,提供了makefile和keil两个版本。

什么是嵌入式环境下的并发控制?
随着代码规模的增加以及基于实时操作系统(RTOS)的多线程技术的应用,嵌入式软件开发对于”并发控制和线程安全”的关注越来越重要。当多个执行线程(包括线程和中断服务程序)需要访问相同的共享资源(包括软件数据和硬件资源)时,可能因为竞态而导致错误。虽然这种错误很容易发生,但很难被发现,所以在设计阶段保证正确性的收益更为重要。

嵌入式中,获取程序运行时间的两种方法!
在单片机编程中,了解程序执行所需的时间、while循环周期以及delay延时函数的准确性是非常重要的。然而,由于懒惰或者缺乏简单的方法,我们常常会把这些问题推到以后解决。为了解决这些问题,本文提出了一种简便的测试方法。

回调函数在嵌入式中的实际应用!
在常规的STM32或其他单片机开发中,通常会使用由芯片厂商提供的固件库函数。这些固件库函数中包含了许多回调函数。那么什么是回调函数呢?回调函数是一种作为参数传递给另一个函数的函数。接受回调函数作为参数的函数会在特定的时间点执行它。回调机制使得底层软件层可以调用上层软件层定义的函数。