OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2959|回复: 6

新人,根据视频教学,玩了一下跑马灯,可是,我把程序下到mini板里后,两个灯的时间间隔不是程序里延时的时间,求教

[复制链接]

3

主题

7

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2015-6-29
在线时间
0 小时
发表于 2015-6-29 08:41:58 | 显示全部楼层 |阅读模式
5金钱

#include "stm32f10x.h"
#include  "delay.h"
/* void Delay(u32 count)
 {
  u32 i=0;
  for(;i<count;i++);

 }*/
 int main(void)
 { 
  GPIO_InitTypeDef  GPIO_InitStructure;
  delay_init();
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD, ENABLE);  //使能PA,PD端口时钟
 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;     //LED0-->A.8 端口配置
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;    //推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;   //IO口速度为50MHz
  GPIO_Init(GPIOA, &GPIO_InitStructure);      //根据设定参数初始化GPIOA.8
  GPIO_SetBits(GPIOA,GPIO_Pin_8);       //PA.8 输出高

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;        //LED1-->D.2 端口配置, 推挽输出
  GPIO_Init(GPIOD, &GPIO_InitStructure);        //推挽输出 ,IO口速度为50MHz
  GPIO_SetBits(GPIOD,GPIO_Pin_2);        //PD.2 输出高   
  while(1)
 {
     GPIO_ResetBits(GPIOA,GPIO_Pin_8);
     GPIO_SetBits(GPIOD,GPIO_Pin_2);
  delay_ms(500);
  //Delay(3000000);
  GPIO_SetBits(GPIOA,GPIO_Pin_8);
  GPIO_ResetBits(GPIOD,GPIO_Pin_2);
  delay_ms(500);
  //Delay(3000000);
 }
 }

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

216

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1124
金钱
1124
注册时间
2015-2-27
在线时间
485 小时
发表于 2015-6-29 12:49:00 | 显示全部楼层
static void SetSysClockTo72(void)这个函数最后有个else在里面随便加行代码,加个断点,设置仿真不从main开始,然后全速运行,如果掉入那个断点处,表示你的外部晶振挂了,

如果不是上面的问题,那就是你程序有问题
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-6-29 22:22:20 | 显示全部楼层
你的结果是多少?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
440
金钱
440
注册时间
2016-11-7
在线时间
63 小时
发表于 2016-11-23 07:16:28 来自手机 | 显示全部楼层
正点原子 发表于 2015-6-29 22:22
你的结果是多少?

昨天按照视频在战舰里做了一下跑马灯,自己想修改延时时间跟闪烁效果,结果不行,这是什么问题啊?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-11-27 14:21:12 | 显示全部楼层
lihilong 发表于 2016-11-23 07:16
昨天按照视频在战舰里做了一下跑马灯,自己想修改延时时间跟闪烁效果,结果不行,这是什么问题啊?

你这怎么修改的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
440
金钱
440
注册时间
2016-11-7
在线时间
63 小时
发表于 2016-11-27 22:50:40 | 显示全部楼层

是不是不能超过值1764?我自己按照函数里边公式算了一下
回复

使用道具 举报

5

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
440
金钱
440
注册时间
2016-11-7
在线时间
63 小时
发表于 2016-11-27 22:52:58 | 显示全部楼层
lihilong 发表于 2016-11-27 22:50
是不是不能超过值1764?我自己按照函数里边公式算了一下

RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |
                                        RCC_CFGR_PLLMULL));
    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);
这个语句能详解一下么?
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 13:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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