microcontroller相关内容

FreeRTOS:osDelay 与 HAL_delay

在使用 STM32CubeMx 创建 FreeRTOS 应用项目时,您可以使用两种方法来引入延迟,即 osDelay 和 HAL_Delay. 它们之间有什么区别,应该首选哪一个? osDelay代码: /*********************** 通用等待函数 *******************************//*** @brief 等待超时(时间延迟)* @pa ..
发布时间:2022-01-25 12:33:42 其他开发

在 SPI 问题中初始化 SD 卡

我看过 Stack Overflow 问题使用 SPI 接口初始化 microSD 卡 并没有看到任何与我的问题相匹配的答案(也就是说,我还没有尝试过的事情). 我有一个类似的问题,我试图通过微控制器的 SPI 接口(特别是 HC908).我已经尝试遵循物理层简化规范 v2.00 中的流程图,它似乎在 Transcend 1 GB & 上正确初始化2 GB 和 AE&C 1 GB 卡.但是我 ..
发布时间:2022-01-18 23:46:57 其他开发

是否可以仅使用 C# 编程来模拟 com 端口发送和接收数据?

我有一个设备通过我的计算机上的 com 端口发送数据. 我知道如何模拟它,但是必须插入控制器才能模拟发送数据(使用Proteus) 是否可以在不插入任何外部设备的情况下模拟com端口发送数据? 例如:我想写一个打开 com 端口并等待数据的 C# 程序,以及另一个在同一个端口上写入数据的 C# 程序. 解决方案 最好的方法是使用软件 COM 端口仿真器.我使用 com0c ..
发布时间:2022-01-18 15:03:31 C#/.NET

在没有 IDE 的情况下如何使用 CMSIS?

我正在使用 STM32F103C8T6 并想使用 CMSIS,本质上只是寄存器定义,没有代码,让我的生活更轻松,同时仍然保持在低水平.问题是我不知道如何安装库以在 Makefile 的命令行上使用.所有文档似乎都与特定于供应商的 IDE 绑定,例如 STM32CubeIDE. 我想首先要做的是下载 CMSIS 库,我在 GitHub 上找到了该库.但是,在解压 ARM.CMSIS.5.6.0 ..
发布时间:2022-01-17 14:14:50 其他开发

如何使用 GCC 编译器强制执行 struct 位顺序?

我想知道是否有 GCC C 编译器指令允许我确定结构打包的位顺序?喜欢的东西: #pragma bit_order left 这种需求的基本原理是我有以下结构: 结构{联合{无符号字符字节;结构{无符号字符 B0: 1;无符号字符 B1: 1;无符号字符 B2:1;无符号字符 B3:1;无符号字符 B4:4;}少量;}物品;} 我的结构; 有了这个结构,我希望编译器这样打包: 位顺序:| ..
发布时间:2022-01-17 08:53:16 其他开发

是否可以将整个数组保存在 cpu 寄存器中

在下面的代码中, int main(){注册 int arr[4];/* ... */} 'arr' 是否有可能在某个 cpu 寄存器中分配.(考虑 cpu 有 4 个或更多寄存器). 否则编译器将忽略 register 数组的存储类. 解决方案 据我了解,答案是YES和NO. 没有因为, 任何数组元素都必须是可显式寻址的(例如,对于 16 位 uC/uP,其地址应始 ..

在 Windows 上的软件中关闭 USB 设备

我想通过 Windows 上的软件重启 USB 设备. 我正在开发一个小型 USB 电源微控制器.该芯片将在电源循环时恢复到本机行为并允许下载代码.由于我的代码会在出现问题时使设备崩溃——使其忽略所有 USB 命令——我必须从系统中拔出设备. 我想远程进行开发,而不必亲自到场. 到目前为止,我已经尝试使用“devcon"来禁用部分 USB 堆栈.虽然这会将集线器带入 D3(应该关 ..
发布时间:2021-12-17 23:45:26 其他开发

为什么在STM32编程中需要无限循环?

我正在用 C (gcc) 编写 STM32F4,它是 ARM Cortex M4,我看到所有示例都以无限循环完成它们的 main() 函数,即使程序的其余部分将从中断中执行.如果我尝试从我的程序中删除循环,中断也会停止. 为什么我不能删除这个循环并退出主线程? 这是程序集(我猜是拇指,但即使有文档我也看不懂): LoopF​​illZerobss:ldr r3,= _ebsscmp ..
发布时间:2021-11-17 22:24:38 其他开发

为什么 Cortex-A 的重置处理程序位于 0x0 而不是 Cortex-M3

Cortex-M3 的初始堆栈指针值位于 0x0,重置处理程序位于 0x4 的原因是什么?这样做的设计理由是什么? 为什么 ARM 人员不能像他们为 Cortex-A 所做的那样将 0x0 留给重置处理程序,然后在重置处理程序中初始化 SP? 解决方案 我认为这个方案属于“这不是一个错误,它是一个功能"的旗帜. ARM 架构 M(微控制器)配置文件与 A 和 R 配置文件具有完 ..
发布时间:2021-11-17 22:15:08 其他开发

如何在数据部分 (RAM) 中保留一定范围的内存并防止使用该内存的同一应用程序的堆/堆栈?

我想在 RAM 中保留/分配一定范围的内存,并且同一应用程序不应覆盖或使用该范围的内存进行堆/堆栈存储.如何在受堆栈/堆覆盖保护的 ram 中分配一定范围的内存?我想过向应用程序本身添加(或分配)一个数组并保留内存,但它被编译器优化了,因为它没有在应用程序中的任何地方被引用. 我使用 ARM GNU 工具链进行编译. 解决方案 这个问题有几种解决方案.按最好到最坏的顺序列出, ..
发布时间:2021-11-17 22:15:02 其他开发

用于小型 ARM 微控制器的 RTOS 内核之间的可量化差异

有许多不同的 RTOS 可用于微控制器.我特别在寻找支持 ARM Cortex M 处理器的 RTOS.另外,我对闭源解决方案不感兴趣. 试图从网站和邮件列表中比较每个 RTOS 的相对优点似乎非常困难,因为它们大多似乎具有相同的功能并做同样的事情.只有在尝试将每个 RTOS 用于某些任务之后,真正的差异才会变得明显. 我知道这是一个有点主观的问题,可能很难回答 - 但肯定有很多人实际 ..
发布时间:2021-11-17 22:14:42 其他开发

试图了解 ARM 二进制映像中的加载内存地址 (LMA) 和二进制文件偏移量

我正在使用 ARM Cortex M4 (STM32F4xxxx) 并且我正在尝试了解二进制文件 (*.elf 和 *.bin) 在内存中构建和闪存,特别是关于内存位置.具体来说,我不明白的是 LMA 如何从实际的二进制文件偏移量中“翻译".让我用一个例子来解释: 我有一个 *.elf 文件,其(相关)部分如下:(从 objdump -h 获得) my_file.elf:文件格式elf32 ..
发布时间:2021-11-17 22:13:57 其他开发

GCC:如何在 MCU 上完全禁用堆使用?

我有一个在基于 ARM Cortex-M 的 MCU 上运行的应用程序,它是用 C 和 C++ 编写的.我使用 gcc 和 g++ 来编译它,并希望完全禁用任何堆使用. 在 MCU 启动文件中,堆大小已经设置为 0.除此之外,我还想禁止在代码中意外使用堆. 换句话说,我希望链接器(和/或编译器)在 malloc、calloc、free 函数或 new、new[]、delete、dele ..
发布时间:2021-11-17 22:12:04 其他开发

如何在没有 IDE 的情况下使用 CMSIS?

我正在使用 STM32F103C8T6 并想使用 CMSIS,本质上只是寄存器定义,没有代码,让我的生活更轻松,同时仍然保持在低水平.问题是我不知道如何使用 Makefile 安装库以在命令行上使用.所有文档似乎都与供应商特定的 IDE(如 STM32CubeIDE)绑定. 我想首先要做的是下载我在 GitHub 上找到的 CMSIS 库.但是,在解压 ARM.CMSIS.5.6.0.pac ..
发布时间:2021-11-17 21:56:37 其他开发

没有“计数器"的计数在微控制器中是可能的吗?

你好朋友,我是微控制器领域的新手,想知道在不使用计数器的情况下是否无法对事件进行计数,我的意思是通过监视连接到事件生成器的引脚.我问这个问题是因为目前我想计算传感器的频率我已经使用 DSO(数字存储示波器)检查了它的频率,它(DSO)说它的频率是 98khz 但是我们现在都知道 8 位计数器的最大值是 255 那么它是如何可能的......传感器连接到PB0(TCNT0/Atmega16的计数器0 ..
发布时间:2021-11-17 04:08:02 其他开发

从微控制器(带有 .Net Micro Framework 的 Arduino 或 Fez)连接到 SQL Server

我正在寻找示例、教程,或者只是“这个+这个+这个应该可以工作",以便从诸如 Arduino 板之类的微控制器读取和写入 SQL 服务器 (2008).我还看过(并且可能会使用)带有 .Net Micro Framework 的设备,例如 Fez Cobra.Micro Framework 不包括 ADO.我确定这将涉及一些 XML,但我无法确定要进一步研究哪种技术.我不想让 PC 应用程序充当中间 ..
发布时间:2021-11-17 03:46:34 C#/.NET