MCU
文章平均质量分 77
Let's Chat Coding
实时嵌入式系统软件开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MCU嵌入式初始化架构
这行代码定义了一个名为的类型,它是一个函数指针类型,指向无返回值、无参数的函数。这是一个宏定义,用于将指定的函数fn放入一个特定的编译器节(section)中。MR_USED和MR_SECTION可能是特定于编译器的宏,用于确保函数指针不会被优化掉,并将它们放在特定的内存节中。节名由和提供的level参数组成。这些宏定义简化了将函数分配到特定初始化阶段的过程。例如,会把函数fn放入名为的节中,通常用于板级初始化。这种机制允许开发者按预定的顺序(由level。原创 2024-04-27 18:08:01 · 48 阅读 · 0 评论 -
STM32F030C8T6 DMA
实质上这是存在风险的,当DMA传输数据完成,CPU介入开始拷贝DMA通道buf数据,如果此时串口继续有数据进来,DMA继续搬运数据到buf,就有可能将数据覆盖,因为DMA数据搬运是不受CPU控制的,即使你关闭了CPU中断。经过测试发现,该方法在发送数据量较小时可行,数据量大后,导致发送失败,而且不会触发DMA发送完成中断。关于这个问题,与具体应用场景有关,遵循的原则就是:只要发送fifo的数据量大于等于DMA发送buf的大小,就应该填满DMA发送buf,然后启动DMA传输,这样才能充分发挥会DMA性能。原创 2024-04-27 13:52:37 · 544 阅读 · 0 评论
分享