小白爱32
获得 112 次赞
帮助过173人
谁有基于STM32开发物联网模块的项目分享一下?比如使用STM32开发wifi模块,蓝牙模块,NB模块,实际应用场景的小项目,我想练练手用,感谢!
STM32窗口看门狗 超时时间计算,这个公式怎么得出来的?TWWDG = TPCLK1 x 4096 x 2^WDGTB x (T[5:0] + 1); (ms) 我知道窗口看门狗的时钟是由HCLK/4096/分频值得出来的,怎么弄出来的这个公式呢?
如题 ,STM32 APB1预分频的系数在代码哪里可以找到? 时钟初始化设置我找到了,PLL得到系统时钟也找到了,代码里只看到使能APB1或者APB2的什么时钟,没看到分频系数的设置。
帮忙看下代码,按C13按键不起作用呢?void key_init(void) { GPIO_InitTypeDef GPIO_Initstruct; EXTI_InitTypeDef EXTI_Initstruct; NVIC_InitTypeDef NVIC_Initstruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIOENABLE);//GPIOC时钟使能以及复用时钟使能 GPIO_Initstruct.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_13; GPIO_Initstruct.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Initstruct.GPIO_Mode=GPIO_Mode_IPU;//按键输入上拉直接用BSRR寄存器置位 GPIO_Init(GPIOC&GPIO_Initstruct); GPIO_EXTILineConfig(GPIO_PortSourceGPIOCGPIO_PinSource1);//中断线1配置 EXTI_Initstruct.EXTI_Line=EXTI_Line1;// EXTI_Initstruct.EXTI_LineCmd=ENABLE;// EXTI_Initstruct.EXTI_Mode=EXTI_Mode_Interrupt;// EXTI_Initstruct.EXTI_Trigger=EXTI_Trigger_Falling;//下降沿触发 EXTI_Init(&EXTI_Initstruct); GPIO_EXTILineConfig(GPIO_PortSourceGPIOCGPIO_PinSource13);//中断线13配置 EXTI_Initstruct.EXTI_Line=EXTI_Line13;// EXTI_Initstruct.EXTI_LineCmd=ENABLE;// EXTI_Initstruct.EXTI_Mode=EXTI_Mode_Interrupt;// EXTI_Initstruct.EXTI_Trigger=EXTI_Trigger_Falling;//下降沿触发 EXTI_Init(&EXTI_Initstruct); NVIC_Initstruct.NVIC_IRQChannel=EXTI1_IRQn;//设置中断通道 NVIC_Initstruct.NVIC_IRQChannelPreemptionPriority=0x01;//设置抢占优先级 NVIC_Initstruct.NVIC_IRQChannelSubPriority=0x01;//设置子优先级 NVIC_Initstruct.NVIC_IRQChannelCmd=ENABLE;//IRQ通道使能 NVIC_Init(&NVIC_Initstruct);//中断初始化 NVIC_Initstruct.NVIC_IRQChannel=EXTI15_10_IRQn;//设置中断通道 NVIC_Initstruct.NVIC_IRQChannelPreemptionPriority=0x01;//设置抢占优先级 NVIC_Initstruct.NVIC_IRQChannelSubPriority=0x02;//设置子优先级 NVIC_Initstruct.NVIC_IRQChannelCmd=ENABLE;//IRQ通道使能 NVIC_Init(&NVIC_Initstruct);//中断初始化 } void EXTI1_IRQHandler(void)//外部中断1服务函数 { delay_ms(10); if(EXTI_GetITStatus(EXTI_Line1))//未进入中断 { led0=!led0; } EXTI_ClearITPendingBit(EXTI_Line1);//清除中断标志 } void EXTI15_10_IRQHandler(void) { delay_ms(10); //消抖 if(EXTI_GetITStatus(EXTI_Line13)) { led1=!led1; } EXTI_ClearITPendingBit(EXTI_Line13); //清除EXTI13线路挂起位 }