我有一个使用STM32F7发现的项目,我有几个线程,包括具有实时优先级的UART线程
我使用HAL\u UART\u Receive\u IT()获取数据,然后在接收回拨中断时使用osignalwait(0x01,osWaitForever)。我已验证是否发生了中断,但问题是当我想通过osignalset(uart\u ThreadId,0x01)唤醒我的uart线程时,微控制器挂起
如何唤醒uart线程?欢迎使用堆栈溢出!我对您的问题进行了编辑,使其格式正确-有关格式的详细信息,请参阅编辑帮助
我使用STM32L073RZ(核仁64板)
我想跳到应用程序编程(IAP)的系统内存中
我的代码在STM32L073微控制器的版本B上工作,但在最新版本Z上失败
我阅读了勘误表,没有给出任何细节,只是根据BFB2位对进入系统内存的双引导机制进行了限制
系统内存是否不再支持IAP跳转以执行其代码(通过USB或UART闪存固件而不使用BOOT0引脚)
该函数是我的主程序的第一行,它测试代码是否必须跳转到booloader:
void jumpBootLoader(void)
{
/* to
我正在使用STM32F103,试图使用DMA从一个阵列复制到另一个阵列。传输在第一次工作时,会命中DMA1\u Channel1\u IRQHandler中的断点,但对DMA\u Cmd(DMA1\u Channel1,ENABLE)的后续调用无效,且不会命中断点。未设置错误标志DMA1\U标志TE1。是否有其他需要设置/重置的内容,以便再次运行传输
#include "stm32f10x.h"
#define ARRAYSIZE 800
volatile uint32_t status =
标签: Stm32
encoderstm32f4nucleocubemx
我的手机定时器TIM3上的正交编码器模式有问题
/
:
TIM3对第一个信号的每个上升沿进行计数。
CNT寄存器向上计数,我用1Hz读取值,然后
我将寄存器设置为0
当我看电视的时候
该频率是来自的值的一半高
为什么?
TIM3在第一个信号的两侧计数。
这个
这是完全错误的
我的配置是:
GPIO_InitTypeDef sInitEncoderPin1;
sInitEncoderPin1.Pin = pin1Encoder.pin; // A GPIO
我是新来的。我刚刚开始用STM32F373VCT6学习STM32F373。我使用CMSIS来配置UART1。看来我的代码没有任何错误。但当我使用PL2303转换串行usb与PC连接时,我没有收到任何信息
这是我的密码。谁能帮我找出你的错误吗
/*包括------------------------------------------------------------------*/
#包括“stm32f37x.h”
#包括“main.h”
uint8_t ledVal=0;
静态IO uint
标签: Stm32
stm32f1truestudio
尝试从Atolic TrueStudio 9.3编程和调试STM32F103 Bluepill时,我收到以下消息:
意法半导体ST-LINK GDB服务器。版本5.1.0版权所有c
2018年,意法半导体。版权所有
使用以下选项启动服务器:
持续模式:禁用
日志记录级别:1
监听端口号:61234
状态刷新延迟:15秒
详细模式:已禁用
社署调试:已启用
供应商=0x55
初始化ST-LINK设备时出错。原因:ST-LINK:无法
验证ST设备!中止连接
尝试在St Link实用程序中执行相同的
标签: Stm32
uartstm32f4discovery
我目前正在从事一个涉及STM32F0发现板和指纹扫描仪的项目,该项目使用UART通信。要初始化UART,请执行以下操作:
void init_uart(void){
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
USART_InitStructure.USART_BaudRate = 9600;
USART_InitStructure.USART_WordL
标签: Stm32
stm32h743stm32h7
我们在带有JLink调试器的自定义板上使用STM32H743VIT6。突然,处理器跳转到无法再刷新ECU的状态。该板正在运行,但无论是JMem还是我们的IDE(uVision)都无法访问或检测控制器。到目前为止,还有其他人遇到过这种行为吗?谷歌也没有帮助。除非启用RDP,否则几乎不可能进行归档(如果不是程序员的意图,则很难进行归档)
你可能把电路板的设计搞砸了。您应该在调试线上安装上拉电阻器,并将NRST连接到编程器
如果您没有可用的NRST,只需将导线焊接到NRST,当编程探针连接到uC时,将
我是ARM处理器的新手,我最近买了STM32F4发现工具包。您是否建议我开始使用CooCoz或其他IDE进行编程?
对不起,英语很好。是的,它很容易使用
下载,并嵌入gcc arm
安装并配置CooCox。在“项目->选择工具链路径”中,选择带有工具链的目录,默认情况下为“C:\Program Files\GNU Tools ARM Embedded\4.8 2013q4\bin”
创建新项目,选择stm32f407vg芯片,然后从存储库中选择M4 CMSIS核心、CMSIS引导、RCC、GPI
我在使用STM32F4 DMA时遇到问题。
我已在循环模式下设置DMA配置,如下所示:
hdma_usart1_rx.Instance = DMA2_Stream2;
hdma_usart1_rx.Init.Channel = DMA_CHANNEL_4;
hdma_usart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
hdma_usart1_rx.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_usart1_rx.In
在STM32代码中使用的HAL库中,我们看到使用了如下样式:
#define I2C1 ((I2C_TypeDef *) I2C1_Base)
为什么这样使用define
为什么使用指针类型
为什么星星不在括号外
I2C1\u Base在其他地方声明,是一个十六进制数字
(I2C_TypeDef*)将I2C1_Base数字转换为指向I2C_TypeDef的指针,星形必须位于括号内,因为它转换为指针类型,如果它位于括号外,则它将是一个解引用,不会编译
定义允许这样的代码
I2C1-&
据我所知,FIFO(在硬件环境中)是一个缓冲区,将根据先进先出原则进行管理。您可以按顺序将一些位放入其中,然后可以在达到所需阈值时按块读取它们。但我对STM32串行音频接口的FIFO管理感到困惑:
根据数据表,串行音频接口(SAI)支持多达8个字的FIFO。(8x32位)SAI的数据寄存器(SAI_xDR)为1个字(32位)。文件解释了
如果FIFO未满,写入该寄存器将加载FIFO
如果FIFO不为空,则从该寄存器读取的数据将清空FIFO
如何解读
我的猜测是:如果我对此寄存器进行写入访问,它将
我想使用蓝牙模块来控制led的状态。我很确定程序会进入中断,因为它可以发回我用智能手机发送的字符。但是我也改变了代码中的全局变量LEDSTATE,但是LED的状态没有改变,我发现变量在一个监视窗口中保持不变。我很困惑。我试图使用关键字volatile或extern,但没有任何改变
volatile uint8_t LEDSTATE=1;
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
uint8_t k;
UNU
我不熟悉使用HAL函数。函数的HAL_GetTick()表示它“以毫秒提供一个刻度值”
我不明白这个函数是返回滴答声还是毫秒。当然,要将滴答声转换为毫秒,我需要知道一毫秒内有多少滴答声,这是特定于CPU的
那么,HAL\u GetTick()到底返回了什么呢
编辑:
我真正的问题是知道如何用微秒来测量时间。所以我想从HAL_GetTick()获取刻度,并将它们转换为微秒。评论和至少一个答案都提到了这一点,所以我在这里也提到了这一点,并编辑了标题。两者都有。大多数情况下,增加HAL勾号计数器的功
标签: Stm32
uartbootloaderstm32f4dfu
我正在开发一个固件更新程序,以便系统中的主控制器可以对其他STM32芯片进行编程。我正在使用UART,速度为115200 bps,使用8E1,如应用程序说明和中所述。目前我正在尝试闪存STM32F429。我可以毫无问题地阅读flash
为了测试写入功能,我将8个字节写入地址,地址是中建议的4的倍数。
我已经用逻辑分析仪检查了数据线,所有数据都正确发送,STM对所有数据都做出了应答
当我试图读回它时,我会在这些位置得到随机值。在写入相同的基址时,这些值始终相同,但在其他位置写入时,这些值会发生变化
标签: Stm32
freertosstm32cubemx
我正在尝试使用一个与freeRTOS的cubeMx集成的软件计时器(基本上,它是freeRTOS,上面有一个几乎透明的层)。
我认为我能够将指向结构的指针作为计时器参数传递,并将其作为回调函数中的参数获取。大概是这样的:
typedef struct{
uint8_t a;
uint8_t b;
uint8_t c;
}T;
T t = {1, 2, 3};
osTimerDef(myTimer01, Callback01);
myTimer01Handle = os
标签: Stm32
fifodmausartstm32cubemx
我正在使用带有FreeRTOS和STM32CubeMX的STM32L432设备
我尝试通过基于ASCII协议的USART实现M2M通信。协议序列的长度可以不同,但具有最大长度和定义的结束字符(“\r”/0x0D)
因此,我考虑使用DMA收集所有RX-USART数据(如FIFO),并使用基于USART\u ICR\u CMCF标志的地址匹配isr来确定结束字符
初始化USART1并启用地址匹配isr
void HAL_UART_MspInit(UART_HandleTypeDef* uartHan
在偶然发现一件非常奇怪的事情之后,我想知道是否有人能提供合理的解释
我有一个SHT31湿度传感器在I2C上运行,在尝试在STM32F2上运行后,它没有工作
uint8_t __data[5]={0};
__data[0] = SHT31_SOFTRESET >> 8;
__data[1] = SHT31_SOFTRESET & 0xFF;
HAL_I2C_Master_Transmit(&hi2c3,((uint16_t)0x44)<<1,__dat
标签: Stm32
alarmreal-time-clock
我在学英语。有些困惑我真的无法理解
RTC报警和原始系统报警有什么区别。我只知道RTC可以节省更多的电能,其他什么都不知道。有谁能给我解释一下,或者给我举个例子来说明两者的区别吗。非常感谢。请看一下这个。这应详细说明RTC的功能及其提供的功能
简而言之:STM32微控制器中嵌入的实时时钟(RTC)充当独立的BCD定时器/计数器。RTC可用于提供功能齐全的日历、警报、定期唤醒装置、数字校准、同步、时间戳和高级篡改检测
RTC也可以比内部SysClk更精确。应该有合适的白皮书和文档可用:我已经尝试让
我想从设备的SRAM区域运行我的程序
我似乎很清楚,我必须执行以下步骤:
修改向量表偏移寄存器SCB->VTOR(位于0xE000ED08)以指向SRAM区域的开始,因为我的向量表位于该区域:0x20000000
重置设备,使其再次获取堆栈指针初始化值和重置处理程序地址
不幸的是,每当我在OpenOCD中发出reset init命令时,SCB->VTOR的值就会被清除。因此,堆栈指针初始化值和重置处理程序地址从0x00000000获取,而不是从0x20000000获取
问题:
如何让我的STM
我使用的是STM32F7系列微控制器,当内核被连接到JTAG接口的调试器停止时,有一些GPIO更改值(切换、脉冲、高z…)将非常有用。有人知道这样的特征吗 有DBGMCU寄存器,当内核停止时,这些寄存器可以选择性地停止某些外围设备(主要是定时器)
这样做的目的是让计时器在运行时输出低电平信号,在不运行时输出高电平信号。一个定时器不能做到这一点,但在主从配置中使用两个定时器是可能的
配置TIM3以输出一个占空比非常高的PWM信号,在两个周期内从低开始,然后在65536个周期的剩余周期内变高。从它到
我在STM32WB上使用LoRaWAN发送一些信息,然后进入待机模式。
问题是在我待机后,一个新的加入就完成了。
我听说我的连接可以使用MIB函数保存在内存中,但我无法正确使用它们并继续进行连接根本不进行连接。。。
有人知道如何使用它们吗?或者在什么地方有好的教程吗?(我暂时什么也没找到)
以下是我实际上正在尝试的:
uint32_t last_time = 0;
int main(void)
{
/* USER CODE BEGIN 1 */
data_t data;
LoraF
标签: Stm32
freertosstm32cubeide
我想用32位微控制器和FreeRTOS做实验。我正在STM32CubeIDE中为我的核子板创建一个新项目,并启用FreeRTOS。我切换HAL使用的计时器(我基本上在看这个视频,但使用另一块NucleoBoard)。当我启动调试模式时,当通过执行osKernelStart()启动任务调度器时,它会立即调用Hardfaulthandler;我不知道为什么。我的任务现在正在做的唯一一件事就是切换LED引脚A5…cubeide 1.4.0在使用FreeRTOS时产生了一个坏代码(NVIC设置,INT
我制作了一个定制板,其特点是STM32F469NI MCU与AS4C4M32S SDRAM耦合
以下是SDRAM定时和寄存器设置信息:
hsdram1.Instance = FMC_SDRAM_DEVICE;
/* hsdram1.Init */
hsdram1.Init.SDBank = FMC_SDRAM_BANK1;
hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8;
hsdram1.Init.RowBi
标签: Stm32
usbserialnucleocubemxtruestudio
我有核仁STM32H743ZI板。我正在使用CubeMX HAL(我尝试了几个版本)和TrueStudio。“虚拟COM端口”在Windows 10中出现(我尝试了默认的Windows驱动程序和ST驱动程序),但无法打开端口。我的C#程序在我尝试打开它时写入“参数不正确”:
SerialPort port = new SerialPort("COM8", 9600, Parity.None, 8, StopBits.One);
port.Open(); // System.IO.IOExcept
标签: Stm32
microcontrollercortex-mstm32f4discoverystm32f4
我正在使用STM32 HAL库在STM32F411RE的SPI中尝试环回。串行终端中的输出失真(仅框)。我已连接微控制器的MOSI、MISO引脚。有人能帮我指出这个问题吗。谢谢:)
通常,SPI通信至少需要一个主设备和一个从设备。然而,由于SPI使用全双工通信(即,它同时发送和接收),通常可以将MOSI连接到MISO并实现环回通信
我已经在核子F411RE上测试过了,效果很好
使用STM32CubeMX,我为Nucleo-F411RE(8 MHz外部时钟、SWD、UART2引脚,适用于车载ST链
我有一个10 MHz的高速时钟连接到处理器的TIM4输入捕获引脚(第3章)。我想通过处理器的输入捕获验证时钟是否以10 MHz的频率运行。我用输入捕获模块对处理器进行了编码,它在较低频率(大约1 kHz)下工作良好。一旦我开始将频率提升到MHz范围,处理器就开始错过中断,从而给我一个错误的频率。我在数据表中没有看到任何地方说明输入捕获可以读取的最大频率。我有一个8兆赫的外部时钟和一个72兆赫的核心时钟,所以我可以想象我可以读取10兆赫的信号。有什么想法吗?看起来您正在为时钟的每个上升(或下降)边
我克隆并尝试使用makeflash闪存我的STM32F3发现板。相关规则如下:
flash: main.axf
openocd -f oocd.cfg -c "program main.axf verify reset" -c "shutdown"
oocd.cfg:
telnet_port 4444
gdb_port 3333
source [find board/stm32f3discovery.cfg]
makeflash然后给出以下输出:
Info : The select
我正在尝试让一个代码工作,该代码触发一个中断,用于在DMA循环模式下发送到STM32板(而不是discovery)的RX输入的可变数据大小。示例:已连接\r\n请求\r\n
到目前为止还不错,我能够接收数据和所有数据,同时还能触发DMA中断
然后,我将创建一个子RX消息处理缓冲区,\r\n将每个缓冲区分解为不同的字符数组指针
msgProcessingBuffer[0]=“COM_正常”
msgProcessingBuffer[1]=“数据请求”
msgProcessingBuffer[n]=“
我有STM32F030C8T。
使用CubeMX生成basicinit代码,包括:
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
void Error_Handler(void);
static void MX_GPIO_Init(void);
static void MX_TIM6_Init(void);
static
我目前正在使用带有STM32F303RE芯片的核仁64板。对于编程,我将Arduino IDE与STM32包一起使用。我现在想避免使用HAL,因为我认为当您必须同时学习寄存器和库函数时,这是相当混乱的
我想能够采样4个输入信号并行在5.1毫秒(最大的F303)。我的计划是让ADC继续运行。然后,当我想要采集样本时,我重置DMA标志并将计数器(CNDTR寄存器)设置为我想要采集的样本数量
下面的部分展示了我实现这一目标的尝试。它基本上可以正常工作,但次数有限。它的工作频率似乎取决于我在程序的某些部
我正在尝试使用HAL_FLASH_程序功能对FLASH进行编程。确切地说,我已经编写了一个函数,该函数将编写两个测量值
以设定的时间间隔闪烁,例如3秒。但是,在调用时,该函数将仅写入第一个函数,而忽略第二个函数。HAL_FLASH_程序不能使用两次吗?我做错了什么?我只想提一下,我对STM32编程一无所知,所以如果您有任何有用的建议,我将不胜感激。代码如下:
void writeFlash(void){
mem = returnPointerToFirstEmptyAddressInSe
我需要将SPI_1配置为NucleoSTM32F103RB中的主设备。以下是我到目前为止所做的(Keil uvision 4)
但是,我需要为多个从机设置nSS。我该怎么做?我应该使用哪个GPIO引脚将nSS引脚连接到多个从机
另外,我可以连接多少个最大从属设备?您可以使用任何GPIO。只需将它们配置为输出,并手动设置它们的状态以选择从属。对于多个CS线路,没有其他方法。是否应将GPIOs设置为备用功能输出推拉?无数字输出。您无法使用SPI硬件控制它们(仅支持一条线路)
// Configuri
我试图在没有HAL的情况下编写一些基本代码来初始化和读取ADC,但我无法让它正确响应。我正在蓝色pill开发板上使用STM32F103C8T6。功能如下:
引脚B1(ADC9)连接到0-3.3V信号(通过分压器的12V电源电压)
当信号低于一个我称之为SUPP_V_MIN_VAL的常数时,就会设置引脚B9。如果信号高于该值,则引脚B9被清除
我将SUPP_V_MIN_VAL定义为2606.0。我将所有内容都转换为浮点,因为在代码的单独部分中,我需要将当前ADC值显示为浮点)
问题是我认为我没
我正在做一个项目,我在其中使用stm32f411核子板。我面临着错误
说明资源路径位置类型
致命错误:ff.h:没有此类文件或目录fatfs.h/New Folder/Inc第56行C/C++问题
在C:/Users/firmware/Desktop/uc4/New Folder/Inc/file_functions.h:10:0中包含的文件中,
从C:/Users/firmware/Desktop/uc4/New Folder/Inc/target_init.h:30,
从C:/Users/f
标签: Stm32
stm32-halstm32h7
我已将带有DFSDM接口的STM32H7A3 MPU(我相信)正确配置为使用DMA。
我希望在软件触发请求(如按下按钮)上获得N个连续样本,就像示波器“单次运行”一样。
我调用了HAL\u DFSDM\u FilterRegularMsbStart\u DMA(),它工作得很好,但当我在它完成并执行HAL\u DFSDM\u FilterRegConvCpltCallback()后再次调用它时,缓冲区包含完全相同的数据。
似乎有些事情,一些缓冲区指针(?)需要重置。
在HAL\u DFSDM\u
标签: Stm32
cortex-mhalnucleo
我一直在学习如何编程stm32的,我遇到了一个问题,我似乎无法调试自己。基本上,我希望通过UART接收3个字节,并使用DMA将它们存储到内存中。任何帮助都将不胜感激。确切的模式是核子-f401RE上的模式
#include "main.h"
#include "stm32f4xx_hal.h"
#include <string.h>
#include <stdlib.h>
UART_HandleTypeDef huart2;
DMA_HandleTypeDef h
我正在研究两块Nucleo-H743ZI板之间的SPI通信。
我正在使用ST's HAL和SPI轮询API HAL_SPI_TransmitReceive
在12比特/秒的带宽(SPI内核时钟为200兆赫,预分频器为16,CPU始终为400兆赫)之前,它工作正常,但在高于12比特/秒的带宽(较小的预分频器)时出现故障
我想了解一下,因为24或48 Mbits/s甚至在使用劣质软件进行轮询时似乎也不多
当预分频器设置为8时,我没有像溢出或其他(我直接在寄存器中检查)那样的SPI错误,但是数据不正确
我对上升下降触发中断的触发电压有点困惑。根据我之前的理解,触发电压应为Vih和Vil。但有人告诉我Vih和Vil不适用于边缘触发中断。问题是,当我用示波器和Keil的中断计数器观察波形时,我确实看到了当电压未达到Vih(上升沿)时发生的中断。我使用3.3V电压。信号仅为1V左右,中断被触发。我查看了STM32的手册,没有找到答案
有人能帮忙吗
谢谢,无论您使用的是中断还是轮询,级别都是相同的
VIH min是保证解释为高的最小电压,VIL max是保证解释为低的最大输入
这两个电平之间的任何电压
大家好
需要通过jtag/swd连接到stm32f205
有一个芯片由所有引脚焊接而成
有一个中文的st-linkv2
我想我需要rst,swclk,swdio 3.3vdd
在数据表中,它是7、49、46、48针
我不确定我是否连接正确,stm实用程序也没有看到芯片
我请求你引导我走上正确的道路,并解释我错在哪里以及如何纠正
提前谢谢。我想您忘记在主机上安装STLink驱动程序了。您连接的引脚没有问题,因为不需要使用此USB STLink模块连接Gnd。
对于Linux主机,您可以在官方存
标签: Stm32
iotesp8266cortex-m
我正在研制STM32f401核子板和ESP8266无线模块。我正在使用EclipseGCCARM工具链和cubeMx生成代码。我可以通过USART/UART DMA完美地传输和接收数据
现在我被ESP8266困住了。我无法将数据从MCU发送到ESP,也无法从ESP接收到MCU的响应。我已经测试了ESP模块通信,我可以通过USB通过AT命令连接到wifi,也可以通过插座连接在web上接收数据
我用PA9/PA10配置了USART1\U TX/USART1\U RX
提前谢谢。我不是专家,但我会尽力
我正在使用HAL通过SPI+DMA将10个字节从主设备传输到从设备。如何检查接收器此时是否有多少字节,如果没有收到所有10字节,则再次停止进程。因为主设备在发送10个字节后,应该从从设备得到一个应答,但如果从设备没有收到完整的字节,它将等待,系统将进入indifinite
有什么想法吗?“我正在用HAL通过SPI+DMA将10个字节从主设备传输到从设备。”
由于您使用DMA,所以只需将传输大小配置为DMA接收器API并启用DMA中断。当DMA接收到10字节时,DMA接收器将到达完整的输入,但发送
标签: Stm32
stm32f4discoverystm32f4
我想测量PWM信号的频率。为此,我使用了STM-F401RE及其定时器输入捕获功能
问题是:
输入信号具有相当高的频率(约2MHz),并且
STM-F401RE控制器只有80MHz时钟
因此,当使用中断例程计算输入信号上升沿的数量时,它会遗漏许多上升沿(取决于输入信号的频率)。当使用示波器并切换I/O引脚时,我发现当频率低于400kHz时,它只能捕获所有上升沿
问题是:如何克服这个问题?或者是否有其他方法测量高频输入pwm信号
谢谢您需要将计时器设置为PWM输入,而不是捕获输入(例如,TIM
我正在尝试将我的程序移动到hal,我的SPI只接收255个。我忘记设置什么了
阅读功能:
uint8_t addressMsb[1] = { READ_ADDRESS | RTD_MSB_ADDRESS };
uint8_t addressLsb[1] = { READ_ADDRESS | RTD_LSB_ADDRESS };
uint8_t Temp_Msb[1];
uint8_t Temp_Lsb[1];
...
PT_CS1_LOW;
HAL_SPI_Transmit(&hspi
我试图测量STM32L011F4微控制器中的电流消耗。我尝试了STM在“stm32cubel0”中提供的待机模式示例代码。当我用万用表测量待机模式下的电流消耗时,它约为320µA。数据表显示,在独立看门狗和LSI关闭的情况下,温度在-40°C至25°C之间时,最大电流消耗为0.6µA。代码如下所示。有人知道为什么目前的消费比预期的要多吗
int main(无效)
{
/*STM32L0xx HAL库初始化*/
HAL_Init();
/*将系统时钟配置为2 MHz*/
SystemClock_C
为了提供正确的上下文,我使用了CubeMX来设置一切,我的所有管脚都已初始化,在将这些HAL函数放入程序之前,编译并运行时不会出错。只有当我加上
HAL_UART(&huartWifi, "AT+CWJAP=SSID,secretPassword", sizeof("AT+CWJAP=SSID,secretPassword"), HAL_MAX_DELAY);
HAL_UART(&huartBluetooth, "AT+NAMEfriendlyName", sizeof("AT
标签: Stm32
stm32f4discoverystm32f4
您好,我对stm32f4 disc1有问题。
我可以使用CDC传输通过USB(USB_FS_CDC)传输信息,我可以发送can信息,但不会因为接收can信息而中断。仅当我未初始化USB\U CDC时,才会收到can消息的中断。
您好,由于我需要从can接收信息,然后通过USB传输到PC,所以可以同时使用can和USB CDC吗?有人能给我一些建议吗?有人吗?有什么建议吗
我正在玩一个STM32µC项目。我在Mac OSX系统上使用workbench和CubeMX。我的项目本身很好,一切都会相应地编译,并在设备上按预期运行
为了进一步学习,我想使用该框架实现单元测试。我已经设置好了一切,得到了我的测试目录和一个makefile来配置MakefileWorker变量
但是,在执行Makefile时,我不断得到错误:
error:
register 'sp' unsuitable for global register variables on this tar
标签: Stm32
microcontrollerinterrupt
我正在STM32F103x中尝试停止模式,顺便说一下,这是一个克隆。我有一个计时器,它最多可以计数5秒,然后在中断时设置变量“goTosleep”=1。根据goTosleep的值,我执行Stop命令。我可以通过EXTI退出停止模式。问题是微控制器复位后似乎进入停止模式。当我在EXTI上中断时,它会很好地退出停止模式
这是我的密码
#include "main.h"
TIM_HandleTypeDef htim2;
uint8_t goTosleep = 0;
void
标签: Stm32
modbusstm32f4discoveryrs485
是否可以使用“Freemodbus”作为主端?
我将在stm32f4xx手臂上推动它
若并没有,请向我介绍在RS485物理层工作的替代协议 我在网站上查看了FreeModbus,它似乎不支持主端实现。在快速搜索用于嵌入式设备的Modbus主库时,我不会找到任何点击率。我肯定有人有一个,但它可能不是免费的
至于替代方案,这最终主要是基于意见的,与堆栈溢出无关。您可以尝试使用带有GNU通用公共许可证的Modbus Master。我也在尝试 FreeModbus开放源代码不包含主模式。我重写了它并添加
1 2 3 4 5 6 ...
下一页 最后一页 共 12 页