embedded 相关问题

嵌入式系统是指嵌入式系统,涉及微控制器/ DSP固件编程,实时系统,电子接口,硬件驱动器,串行总线通信等领域。

对于 TPM 1.2,使用 tpm-tools tpm_sealdata 在重新启动后不起作用

我正在尝试加密并存储 TPM 1.2 芯片中的密钥,为此我使用 TrouSerS 提供的 tpm-tools 包。当我第一次获得所有权时,我可以使用 tpm_sealdata 和 tpm_unsealdata。布...

回答 1 投票 0

控制 PIC16F1575 上的 PWM 模块

我不知道如何控制 PIC 微控制器上的 PWM 信号,因为大多数在线指南似乎都包含 CCP 模块,而我的系统却没有。 #include“config.h” #定义_XTAL_FREQ 1600...

回答 1 投票 0

定时器0 atmega32

如果我停止定时器(无CLK),TCNT0会自动设置为零吗? 我的问题是,如果我使用时钟选择引脚选择 NO CLK,TCNT0 寄存器会发生什么? 我搜索...

回答 1 投票 0

ESP32 摄像头在关闭相机流时崩溃

正如标题所说。以下是我从博客中获取的 cam.ino 代码。 #include“esp_camera.h” WiFi服务器 camServer(81); 布尔连接=假; WiFiClient live_client; 强...

回答 1 投票 0

我需要在 32 位架构上处理 8 位位字段结构的字节序吗?

我正在32位架构(确切地说是AVR32)上做一些嵌入式软件。 在此软件上,我从通过 I2C 连接的外围设备检索一个以一个字节编码的标志。 每一位...

回答 2 投票 0

STM32G0 上的 IAR Workbench 模拟器陷入等待状态,直到 PLL 准备就绪

