- 博客(4)
- 收藏
- 关注
原创 HAL库中的#ifdef __cplusplusextern “C“ {}
可以确保在这个代码块内的函数和变量的命名遵循C语言的规则,以便与C代码进行正确的链接和交互。这种做法非常常见,特别是在涉及到 C 和 C++ 代码混合使用的情况下。: 这是C++的语法,用于告诉C++编译器在大括号内的代码块中使用C语言的命名和语法。C++有一些不同于C语言的命名和语法规则,但有时需要与C代码进行交互。在这个块内,一般会放置一些 C 语言的函数声明、变量声明或其他与 C 语言兼容的代码。HAL的头文件中有很多的#ifdef __cplusplus的代码,记录一下用途。,则执行后续的代码。
2023-10-11 17:50:44 264
原创 HAL库已经#include uart.h和dma.h仍然报错#20: identifier “DMA_HandleTypeDef“ is undefined
头文件中可能包含了定义、声明、宏、类型和函数原型等信息。正确的头文件引用顺序能确保符号在编译时正确解析。以下是头文件引用顺序的一些重要原则和影响:1. **依赖关系**:头文件的引用顺序应该考虑到文件之间的依赖关系。如果文件A依赖于文件B中定义的内容,那么应该先引用文件B,再引用文件A。2. **定义和声明**:头文件可能包含类型的定义、变量的声明、函数的原型等。如果某个头文件定义了某个类型,另一个头文件依赖于这个类型,则应该先引用定义类型的头文件,然后再引用依赖该类型的头文件。
2023-10-11 12:39:18 1411 1
原创 运行可执行文件 提示:段错误 (核心已转储)
当你在运行程序时遇到段错误,你可以使用调试器(如GDB)来获取更多的信息,定位导致段错误的具体原因。然而,编译器无法在编译时完全检测出所有可能导致段错误的问题,因为一些错误只有在运行时才能被检测到。段错误通常是由于程序在访问无效的内存地址时触发的,这些无效的内存地址可能是由于上述列举的问题导致的。要解决段错误,你需要检查程序中可能导致错误的部分,特别是涉及指针操作和内存管理的地方。"段错误 (核心已转储)" 是一种常见的运行时错误,它通常表示程序访问了无效的内存地址。
2023-06-26 17:11:40 9860
原创 单片机串口通讯RXD与TXD如何对接详解
单片机与计算机或者芯片通信时,RXD与TXD如何连接比较困惑。因为在一些电路图中,有的是直连接法,有的是交叉接法,让人有点摸不着头脑。首先需要明白两个概念,就是DTE和DCE :DTE :数据终端设备,典型的DTE就是计算机和单片机。DCE:数据通信设备,典型的DCE就是 MODEM。RS232串口标准中的RXD和TXD都是站在DTE立场上的,而不是DCE。明白了这一点,再讲下面的接线方法,就很好理解了。单片机与计算机进行串口通信时,单片机的RXD接计算机的TXD,单片机的TXD接计算机
2022-02-14 15:24:06 2874 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人