STM32 模拟串口(UART)使用!
首先,我们需要添加相应的头文件。由于我们要进行串口模拟,因此我们需要先了解UART相关的通信协议。UART的通信方式是通过一个起始位、8个数据位、一个奇偶校验位和一个结束位来传输数据。因此,我们将使用单片机中的两个普通IO口的高低电平来模拟相应的时序。
STM32 USB 虚拟串口详细步骤!
在开发过程中,我们将使用stm32f103c8t6微控制器,并且使用HAL库以及CUBE自带的USB库。我们将使用vscode和gcc进行编译。工程文件可以在文末的链接中下载,提供了makefile和keil两个版本。
嵌入式软件中如何管理系统数据?
对软件架构的认识有很多不同的观点和争议。在我的观点中,软件架构是指软件系统的基本结构,包括组件、组件之间的关系、组件的设计和演进规则,以及支持这些规则的基础设施。
什么是嵌入式环境下的并发控制?
随着代码规模的增加以及基于实时操作系统(RTOS)的多线程技术的应用,嵌入式软件开发对于”并发控制和线程安全”的关注越来越重要。当多个执行线程(包括线程和中断服务程序)需要访问相同的共享资源(包括软件数据和硬件资源)时,可能因为竞态而导致错误。虽然这种错误很容易发生,但很难被发现,所以在设计阶段保证正确性的收益更为重要。
嵌入式中,获取程序运行时间的两种方法!
在单片机编程中,了解程序执行所需的时间、while循环周期以及delay延时函数的准确性是非常重要的。然而,由于懒惰或者缺乏简单的方法,我们常常会把这些问题推到以后解决。为了解决这些问题,本文提出了一种简便的测试方法。
回调函数在嵌入式中的实际应用!
在常规的STM32或其他单片机开发中,通常会使用由芯片厂商提供的固件库函数。这些固件库函数中包含了许多回调函数。那么什么是回调函数呢?回调函数是一种作为参数传递给另一个函数的函数。接受回调函数作为参数的函数会在特定的时间点执行它。回调机制使得底层软件层可以调用上层软件层定义的函数。
如何快速读懂嵌入式系统架构?
如果你希望成为一名现代嵌入式系统工程师,那么在项目的初始阶段就需要确定系统的架构。系统的架构涵盖了硬件和软件两个方面。硬件部分不仅决定了系统的复杂性和成本,还决定了后续软件逻辑的实现方式。一旦确定了架构,在项目进行中就很难进行修改。
汇总嵌入式日志输出的几种方法!
嵌入式开发的一个特点是在很多情况下没有操作系统或者文件系统,传统的将日志打印到文件的方法并不适用。最常用的方式是通过串口输出UART日志,例如51单片机,只需要实现串口驱动,然后通过串口输出即可。
嵌入式固件升级防变砖的几种方法
汽车软件Boot程序的主要功能是刷新App程序。在一个具体的客户项目中,Boot程序也是客户需求的一部分,通常会有一个软件开发计划与项目一同进行(有时为了与其他的Boot程序区分,将项目上的Boot程序称为CB,即Customer Boot)。

