microcontroller相关内容

将Tiva C系列的Makefile转换为CMakeLists.txt

我想使用CMake构建过程在C ++中对Tiva C系列LaunchPad板进行编程.我下载了一个简单的示例来闪烁使用make构建的RGB LED,我希望能够使用cmake来启动更大的项目. 以下是示例中提供的Makefile: # Tiva Makefile # ##################################### # # Part of the uCtools ..
发布时间:2020-05-09 19:44:41 C/C++开发

启动微控制器模拟器/仿真器

我想为以下微控制器板创建/启动模拟器: http://www.sparkfun.com/commerce/product_info.php?products_id=707# 固件是用汇编语言编写的,因此我正在寻找一些有关如何模拟硬件将接收的输入,然后模拟器将响应固件输出的指示. (这还需要在模拟环境中运行固件). 任何有关如何启动的指针? 谢谢 克里斯 解决方案 编写整个 ..
发布时间:2020-05-09 19:44:33 其他开发

CRC16校验和:HCS08 vs.Kermit vs.XMODEM

我正在尝试将CRC16错误检测添加到Motorola HCS08微控制器应用程序.我的校验和不匹配.一个在线CRC计算器既提供了我在PC程序中看到的结果,又提供了我在微观上看到的结果. 它将微型计算机的结果称为"XModem",将PC的结果称为"Kermit". 这两个古老的协议指定使用CRC16的方式有什么区别? 解决方案 您可以使用相同的基本代码库来实现16位IBM,CCI ..
发布时间:2020-05-09 19:44:30 其他开发

如何延迟组装AVR微控制器?

我在计算延迟时遇到问题.当我为atmega128微控制器使用1MHz时钟速度时,我想延迟1 sec. 我使用proteus进行仿真,使用avr studio进行atmel微控制器的汇编编码. 例如,此代码用于8MHz时钟微控制器 Delay_15mS: ; For CLK(CPU) = 8 MHz LDI dly1, 120 ..
发布时间:2020-05-09 19:44:25 其他开发

如何通过微处理器/微控制器同时检测两个或更多按钮按下(GPIO)?

