stm32

    0热度

    1回答

    在STM32系列上启用UART DMA接收有什么要求?根据我的观察,如果任何陈旧的数据在uart接收数据寄存器中,它将阻止dma在启用时启动(我相信因为没有新数据会触发dma中断来清除该字节并继续正常)。 如果在中断上下文中并且在dmar位被设置后收到数据(即uart dma接收使能),那么dma会在退出中断时清除该位,否则会锁定dma?如果是这样,如何在启用dma和退出中断上下文之间防止这种竞争

    0热度

    1回答

    我是一个新手。我来找你,因为我的学生项目需要建立stm32f3和DHT11传感器之间的通信。 沟通是非常具体的,我需要准时的好成绩。 但我从来没有在微秒工作,我不知道如何使用它 有人能帮助我吗?

    0热度

    3回答

    我正在使用IAR 7.80开发STM32 mC。 我需要在Flash中将特定的内存块表示为不同大小的变量。 例如从位置0x0800B00开始我有以下数据: 4个字节,它们是一个浮点数,一个大小为4的字符数组,然后是一个uint32_t的4个字节数组。 目前我指定的每个变量的特定位置,使得对于上面的例子我写: _Pragma("location=0x0800B000") const float fi

    0热度

    1回答

    从STM32F411发送字符到PC时它会读取垃圾,但是当我做相反的操作时,MCU正确读取字符发送时出现问题。 我执行以下操作: 启用GPIOA时钟和配置销9和10的复用功能。 启用USART1,离开默认值M(消息长度),停止位,DMA 设置USARTDIV导致为16MHz(HSI)9600波特* 配置USART发送空闲帧作为第一传输 *我也尝试了100Mhz APB2总线频率,结果相同。 配置US

    2热度

    2回答

    我正在编程像STM32F4 **和STM32F0 **的MCU,使用ARM GCC非可编译器,c/C++并且发现了有趣的模式。 如果我建立一些* .bin文件,它的大小始终是整除4 我想可能是因为MCU是32位(= 4字节)。所以bin_size%4 == 0。我尝试了一些“黑客”;例如将一些字节数组扩大1,但二进制大小总是相同的。当我放大数组时,二进制大小变大,但又可以被4整除。 我可以把这个效

    2热度

    2回答

    我使用STM32Cube初始化代码生成器来生成初始化的Timer函数。要生成固定占空比PWM信号,我将HAL_TIM_Base_Start(&htim1); //Starts the TIM Base generation和HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1)//Starts the PWM signal generation添加到定时器初始化函数中,如

    0热度

    1回答

    我有一个微控制器STM32F051我想编程它。我查找了可以使用的IDE,并找到了我正在使用的TRUESTUDIO。我想知道我应该如何将我制作的程序发送到微控制器。我是否需要任何特定的编程器(例如Microchip Pics的电子设备)?当我点击按钮调试,我得到一个错误 "Error in initializing ST-Link device. Reason: Failed to connect

    -3热度

    1回答

    启动STM32我尝试为指针指向的结构分配内存。 TLxbEvents *LxbEvents memset((void*)LxbEvents, 0, sizeof(TLxbEvents)); 展望拆卸,它总是崩溃就行 STMCS r0!,{r2-r3,r12,lr} 我找不到描述ARM的网站或谷歌或其他地方的STMCS指令幽冥文档... 寄存器在那一点是 r0 0x2000D694 r2

    0热度

    1回答

    关于stm32定时器:中断禁止定时器和中断禁止定时器之间有什么区别?

    0热度

    2回答

    我试图擦除stm32l011k4中的Flash地址。我的代码就是这样; #define SLAVE_ID_ADDR_I 0x08080001 #define SLAVE_ID_ADDR_II 0x08080002 #define SLAVE_ID_ADDR_III 0x08080003 #define MASTERID 0x0808000