
STM32
diyer_zhou
这个作者很懒,什么都没留下…
展开
-
STM32硬件仿真不执行程序
在调试MPU6050,一旦调用里面的函数,程序就死机。硬件仿真在跳转到main程序启动汇编的时候无法跳过。折腾两天没有结果。后来检查原因是调用了printf函数,而工程里没有把工程属性的“Target“ ”Code Generation“中勾选”Use MicroLIB“。勾选后程序就可以执行了。。。。。。...原创 2020-10-19 20:25:09 · 1081 阅读 · 0 评论 -
调用mpu_dmp_get_data(&pitch,&roll,&yaw)后程序无法执行。
解决:把options for target->target标签页中的use cross-module optimization 打钩就可以了。MPU6050几个地方:1、堆栈设置大一点Stack_Size EQU 0x00001000 AREA STACK, NOINIT, READWRITE, ALIGN=3Stack_Mem SPACE Stack_Size__initial_sp ...原创 2020-10-18 12:24:56 · 6431 阅读 · 5 评论 -
STM32 ADC DMA时EOC中断异常
说明,当使用DMA时EOC中断会不正常,因为DMA后,也就是DR被读取后EOC会被自动清零。但是系统仍然可以进入中断,只不过在判断ADC_IT_EOC时会失败。把DMA关闭后,EOC中断就正常了。u32 ADC12_RESULT[8] ;void ADC1_Config(void){ GPIO_InitTypeDef GPIO_InitStructure; ADC_InitTypeDef ADC_InitStructure; DMA_InitType...原创 2020-09-20 21:21:31 · 2772 阅读 · 2 评论 -
读写W25QXX死机问题
读写W25QXXflash时,在while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET);死机。重新上电则正常,按复位键复位程序即出现此问题。经检查发现操作完成后把W25QXX POWERDOWN了,把掉电语句去掉,重新编译,下载上电后正常,复位后正常无死机现象。原创 2015-10-28 20:56:29 · 1641 阅读 · 0 评论 -
STM32 死在 while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
移植官方STM32虚拟串口程序,串口通信死在 while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);仿真发现USART1时钟味使能。。。使能时钟后仿真,USART1寄存器有反应,发送数据是仍死在 while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RE原创 2015-12-27 21:05:52 · 28363 阅读 · 8 评论 -
STM32单步仿真出现跳过语句情况
折腾了两天,程序在调用RCC_ADCCLKConfig(RCC_PCLK2_Div8);死活不工作,单步调试不执行,分析不出原因。后来怀疑设置问题,然后在下载选项改为全片擦除后问题解决。后记:应该是扇区擦除不完全导致的。另外,ADC预分频时钟默认2分频,72M/2=36M时钟,ADC也正常工作?问题有待研究。...原创 2018-09-12 02:10:29 · 2490 阅读 · 0 评论 -
STM32无法在线调试问题
原因在于usb_istr.c中USB挂起引起的。注释掉即可解决if (fSuspendEnabled) { // Suspend();//¹ÒÆð } else { /* if not possible then resume after xx ms */ Resume(RESUME_LATER); }...原创 2018-09-12 10:47:42 · 2427 阅读 · 0 评论