你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

初次使用stm32 LED不能点亮 请教各位

[复制链接]
dody1209 提问时间:2020-7-12 21:48 /
我使用的是普中Z100开发板,
led怎么都不能点亮,拜托各位前辈帮看看!!
程序如下:

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

#include "system.h"
#define Delay(n) while((n)--)
       

void Rcc_Configuration(void)
{
ErrorStatus HSEStartUpStatus;
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);       
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
  {
         RCC_HCLKConfig(RCC_SYSCLK_Div1);
         RCC_PCLK2Config(RCC_HCLK_Div1);       
         RCC_PCLK1Config(RCC_HCLK_Div2);
         FLASH_SetLatency(FLASH_Latency_2);
   FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);               
         
   RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);               
         RCC_PLLCmd(ENABLE);
         while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
         RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
         while(RCC_GetSYSCLKSource()!=0x80);
         }
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);       
}
       
void GPIO_Configuration(void)       
{
GPIO_InitTypeDef GPIO_InitStructure;
       
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;       
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOB,&GPIO_InitStructure);               
}
       
int main(void)
{
vu32 n=2000000;
Rcc_Configuration();
GPIO_Configuration();
       
while(1)
   {
    GPIO_SetBits(GPIOB,GPIO_Pin_5);
    Delay(n);       
    GPIO_ResetBits(GPIOB,GPIO_Pin_5);
    Delay(n);       
          }
}


收藏 评论11 发布时间:2020-7-12 21:48

举报

11个回答
mylovemcu 回答时间:2020-7-13 08:08:49
检查时钟配置有没有问题  
如果是新手刚上手  建议使用cubmx进行初始化配置  效率更高

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

wyxy163@126.com 回答时间:2020-7-13 08:40:34
提示: 作者被禁止或删除 内容自动屏蔽
xudongqiang 回答时间:2020-7-13 08:48:24
延时太短了?
dody1209 回答时间:2020-7-13 19:25:45
mylovemcu 发表于 2020-7-13 08:08
检查时钟配置有没有问题  
如果是新手刚上手  建议使用cubmx进行初始化配置  效率更高 ...

十分感谢!我是新手,除了程序中的时钟配置,在option之类的环境中还有什么配置吗?
cubmx没用过,之后尝试一下。
cdlongbo 回答时间:2020-7-14 11:26:39
1.检查电路 2.检查时钟配置 3.IO口配置  4.引脚输出
就这4个项目 一定会帮到你的

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

jeffhe1 回答时间:2020-7-14 14:04:08
你是使用外部 crystal , 用示波器量看看 有無振起 ?
再檢查 GPIOB 的 clock 確定是 RCC_APB2
假如都對 , 再檢查LED電路 是否會亮
假如會亮 , 再確認 delay 時間夠不夠

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

jundao721 回答时间:2020-7-14 14:27:41
参考一下例程,除了程序还有option的配置,仿真个例程先确定硬件部分没问题,然后再修改软件。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

大陶 回答时间:2020-7-14 16:51:14
用示波器看一下 HSE起振了吗?然后在看一下BOOT0 Boot1的配置,然后再看一下 延时会不会太短了,如果你用的是8MHZ的外部晶振 那么系统时钟是72MHZ 延时很快的。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

butterflyspring 回答时间:2020-7-17 09:58:45
使用调试手段,在IO翻转处打断点,看看输入脚状态寄存器是否正确,再用示波器或万用表量测一下。 至于软件学习方面,一般都是跑跑官方的例程,仔细学习一下能比较快速上手

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

╮倾壹伳柔情 回答时间:2020-7-17 16:47:21
给你个简单的  改下io口的宏定义就可以了



针对你的程序 先不要再while循环里闪灯,可以在while之前默认亮灯或者灭灯  while循环空白  看是否启动时能否按照你的语句亮灭

rtt32f103c8.zip

下载

15.39 MB, 下载次数: 2, 下载积分: ST金币 -1

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

飞之天之飞 回答时间:2020-7-17 16:52:12
你那个N太大了

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版