OpenEdv-开源电子网

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

F429 流水灯为什么只点亮了红灯

[复制链接]

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2016-7-18
在线时间
27 小时
发表于 2016-10-27 16:51:52 | 显示全部楼层 |阅读模式
2金钱
我自己重新建了一个工程,source和include还有main,led都是拷贝的例程一的,只是工程是我自己重新建的而已,编译没错没警告,怎么流水灯只亮了一个呢,单独点亮每个灯都是亮的呀?
有遇到过类似情况吗,求解答

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

使用道具 举报

12

主题

70

帖子

0

精华

高级会员

Rank: 4

积分
888
金钱
888
注册时间
2016-3-29
在线时间
178 小时
发表于 2016-10-27 17:23:42 | 显示全部楼层
把源码 亮出来 给大伙儿瞧瞧。不要害羞~~~~~o(∩_∩)o 哈哈
回复

使用道具 举报

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2016-7-18
在线时间
27 小时
 楼主| 发表于 2016-10-27 19:16:26 | 显示全部楼层
这是源码

mytest(hal).rar

13.18 MB, 下载次数: 122

回复

使用道具 举报

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2016-7-18
在线时间
27 小时
 楼主| 发表于 2016-10-27 19:17:42 | 显示全部楼层
来一颗糖 发表于 2016-10-27 17:23
把源码 亮出来 给大伙儿瞧瞧。不要害羞~~~~~o(∩_∩)o 哈哈

源码贴出来了,害羞就不会来问了,只是觉得很简单,没相通是哪里不对劲,所以没上传代码
回复

使用道具 举报

15

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-9-22
在线时间
26 小时
发表于 2016-10-27 20:53:15 | 显示全部楼层
我看了一下啊  你这个库函数版本的模板太乱了   我没有429的板子 就简单的看了一下  我在里面好像没找到内核文件啊  C:\Users\Administrator\Desktop  
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2016-10-27 20:53:28 | 显示全部楼层
仿真跟踪下就知道了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

15

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-9-22
在线时间
26 小时
发表于 2016-10-27 20:53:53 | 显示全部楼层
初学者要变大师 发表于 2016-10-27 20:53
我看了一下啊  你这个库函数版本的模板太乱了   我没有429的板子 就简单的看了一下  我在里面好像没找到内 ...

你这个也不是正点原子给出的模板格式吧
回复

使用道具 举报

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2016-7-18
在线时间
27 小时
 楼主| 发表于 2016-10-27 21:05:44 | 显示全部楼层
初学者要变大师 发表于 2016-10-27 20:53
你这个也不是正点原子给出的模板格式吧

我自己建的工程,选的内核和启动文件,原子的工程要添加的东西太多了
回复

使用道具 举报

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2016-7-18
在线时间
27 小时
 楼主| 发表于 2016-10-27 21:08:49 | 显示全部楼层
初学者要变大师 发表于 2016-10-27 20:53
我看了一下啊  你这个库函数版本的模板太乱了   我没有429的板子 就简单的看了一下  我在里面好像没找到内 ...

我这边是可以的,我是在Manage Run-Time Environment 对话框里添加的组件,后续就不需要像原子那样添加那么多文件了
回复

使用道具 举报

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2016-7-18
在线时间
27 小时
 楼主| 发表于 2016-10-27 21:09:43 | 显示全部楼层
初学者要变大师 发表于 2016-10-27 20:53
我看了一下啊  你这个库函数版本的模板太乱了   我没有429的板子 就简单的看了一下  我在里面好像没找到内 ...

编译已经通过了,没有错误。
回复

使用道具 举报

15

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-9-22
在线时间
26 小时
发表于 2016-10-27 21:17:18 | 显示全部楼层
你没有试试调试吗   追踪一下看看  
回复

使用道具 举报

15

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-9-22
在线时间
26 小时
发表于 2016-10-27 21:20:34 | 显示全部楼层
我感觉是外部晶振没打开  只打开的内部高速时钟的样子  delay不能用
回复

使用道具 举报

15

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-9-22
在线时间
26 小时
发表于 2016-10-27 21:21:42 | 显示全部楼层
do
  {
    HSEStatus = RCC->CR & RCC_CR_HSERDY;
    StartUpCounter++;
  } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));

软件调试到这一步   就报错了  也可能是429的板子不能用软件调试

*** error 65: access violation at 0x40023800 : no 'read' permission
回复

使用道具 举报

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2016-7-18
在线时间
27 小时
 楼主| 发表于 2016-10-27 21:22:17 | 显示全部楼层
正点原子 发表于 2016-10-27 20:53
仿真跟踪下就知道了。

