OpenEdv-开源电子网

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

F407执行完main函数后跳入启动文件

[复制链接]

22

主题

120

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
252
金钱
252
注册时间
2015-7-25
在线时间
20 小时
发表于 2015-12-2 12:04:38 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]int main() { u16 led0pwmval=300; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); uart_init(115200); TIM5_PWM_Init(500-1,84-1); USART_SendData(USART1,0xff); TIM_SetCompare1(TIM5,led0pwmval); }[/mw_shl_code]
执行完main函数之后就跳入启动文件

[mw_shl_code=c,true]Reset_Handler PROC EXPORT Reset_Handler [WEAK] IMPORT SystemInit IMPORT __main LDR R0, =SystemInit BLX R0 LDR R0, =__main BX R0 ENDP[/mw_shl_code]
然后卡在system_stm32f4xx.c文件
[mw_shl_code=c,true]while((RCC->CR & RCC_CR_PLLRDY) == 0) { } #if defined (STM32F427_437xx) || defined (STM32F429_439xx) /* Enable the Over-drive to extend the clock frequency to 180 Mhz */ PWR->CR |= PWR_CR_ODEN; while((PWR->CSR & PWR_CSR_ODRDY) == 0) { } PWR->CR |= PWR_CR_ODSWEN; while((PWR->CSR & PWR_CSR_ODSWRDY) == 0) { } [/mw_shl_code]

一开始我像F103一样把启动文件里面SystemInit相关代码删除后程序就进入
hardfault_Hander故障



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

使用道具 举报

3

主题

347

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
2082
金钱
2082
注册时间
2014-12-19
在线时间
711 小时
发表于 2015-12-2 12:11:26 | 显示全部楼层
在TIM_SetCompare1(TIM5,led0pwmval);下一行添加死循环
while(1);
试试
回复

使用道具 举报

22

主题

120

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
252
金钱
252
注册时间
2015-7-25
在线时间
20 小时
 楼主| 发表于 2015-12-2 12:33:28 | 显示全部楼层
回复【2楼】lvehe:
---------------------------------
这样操作没有任何意义    治标不治本
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13092
金钱
13092
注册时间
2012-11-26
在线时间
3810 小时
发表于 2015-12-2 12:34:57 | 显示全部楼层
回复【3楼】秋夜月汐:
---------------------------------
你的int main 写法就是错的   1楼那个是正确的,至于能不能解决,自己调试吧
学无止境
回复

使用道具 举报

22

主题

120

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
252
金钱
252
注册时间
2015-7-25
在线时间
20 小时
 楼主| 发表于 2015-12-2 21:00:24 | 显示全部楼层
回复【4楼】jermy_z:
---------------------------------
int main哪里错了。。。
 添上return 0也还是这样
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13092
金钱
13092
注册时间
2012-11-26
在线时间
3810 小时
发表于 2015-12-2 21:21:55 | 显示全部楼层
回复【5楼】秋夜月汐:
---------------------------------
你觉得没错就坚持
学无止境
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-12-2 21:42:10 | 显示全部楼层
最基本的main函数需要死循环都不知道
还好意思说.....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

22

主题

120

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
252
金钱
252
注册时间
2015-7-25
在线时间
20 小时
 楼主| 发表于 2015-12-2 22:48:02 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
啥叫好意思说?
我来问个问题怎么了?

如果我有不对的地方大可指正  
基本问题我就不能问了吗
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-12-2 23:41:19 | 显示全部楼层
回复【8楼】秋夜月汐:
---------------------------------
意思就是基础要打牢点。
不是说你不能问问题,太基础的问题,在学校就应该解决。问C语言老师。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

42

主题

358

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2014-8-16
在线时间
193 小时
发表于 2015-12-4 10:04:29 | 显示全部楼层
main函数都执行完了,你还想让这个程序怎么跑?

你说加while(1)治标不治本,那你去该启动代码,执行完__main继续执行__main。

(如果我有不对的地方大可指正)

别人给你指正出来,你说不对,你觉得还有必要帮你么?连自己错都不知道错哪。

结论:你没错,你确实没错,是ST的启动文件错了。请楼主修改一份正确的启动代码文件分享到论坛,谢谢。
回复

使用道具 举报

22

主题

120

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
252
金钱
252
注册时间
2015-7-25
在线时间
20 小时
 楼主| 发表于 2015-12-4 16:05:18 | 显示全部楼层
回复【10楼】Theone:
---------------------------------
一楼告诉我添上while(1)
我只知道以前学的51都是重复执行mian函数的,所以我根本不清楚这样做的意义。

三楼告诉我int mian谢发错了 我问哪里错了

从头到尾我不知道我哪里说别人错了。

“连自己错都不知道错哪”,我知道自己错哪还用得着你来回复?

我基础不好是事实,不然也不用到这里来发帖还受大神“嘲讽”。
回复

使用道具 举报

4

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2017-3-1
在线时间
13 小时
发表于 2017-12-29 13:32:50 | 显示全部楼层
楼主不要怕,我也是半吊子,专业不是修这个,只是兴趣。我也刚遇到这个问题,从小老师就教导我们不懂就问,前提是自己动脑筋想过,试过,实在不懂问问也无大错。希望各位大神不要笑人,用好一个器件不是什么牛X的事,是能写出别人不能写出的算法那才是真本事
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-19 19:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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