标签: microcontroller

为什么中断在 STM32 上没有按预期工作?

我正在尝试编写一个简单的程序,该程序利用外部中断来控制 2 个 LED 中的哪一个闪烁。在没有中断例程的情况下,两个 LED 都会闪烁,因此 LED 引脚(PB 和 PC13)的配置是正确的。每当我尝试使用 ISR 时就会出现该程序。我正在为 STM32F103C8 MCU 使用仅带有 CMSIS 内核的 Keil uVision 5。

在下面的代码中,两个 LED 都没有闪烁。我试图将引脚 PB5 设置为输入上拉,并在将 PB5 与 GND 连接时检测下降沿作为中断。

#include "stm32f10x.h"                  // Device header

void delay(int rep);
void EXTI9_5_IRQHandler();

// global variable
int signal = 0; // this will change upon each interrupt

int main(void)
{
    // set RCC for PortC to enable the clock BUS
    RCC->APB2ENR |= (1<<4);
    // set RCC for portB to enable the clock bus …
Run Code Online (Sandbox Code Playgroud)

c embedded microcontroller arm stm32

0
推荐指数
1
解决办法
665
查看次数

为什么在我的 msp430g2553 微控制器中,字符“c”存储为 ff63 而不是 0063?

我在将字符“c”的 ASCII 值转换为十六进制时遇到了差异。根据我的理解,“c”的 ASCII 值是十进制的 99 和二进制的 01100011。但是,当我将此二进制值转换为十六进制时,我预计会得到 0063,但相反,我得到的是 FF63。

在此输入图像描述

c embedded microcontroller computer-science msp430

0
推荐指数
1
解决办法
58
查看次数

微控制器中的易失性关键字

volatile关键字告诉编译器不要优化带前缀的变量.变量可能在运行时由未知源(编译器不知道)可能由外部中断等改变.

还有其他优点volatile吗?是否volatile适用于从文件中读取?

c c++ microcontroller volatile

-1
推荐指数
2
解决办法
1522
查看次数

C中的微控制器启动代码是什么?何时/为什么/如何修改?

这是关于启动代码的一般问题.我知道它就像引导程序或重置或上电后运行的第一件事,它调用主函数.

但我想知道它的主要/核心功能.

例如(在谷歌搜索),

重置目标系统后立即执行启动代码.Keil启动代码按顺序执行(可选)以下操作:

? Clears internal data memory
? Clears external data memory
? Clears paged external data memory
? Initializes the small model reentrant stack and pointer
? Initializes the large model reentrant stack and pointer
? Initializes the compact model reentrant stack and pointer
? Initializes the 8051 hardware stack pointer
? Transfers control to code that initializes global variables or to the main C function if
there are no initialized global variables
Run Code Online (Sandbox Code Playgroud)

Nb:启动代码总是用汇编语言编写,因为它取决于CPU目标.

谢谢你的时间

microcontroller assembly startup

-1
推荐指数
1
解决办法
1368
查看次数

微控制器(esp32)使用x86还是arm,我可以在这些MCU中安装Linux

我正在进入微控制器,所以我想知道像esp32和esp8266这样的微控制器和其他同类产品是基于x86还是arm架构?我尝试在互联网上搜索,但没有得到足够的线索

如果它使用这两种架构中的任何一种,是否有机会在这些控制器中安装Linux,我想到了这一点,因为freeRTOS说它是微控制器的操作系统,我认为它不是

但不知何故,如果它是一个操作系统,那么像Linux这样的其他操作系统呢,他们今天有机会安装在MCU中吗?或者甚至在未来五年内他们有机会吗?

microcontroller x86 operating-system arm xtensa

-1
推荐指数
1
解决办法
220
查看次数

为什么我们无法在AVR微控制器中将立即值加载到SRAM中?

可以将立即值(即任何整数)加载或复制到AVR微控制器中的通用寄存器(R0到R30)中,但为什么除GPR之外我们不能将立即值加载到SRAM中?

microcontroller assembly avr instruction-set risc

-2
推荐指数
1
解决办法
495
查看次数

关于为什么我的代码有错误的任何线索?

我使用 MPLAB X IDE(一种用于微控制器的软件)来编译我的代码,但出于某种原因,它一直说至少有两个错误(特别是在粗体区域)。我试着寻找,但我仍然不确定为什么会这样,所以任何帮助将不胜感激。

#include <stdio.h>
#include <stdlib.h>
#include <xc.h>
#include <math.h>
#include <p18f4620.h>

#pragma config OSC = INTIO67
#pragma config WDT = OFF
#pragma config LVP = OFF
#pragma config BOREN = OFF
#define delay 5
// Prototype Area to place all the references to the routines used in the program
void Init_ADC(void);
unsigned char Get_Full_ADC(void);
void Flash_LED(unsigned char);
void main(void)
{
 unsigned int ADC_Result; // local variable to store the result
 Init_ADC(); // initialize the A2D converter
 TRISB …
Run Code Online (Sandbox Code Playgroud)

c microcontroller pic mplab-x

-2
推荐指数
1
解决办法
80
查看次数