原子哥,建工程时我是在Manage Run-Time Environment 对话框里添加的组件,启动文件,没有像你一样添加.c文件,工程编译通过了,但是仿真时红灯亮时就卡住sys.c中的delay_ms中,然后我把延时改用hal_delay()来做,结果运行到那keil直接报错闪退了。
是不是你们对core里的一些程序做了修改呀,我就这一步没有按照你们的做,直接在Manage Run-Time Environment 里勾选的,图片在下面
回复

使用道具 举报

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2016-7-18
在线时间
27 小时
 楼主| 发表于 2016-10-27 21:22:52 | 显示全部楼层
Manage Run-Time Environment 里勾选的启动文件和core
1Z(NI7VtG{8_1BZQBX[9S.png
回复

使用道具 举报

15

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-9-22
在线时间
26 小时
发表于 2016-10-27 21:35:31 | 显示全部楼层
帮不了你了  但我发现你的文件里少了一个 cmsis_armcc.h 这个在你勾选的内核文件中没有
回复

使用道具 举报

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2016-7-18
在线时间
27 小时
 楼主| 发表于 2016-10-27 21:36:37 | 显示全部楼层
初学者要变大师 发表于 2016-10-27 21:21
do
  {
    HSEStatus = RCC->CR & RCC_CR_HSERDY;

你好,我怎么都没有找到你说的这串代码呀?
回复

使用道具 举报

15

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2016-9-22
在线时间
26 小时
发表于 2016-10-27 21:39:47 | 显示全部楼层
代码在system_stm32f4xx.c中  

static void SetSysClock(void)
{
/******************************************************************************/
/*            PLL (clocked by HSE) used as System clock source                */
/******************************************************************************/
  __IO uint32_t StartUpCounter = 0, HSEStatus = 0;
  
  /* Enable HSE */
  RCC->CR |= ((uint32_t)RCC_CR_HSEON);

  /* Wait till HSE is ready and if Time out is reached exit */
  do
  {
    HSEStatus = RCC->CR & RCC_CR_HSERDY;
    StartUpCounter++;
  } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));

  if ((RCC->CR & RCC_CR_HSERDY) != RESET)
  {
    HSEStatus = (uint32_t)0x01;
  }
  else
  {
    HSEStatus = (uint32_t)0x00;
  }

  if (HSEStatus == (uint32_t)0x01)
  {
    /* Select regulator voltage output Scale 1 mode */
    RCC->APB1ENR |= RCC_APB1ENR_PWREN;
    PWR->CR |= PWR_CR_VOS;

    /* HCLK = SYSCLK / 1*/
    RCC->CFGR |= RCC_CFGR_HPRE_DIV1;

#if defined (STM32F40_41xxx) || defined (STM32F427_437xx) || defined (STM32F429_439xx)      
    /* PCLK2 = HCLK / 2*/
    RCC->CFGR |= RCC_CFGR_PPRE2_DIV2;
   
    /* PCLK1 = HCLK / 4*/
    RCC->CFGR |= RCC_CFGR_PPRE1_DIV4;
#endif /* STM32F40_41xxx || STM32F427_437x || STM32F429_439xx */

#if defined (STM32F401xx)
    /* PCLK2 = HCLK / 2*/
    RCC->CFGR |= RCC_CFGR_PPRE2_DIV1;
   
    /* PCLK1 = HCLK / 4*/
    RCC->CFGR |= RCC_CFGR_PPRE1_DIV2;
#endif /* STM32F401xx */
   
    /* Configure the main PLL */
    RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) |
                   (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24);

    /* Enable the main PLL */
    RCC->CR |= RCC_CR_PLLON;

    /* Wait till the main PLL is ready */
    while((RCC->CR & RCC_CR_PLLRDY) == 0)
    {
    }

这段代码就是开启HSE  然后开启PLL的
回复

使用道具 举报

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2016-7-18
在线时间
27 小时
 楼主| 发表于 2016-10-27 21:48:16 | 显示全部楼层
初学者要变大师 发表于 2016-10-27 21:35
帮不了你了  但我发现你的文件里少了一个 cmsis_armcc.h 这个在你勾选的内核文件中没有

这个也是有的。已经很感谢你了
Q}5YW~6Q0A8K5($]07Z7HP5.png
回复

使用道具 举报

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2016-7-18
在线时间
27 小时
 楼主| 发表于 2016-10-27 22:05:24 | 显示全部楼层
初学者要变大师 发表于 2016-10-27 21:39
代码在system_stm32f4xx.c中  

static void SetSysClock(void)

抱歉,我还是没找到你说的地方,莫非你那边和我的不一样?这是我这边的system_stm32f4xx.c 文件。

system_stm32f4xx.rar

4.98 KB, 下载次数: 117

回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-3-1 05:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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