本帖最后由 8677343898 于 2018-3-6 09:19 编辑
今天遇到的问题:
在KEIL上写好LED驱动代码,经过Jlink链接STM32103c调试,发现要驱动的灯不亮,飞行器四周的灯确莫名其妙的逐渐变亮;
代码如下:
- #include "stm32f10x.h"
- #define LED2_GPIO GPIOB
- #define LED2_Pin GPIO_Pin_3
- #define LED3_GPIO GPIOC
- #define LED3_Pin GPIO_Pin_13
- #define LED2_ON LED2_GPIO->BRR = LED2_Pin;
- #define LED2_OFF LED2_GPIO->BSRR = LED2_Pin;
- #define LED3_ON LED3_GPIO->BSRR = LED3_Pin;
- #define LED3_OFF LED3_GPIO->BRR = LED3_Pin;
- static void delay(uint16_t n)
- {
- uint16_t i,j;
- for(i=0;i<n;i++)
- for(j=0;j<n; j++);
- }
- int main(void)
- {
- <font color="#ff0000"> void LED_Init();</font>
- while(1)
- {
- LED2_ON;
- delay(1000);
- LED3_ON;
- delay(1000);
- LED2_OFF;
- delay(1000);
- LED3_OFF;
- delay(1000);
- }
- }
- void LED_Init(void)
- {
- GPIO_InitTypeDef GPIO_Structure;
-
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
-
- GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);
-
- GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
-
- GPIO_Structure.GPIO_Pin= LED2_Pin;
- GPIO_Structure.GPIO_Speed=GPIO_Speed_50MHz;
- GPIO_Structure.GPIO_Mode=GPIO_Mode_Out_PP;//
- GPIO_Init(LED2_GPIO,&GPIO_Structure);
- GPIO_Structure.GPIO_Pin= LED3_Pin;
- GPIO_Structure.GPIO_Speed=GPIO_Speed_50MHz;
- GPIO_Structure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_Init(LED3_GPIO,&GPIO_Structure);
- }
暂时还未解决。------------------------------------------------------------------------------------------------------------------------
解决了。犯了个智障的错误。见代码上标红的地方。声明了函数却没有使用。Dammit
|