stm32如何执行软复位_stm32上电复位和软复位有什么区别。该如何解决...

stm32如何执⾏软复位_stm32上电复位和软复位有什么区别。
该如何解决
生物入侵论文
stm32 上电复位 和软复位有什么区别。
我有⼀个lwip的程序,
1.上电跑不正确。
2.上电同时按下复位键,跑也不正确。
3.上电跑不正确。跑⼀会按下复位键。再跑⼀次正确。
4跑⼀会⼉,软复位。再跑能正确。代码如下。
const u16*  pBuffer = (const u16*)0x0803fc00;
黑芝RCC_ClocksTypeDef RCC_Clocks;
/* Setup STM32 clock, PLL and Flash configuration) */
SystemInit();
/* Enable USART2 clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
/* Enable ETHERNET clock  */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_ETH_MAC | RCC_AHBPeriph_ETH_MAC_Tx |
RCC_AHBPeriph_ETH_MAC_Rx, ENABLE);
/* Enable GPIOs and ADC1 clocks */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC |
RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO |
RCC_APB2Periph_ADC1, ENABLE);直流固态继电器
ADC_Configuration();骨传导
NVIC_Configuration();
GPIO_Configuration();
if( *pBuffer==0)//第⼀次起跑,复位。
{
FLASH_Unlock();
FLASH_ClearFlag(FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);
FLASH_ErasePage(0x0803fc00);
FLASH_ProgramHalfWord((0x0803fc00 ),1);
FLASH_Lock();
SCB->AIRCR =0X05FA0000|(u32)0x04;
}
else//第⼆次起跑,不复位。
{
FLASH_Unlock();
FLASH_ClearFlag(FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);
FLASH_ErasePage(0x0803fc00);
FLASH_ProgramHalfWord((0x0803fc00 ),0);
FLASH_Lock();
}
这样程序能正确执⾏。
5.同⼀个程序程序跑两遍,不正确。
const u16*  pBuffer = (const u16*)0x0803fc00;
RCC_ClocksTypeDef RCC_Clocks;
/* Setup STM32 clock, PLL and Flash configuration) */
SystemInit();
/* Enable USART2 clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
/* Enable ETHERNET clock  */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_ETH_MAC | RCC_AHBPeriph_ETH_MAC_Tx |
RCC_AHBPeriph_ETH_MAC_Rx, ENABLE);
/* Enable GPIOs and ADC1 clocks */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO |
靳辅
RCC_APB2Periph_ADC1, ENABLE);
ADC_Configuration();
NVIC_Configuration();
GPIO_Configuration();
//跑两遍
const u16*  pBuffer = (const u16*)0x0803fc00;
RCC_ClocksTypeDef RCC_Clocks;
/* Setup STM32 clock, PLL and Flash configuration) */
SystemInit();
/* Enable USART2 clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
/
* Enable ETHERNET clock  */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_ETH_MAC | RCC_AHBPeriph_ETH_MAC_Tx |
RCC_AHBPeriph_ETH_MAC_Rx, ENABLE);
/* Enable GPIOs and ADC1 clocks */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO |
卷盘RCC_APB2Periph_ADC1, ENABLE);
ADC_Configuration();
NVIC_Configuration();
GPIO_Configuration();
太恶搞了。
------解决⽅案--------------------
你好,我最近在捣⿎STM32, GPIOD>CRL&=0XFFFFF0FF; GPIOD->CRL
------解决⽅案--------------------
=0X00000300;⽐如说这两句是对PD2的⼀些设置,但是如果我要设置PD3呢?应该怎样写啊?也就是说我没有理解这两个0XFFFFF0FF,0X00000300的意思。希望你能帮助我解决这个困惑谢谢期待你的回复。

本文发布于:2024-09-22 10:38:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/570649.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:复位   期待   希望   解决
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议