野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 24002|回复: 8

LED不亮丫丫 新手用内部晶振

[复制链接]
发表于 2014-3-8 15:31:39 | 显示全部楼层 |阅读模式
     由于板子晚上才到,又爱学,群里人爱积分,把我弄到帖子来啦,
     由于实验室的板子的外部晶振没了,用了内部晶振,代码如下:图如下 记住 外部晶振没了  坏了;
T2bZWTXiFbXXXXXXXX_!!1620298888.jpg
led.c

/*
*ÎļþÃû  £ºled.c
*ÃèÊö    £ºledÓ¦ÓóÌÐò
*Ó²¼þÁ¬½Ó£º---------
*          | pc3-led1 |
*          | pc4-led2 |
*          | pc5-led3 |
****************************/
#include "led.h"
#include "stm32f10x_flash.h"


/*
*function    :led_GPIO_Config
*discription :configration i/o of led
*input       :none
*output      :none
*/
void led_GPIO_Config(void)
{
  GPIO_InitTypeDef GPIO_led;
  
  /***/
  
RCC_DeInit();
  RCC_HSICmd(ENABLE); // internal HSI RC (8 MHz)
  RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);

  RCC_HSEConfig(RCC_HSE_OFF);
  RCC_LSEConfig(RCC_LSE_OFF);
  RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_8); // 32HMz
  RCC_PLLCmd(ENABLE);
  while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);

  FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
  FLASH_SetLatency(FLASH_Latency_0);

  RCC_PCLK2Config(RCC_HCLK_Div1);
  RCC_PCLK1Config(RCC_HCLK_Div2);
  RCC_HCLKConfig(RCC_SYSCLK_Div1);
  RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF, ENABLE);
  // RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 , ENABLE);
  
  /**/
  
  //RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE);
  
  GPIO_led.GPIO_Pin=GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;
  
  GPIO_led.GPIO_Mode=GPIO_Mode_Out_PP;
  
  GPIO_led.GPIO_Speed=GPIO_Speed_50MHz;
  
  GPIO_Init(GPIOF,&GPIO_led);
  
  /**/
  GPIO_SetBits(GPIOF,GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);
  
// GPIO_ResetBits(GPIOF,GPIO_Pin_8|GPIO_Pin_9);
}

led.h

#ifndef _led_h
#define _led_h

#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"

#define ON 1
#define OFF 0

#define led1(a) if(a) GPIO_SetBits(GPIOF,GPIO_Pin_7); \
           else GPIO_ResetBits(GPIOF,GPIO_Pin_7)
#define led2(a) if(a) GPIO_SetBits(GPIOF,GPIO_Pin_8);\
      else GPIO_ResetBits(GPIOF,GPIO_Pin_8)
#define led3(a) if(a) GPIO_SetBits(GPIOF,GPIO_Pin_9);\
      else GPIO_ResetBits(GPIOF,GPIO_Pin_9)
/**/
void led_GPIO_Config(void);
#endif
}

main.c

/**
  ******************************************************************************
  * @file    main.c
  * @author  fire
  * @version V1.0
  * @date    2013-xx-xx
  * @brief   ÓÃ3.5.0°æ±¾¿â½¨µÄ¹¤³ÌÄ£°å
  ******************************************************************************
  * @attention
  *
  * ʵÑéƽ̨:Ò°»ð iSO-MINI STM32 ¿ª·¢°å
  * ÂÛ̳    :http://www.firebbs.cn
  * ÌÔ±¦    :http://firestm32.taobao.com
  *
  ******************************************************************************
  */
  
#include "stm32f10x.h"
#include "led.h"

void Delay(__IO u32 nCount);
/**
  * @brief  Ö÷º¯Êý
  * @param  ÎÞ
  * @retval ÎÞ
  */
int main(void)
{
led_GPIO_Config();//led³õʼ»¯
     while(1)
   {
    led1(ON);
    Delay(0x0FFFFFF);
    led1(OFF);
   
    led2(ON);
    Delay(0x0FFFFFF);
    led2(OFF);
   
    led3(ON);
    Delay(0x0FFFFFF);
    led3(OFF);
   }
   /* add your code here ^_^. */
}


void Delay(__IO u32 nCount)
{
while(nCount--);
}
/*********************************************END OF FILE**********************/


回复

使用道具 举报

发表于 2014-3-8 15:32:58 | 显示全部楼层
所以楼主想问什么。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-8 15:36:21 | 显示全部楼层
丁玉 发表于 2014-3-8 15:32
所以楼主想问什么。。。

比雷公还雷人哦~怎么点亮led灯
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-8 15:37:17 | 显示全部楼层
丁玉 发表于 2014-3-8 15:32
所以楼主想问什么。。。

点不亮 ,哪里出问题啦
回复 支持 反对

使用道具 举报

发表于 2014-3-8 15:50:49 | 显示全部楼层
#include "stm32f10x.h"
void LED_GPIO_Config(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE);

  GPIO_InitStructure.GPIO_Pin =GPIO_Pin_8;       
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      
  GPIO_Init(GPIOB, &GPIO_InitStructure);

}

int main(void)
{

//        SystemInit();
//        SysTick_Init();
RCC_HSICmd(ENABLE);//使能内部高速晶振 ;
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);//选择内部高速时钟作为系统时钟SYSCLOCK=8MHZ
RCC_HCLKConfig(RCC_SYSCLK_Div1);//选择HCLK时钟源为系统时钟SYYSCLOCK
RCC_PCLK1Config(RCC_HCLK_Div4);//APB1时钟为2M
RCC_PCLK2Config(RCC_HCLK_Div4);//APB2时钟为2M
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);//使能APB2外设GPIOB时钟

        LED_GPIO_Config();
        GPIO_SetBits(GPIOB,GPIO_Pin_8);
    GPIO_ResetBits(GPIOB,GPIO_Pin_8);

        while(1)
        {
        }
}
回复 支持 反对

使用道具 举报

发表于 2014-3-8 15:51:21 | 显示全部楼层
已经把晶振拆了试过,你反代码套进去试试吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-8 15:59:02 | 显示全部楼层
三流电工 发表于 2014-3-8 15:51
已经把晶振拆了试过,你反代码套进去试试吧

表示我板子上没用哦哦
回复 支持 反对

使用道具 举报

发表于 2014-3-8 16:38:02 | 显示全部楼层
刀神徒弟STM神 发表于 2014-3-8 15:59
表示我板子上没用哦哦

等今晚ISO到你手上就可以用ISO了
回复 支持 反对

使用道具 举报

发表于 2014-3-11 16:46:16 | 显示全部楼层
为毛没有一段中文注解。。。。看着头晕
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-4 12:58 , Processed in 0.031934 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表