OpenEdv-开源电子网

标题: 移植UCOS-III后,不能正常运行问题。 [打印本页]

作者: wangmingwei093    时间: 2018-12-12 08:57
标题: 移植UCOS-III后,不能正常运行问题。
如题,移植UCOS-III后,SPI和FLASH代码运行不了。然后查找了原因,FLASH和SPI读写放在初始化,系统启动之前,然后程序就会运行不了,不知道是为什么。然后我把读写放在了任务中,就可以正常运行了(因为初始化包括初始参数的设置)。所以问题是,是不是加上操作系统后,在系统启动之前,只能初始化外设,至于对外设的操作,必须放在系统启动之后去完成,窦泽程序就不能正常运行了????????????????????


作者: wangmingwei093    时间: 2018-12-12 08:57
biglu 发表于 2018-12-13 22:16
是不是SPI和FLASH读写里用了delay函数

正解,昨天我又把初始化程序写到了UCOS启动前,然后一步步调试,发现确实是用了delay函数造成的,而且这个delay我还没按照原子哥例程中那么些,所以导致了硬件错误中断,现在换成原子哥例程中的延时,就可以初始化通过了
作者: wangmingwei093    时间: 2018-12-12 08:58
网站又被攻击了?????
作者: 正点原子    时间: 2018-12-13 02:59
不存在哦,都可以。
作者: heguangsui123    时间: 2018-12-13 18:51
UCOS-III系统初始化时主要是对任务控制块进行初始化,此时要关闭中断。初始化完任务控制块后在去创建任务task0和task1中进行一些外设的初始化吧,然后再去创建一些其他的任务完成自己的操作。个人的愚见,大牛勿喷,欢迎指正!
作者: biglu    时间: 2018-12-13 22:16
是不是SPI和FLASH读写里用了delay函数
作者: wangmingwei093    时间: 2018-12-14 08:47
biglu 发表于 2018-12-13 22:16
是不是SPI和FLASH读写里用了delay函数

看错行了,本来想给你最佳答案的,结果看错行,给自己了谢谢你的回答
作者: wangmingwei093    时间: 2018-12-14 08:49
heguangsui123 发表于 2018-12-13 18:51
UCOS-III系统初始化时主要是对任务控制块进行初始化,此时要关闭中断。初始化完任务控制块后在去创建任务ta ...

说的有道理,我都是学习原子哥的教程的,不过还打算看卡别的教程,百家争鸣,百花齐放嘛,多看看就会了
作者: wangmingwei093    时间: 2018-12-14 08:49
正点原子 发表于 2018-12-13 02:59
不存在哦,都可以。

找到原因是我初始化里用了延时函数导致的,谢谢原子哥
作者: 稳稳的Lau    时间: 2018-12-14 09:31
最好放在系统初始化及启动后,进行外设的初始化,放在前边也是可以的
作者: wangmingwei093    时间: 2018-12-14 09:56
稳稳的Lau 发表于 2018-12-14 09:31
最好放在系统初始化及启动后,进行外设的初始化,放在前边也是可以的

放在系统初始化前和后的区别在哪呢?
作者: biglu    时间: 2018-12-14 16:59
wangmingwei093 发表于 2018-12-14 08:47
看错行了,本来想给你最佳答案的,结果看错行,给自己了谢谢你的回答

没事 解决问题就好
作者: Memphy    时间: 2019-1-1 22:13
学习中。。。




欢迎光临 OpenEdv-开源电子网 (http://www.openedv.com/) Powered by Discuz! X3.4