如问题中所述,我想知道控制器是否有可能同时检测到两个按钮的按下. 我是控制器编程的新手,从基础知识开始-LED闪烁,然后移至按钮,现在尝试按一下按钮.我想同时按下两个按钮时设置一些标志. 但是据我所知,在这种情况下将只调用一个ISR,从而检测到单次按下.我们如何实现这一目标... (在某些电子设备中,当我们同时按下某些按钮时,它具有特定的功能,例如,当人们同时按下3个适当的按钮时 ..
发布时间:2020-05-09 19:44:22 其他开发

在Flash中为用户数据分配内存(STM32F4 HAL)

我正在尝试使用STM32F405的内部闪存来存储一堆用户可设置的字节,这些字节在重启后仍然存在. 我正在使用: uint8_t userConfig[64] __attribute__((at(0x0800C000))); 为我要存储的数据分配内存. 程序启动时,我检查是否将第一个字节设置为0x42,如果未设置,则使用以下命令进行设置: HAL_FLASH_Unlock ..
发布时间:2020-05-09 19:44:19 其他开发

有效执行自然对数(ln)和取幂

基本上,我正在寻找C库中提供的log()和exp()函数的实现.我正在使用8位微控制器(OKI 411和431).我需要计算平均运动温度.要求是我们应该能够尽可能快地计算MKT,并使用尽可能少的代码存储器.编译器在中带有log()和exp()函数.但是调用任何一个函数并与库链接都会导致代码大小增加5 KB,这不适合我们使用的微控制器之一(OKI 411),因为我们的 ..
发布时间:2020-05-06 10:37:32 其他开发

如何使printf在STM32F103上工作?

我对STM32F103还是陌生的.我有一个用于STM32F103的演示代码,我正在使用arm-none-eabi进行编译. 我尝试了在Google上可以找到的东西,但到目前为止没有任何效果.我已经花了三天时间解决这个问题. 任何人都可以给我一个有关printf的演示代码,该代码可以正常工作吗? 我的makefile的一部分: CFLAG = -mcpu=$(CPU) - ..
发布时间:2020-05-05 11:50:31 其他开发

PIC后端:16位寄存器/返回类型

我开始为16位PIC微控制器(PIC24,dsPIC30/33)编写LLVM后端.从Lanai复制并重命名内容后,删除了很多内容,添加了一些内容,并使后端对clang来说我可以翻译 short foo(void) { return 6*7; } 到 mov #0x2A, W0 ret 这正是我想要的. DataLayout设置为"e-m:e-p:16:16-i16:16- ..
发布时间:2020-05-02 10:59:29 其他开发

“输入"是什么意思?在链接描述文件中是什么意思?

我开始学习为微控制器编写一些底层软件,并且已经开始研究链接描述文件. 在这种情况下,我并没有真正了解ENTRY命令的含义.由于大多数微控制器从预定地址开始执行,所以在链接描述文件中选择哪个入口点有什么区别? 解决方案 ENTRY()是一种ELF功能,它基本上只是在可执行文件的ELF标头中设置程序入口地址.此地址可能与二进制文件的第一个可执行段的起始地址不同(如果未定义ENTRY(), ..
发布时间:2020-05-01 03:45:51 其他开发

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

我想在RAM中保留/分配一定范围的内存,并且相同的应用程序不应该覆盖堆栈/堆栈存储器的内存范围。如何在保护堆栈/堆栈的ram中分配一系列内存? 我曾考虑过向应用程序本身添加(或分配)一个数组,并且保留了内存,但是它被编译器优化了,因为它在应用程序中的任何地方都没有被引用。 我正在使用ARM GNU toolchain进行编译。 解决方案 这个问题有几种解决方案。使用链接器 注释变 ..
发布时间:2018-04-20 17:34:55 其他开发

返回无穷大的字符串到双重函数导致嵌入式编译器

我正在尝试执行字符串双重转换。在gnu c编译器中,我得到正确的值。但是如果我在嵌入式编译器(renesas CS +)中使用它,它会给出未定义的行为,如返回无穷大的结果。 这是我的代码: double str_to_double_func(char a []) { char str [30] = {'0'}; int loop; 双重结果; int len; in ..
发布时间:2017-08-15 21:22:31 HTML/CSS

为什么Timer1不计算在PIC18?

最初我在运行模式下使Timer0工作正常。唯一的问题是当设备进入睡眠模式时,Timer0停止计数直到唤醒。在数据表中,它说使用Timer1能够在睡眠模式下监视时间。 我将timer0的现有代码修改为timer1的新配置,其他代码几乎相同。然而,有一些我可能会错过的是与timer0不同的timer1,因为timer1根本不计数。我使用的PIC是使用MPLAB C18的 PIC18F87J11 。 ..
发布时间:2017-08-15 21:18:36 HTML/CSS

8051的基本要求称为RTOS

我想为8051做一个RTOS,并且非常困惑,因为8051中的操作系统应该遵循最低要求,因为8051在RAM和ROM的情况下非常限制了资源。这是只是和作业类型的问题,但我真的很困惑,因为我们为8051的软件是不是一个操作系统?哪些特征与RTOS的微控制器的正常的常规编码不同?请帮助谢谢 解决方案 一个典型的RTOS至少提供以下内容: 确定性任务调度 任务同步机制 进程间通信机制 ..
发布时间:2017-08-15 21:12:26 HTML/CSS

IAR微控制器中的sprintf破坏阵列

我正在学习嵌入式编程,因此在使用具有ARM架构的TI微控制器的IAR平台上工作。既然我完全不熟悉与这种编程有关的技术,或者一般来说,C编程,我想问一个基本问题: 我有以下简单的代码段: int i; (i = 0; i ..
发布时间:2017-08-15 21:09:43 HTML/CSS

如何使Timer1作为实时时钟更准确?

我有 PIC18F87J11 与8 MHz振荡器,我正在使用timer1作为实时时钟。在这一刻,我每隔1分钟就可以切换LED。我注意到它在前几次工作完美很好,但慢慢地每59秒开始切换LED。然后每隔几分钟就会下降到58,57等。我不知道是不是可以使用内部振荡器获得准确的时钟,或者我需要外部振荡器。我的设置看起来对于timer1,我只是希望我可以解决这个问题与当前的硬件。 预分频器1:8,TM ..
发布时间:2017-08-15 21:05:15 HTML/CSS

用MCU定时器/中断计数秒和分钟?

我试图找出如何为C8051F020 MCU创建一个计时器。以下代码使用以下公式传递给 init_Timer2()的值: 65535-(0.1 /( 12/2000000)= 48868。 我设置了每次执行的计时器,每10次计数一次,这是基于上述公式48868传递到 init_Timer2 将产生0.1秒的延迟,每秒钟需要10个,但是当我测试定时器的时候有点快,10点秒钟定时器报告11秒 ..
发布时间:2017-08-15 20:49:45 HTML/CSS