
串口数据传输当中的共用体和结构体转换
在嵌入式系统中,串口数据传输通常以字节为单位进行。但是对于一些特殊的数据类型,比如浮点型,如何在内存中表示呢?以浮点型变量float a=231.5为例。

串口 DMA 发送竟然用局部变量作缓存?
曾经有个同事以串口查询方式发送数据,我对他进行了一番批评。因为我们有DMA资源可用,所以我无法忍受他不使用DMA这个性能优越的方式。所以当时我告诉他,如果有时间的话就改用DMA。

使用 Visual Studio 进行嵌入式软件开发?
在RTOS和MCU软件的开发中,我们通常使用Keil、IAR等集成开发环境(IDE)进行开发。最近,微软Visual Studio团队的成员宣布,Visual Studio 2022预览版引入了全新的嵌入式开发功能。

嵌入式工程的文件怎么安排比较合理?
在实现嵌入式系统时,通常会使用C语言。当代码规模逐渐增大后,会经常遇到各种问题,比如如何将大量的源文件组织在不同的目录中、如何管理头文件(.h)和源文件(.c)、如何存放说明文档和源文件,以及移植性的考虑。

嵌入式环境下并发控制与线程安全
代码规模日益增大和基于RTOS的多线程技术使嵌入式软件开发越来越关注“并发控制和线程安全”,当多个执行线程(指正在运行代码的任意上下文,包括线程和中断服务程序)需要访问相同的共享资源时(包括软件数据和硬件资源),就可能因为竞态而导致错误。

嵌入式中的强符号和弱符号是个什么东东?
**__attribute__**是一种编译器指令,它是GNU C的一种机制。它可以在声明变量、函数、参数、方法、类等时提供一些属性,在编译阶段起作用,用于多样化的错误检查和高级优化。

Linux Bash 提示符的一些骚操作
在 Linux 环境下打开 Shell 终端时,你会看到类似以下内容的 Bash 提示符:[user@。其实,你可以自定义这个命令行提示符,添加许多有用的信息。