我有一个在主函数中调用 SystemClock_Config() 的示例代码。 当我从 IAR Workbench 启动模拟时,主函数卡在上述调用中,特别是当它执行时 /*

回答 1 投票 0

Smowcode studio 错误 443 找不到服务器

错误图像 我无法打开 Smowcode studio。 我尝试打开 Smowcode studio,但在端口 443 上的 Smowcode 服务器上收到错误。 如何解决这个错误并打开Smowcode studio? 尝试过的人...

回答 1 投票 0

为什么当我读取时我的指针值会改变? [已关闭]

我有两个结构: typedef 结构 configInfo_s{ uint8_t txRx; uint8_t 帧长度; ETC... } configInfo_t; 和 typedef 结构 testData_s{ configInfo_t 配置; uint32_t buf[6]; ...

回答 1 投票 0

can 协议中错误隐性节点的行为是什么

我在can microchip数据表中找到了这个?“错误被动站等待六个连续的相同极性的位,从被动错误标志的开始处开始。被动错误标志是

回答 1 投票 0

C - 为什么当我读取时我的指针值会改变?

我有两个结构: typedef 结构 configInfo_s{ uint8_t txRx; uint8_t 帧长度; ETC... } configInfo_t; 和 typedef 结构 testData_s{ configInfo_t 配置; uint32_t buf[6]; ...

回答 1 投票 0

通过UART传递数据-ESP8266和STM32

我使用以下代码从 ESP8266 传递数据: int sendData(const char* 数据) { const int len = strlen(数据); const int txBytes = uart_write_bytes(UART_NUM_0, 数据, len); 返回 txByt...

回答 1 投票 0

无法使用 ZephyrOS 与 ESP32Cam 上的 ov2640 传感器通信

我一直在尝试使用Zephyr RTOS和ov2640凸轮传感器。我已经找到了允许使用此传感器但使用 espressif SDK 的实现,但是,我想使用 Zephyr 尝试此操作。 在g...

回答 1 投票 0

使用 %f 但得到“格式 %f 需要 double 类型”

除非我累了,否则我不会理解以下警告。我不确定编译器基于什么(它是 MPLAB X 6,使用 Microchip 的 XC16 作为 dsPIC33 微控制器)。 浮动测试=5.5; 优先...

回答 1 投票 0

使用 Lauterbach 跟踪 AUTOSAR 堆栈中的一个函数

Lauterbach 跟踪启用和跟踪开/关有什么区别?使用 AUTOSAR 堆栈时如何仅跟踪一个函数? 我正在使用带有 Arm Cortex M 和 Cortex R 的微控制器。 第一

回答 1 投票 0

具有相同地址的i2c从设备

我正在STM32 F107上开发一个嵌入式系统,通过i2c与2个从设备进行通信:一个rfid阅读器rfid手册和一个eeprom模块eeprom手册。 这两个设备有相同的从属广告...

回答 3 投票 0

在 keil uVision for LPC2148 逻辑分析仪上找不到我的信号

我正在尝试在keil上为lpc2148运行我的PWM程序。占空比为 10%。但是,我可以在 Port0 (P0.21) 上看到信号。 这是我的代码。我非常有信心这是正确的。 #包括 我正在尝试在keil上为lpc2148运行我的PWM程序。占空比为 10%。但是,我可以在 Port0 (P0.21) 上看到信号。 这是我的代码。我非常有信心这是正确的。 #include<lpc214x.h> int main() { PINSEL0=0x00000000; // P0.0 to P0.15 pins of PORT0 as GPIO PINSEL1=0x00000400; // P0.21 Pin of PORT0 as PWM PINSEL2=0x00000000; // P1.16 to P1.31 pins of PORT1 as GPIO /*Configure the PLL block and set the CCLK and PCLK at 60 MHz */ PLL0CON=0x01; PLL0CFG=0x24; PLL0FEED=0xaa; PLL0FEED=0x55; while (!(PLL0STAT & 0x00000400)); PLL0CON=0x03; PLL0FEED=0xaa; PLL0FEED=0x55; VPBDIV=0x01; /* Setup and initialize the PWM block */ PWMPCR=0x00; // Single Edge PWM Mode PWMPR=60000-1; // Resolution of PWM is set at 1 mS PWMMR0=10; // Period of PWM is 10 mS PWMMR5=1; // Pulse width of PWM5 is 1 mS PWMMCR= (1<<1); // PWMTC is reset on match with PWMMR0 PWMLER= (1<<5)| (1<<0); // Update Match Registers PWMMR0 and PWMMR5 PWMPCR= (1<<13); // Enable PWM5 output PWMTCR= (1<<1); // Reset PWM TC and PWM PR PWMTCR= (1<<0)| (1<<3); // Enable PWM Timer Counters and PWM Mode //PWMMR5 = 1; //PWMLER = (1<<5); //Update Latch Enable bit for PWMMR5 } 请帮忙。 Keil 调试器的“逻辑分析器”工具通过 SWO 跟踪监视特定的“全局”变量。您的代码没有全局变量,并且您没有说明您正在监视的内容。 在实际硬件上仅可以监视全局变量。外设寄存器和 I/O 引脚只能在仿真中进行监控,如 https://www.keil.com/support/man/docs/uv4/uv4_db_dbg_logicanalyzer_restrictions.htm 要获得跟随 PWM 的跟踪,您需要实现一个 PWM 中断处理程序,该处理程序要么将输出引脚的状态复制到全局变量,要么(更好)读取 PWMIR 寄存器并将其复制到全局变量,然后/或将全局设置为由 PWMIR 寄存器推断的状态。然后你监视全局变量而不是直接监视引脚。例如: volatile bool pwmout = 0 ; volatile bool pwmmatch = 0 ; __irq void PWM_ISR( void ) { pwmmatch = PWMIR ; if( (PWMIR & 0x0001) != 0 ) // MR0 = 1 { pwmout = 1 ; } else if ( PWMIR & 0x0020 ) // MR5 = 1 { pwmout = 0 ; } PWMIR = 0 ; // clear interrupt VICVectAddr = 0x00000000; } 然后您可以在逻辑分析仪中监控 pwmout 和/或 pwmmatch。我不熟悉您的特定微控制器,因此上述内容可能需要一些调整。显然,您还需要启用中断处理程序 - 例如: VICVectAddr0 = (unsigned) PWM_ISR; /* PWM ISR Address */ VICVectCntl0 = (0x00000020 | 8); /* Enable PWM IRQ slot */ VICIntEnable = VICIntEnable | 0x00000100; /* Enable PWM interrupt */ VICIntSelect = VICIntSelect | 0x00000000; /* PWM configured as IRQ */ 但我只是复制现有的示例 - 不保证。 最后在main()的末尾添加一个无限循环以防止main()终止到谁知道在哪里:for(;;) { // do nothing } 是的,代码是正确的,但是要使用Keil逻辑分析仪观察波形,您需要指定正确的端口引脚符号。您应该使用 “PORT0.21”,而不是使用 “P0.21”。

回答 2 投票 0

OP-TEE与ATF的关系

我对与 ARM-A 配置文件嵌入式系统相关的术语和软件包感到困惑。 谁能解释一下 ATF(Arm 可信固件)、OP-TEE、Secure World 和 TEE 之间的关系(Tru...

回答 1 投票 0

STM32定时器外部时钟更新事件

我需要在另一个外部信号的每个下降沿通过 DMA 从某些 GPIO 引脚读取数据。我将时钟信号设置为TIMER外部时钟(下降沿)并将PSC值和ARR值设置为0。...

回答 1 投票 0

Stm8 选项字节编程

我想在没有 stvp 的情况下在 STM8S005k6 上编程“选项字节”。我通过在选项字节区域编程其代码来实现此目的,但这使其仅受写保护,而不受读保护: 无效

回答 2 投票 0

构建后C函数替换的解决方案[已关闭]

要求:在嵌入式C程序(无OS)中,大部分ROM代码位于FLASH0,有一些函数需要放在特定位置--FLASH1,一旦制作阶段完成,我

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.