以前写的程序,关掉板子再上电,板子上跑的都是断电前的最后一个程序。今天写了一个程序,发现点击运行不能成功运行,必须先运行一遍其他的程序。
然后掉电再打开,板子上就没有程序在跑。而且跑今天这个程序的时候,也不能按板子上的reset键,否则整个程序就卡住啦。
但是其他的程序都是好好的,这个为什么?
xyz549040622:
1.你用的什么编译环境
2.现在的问题是不是点击仿真,运行,程序会运行,但是不会下载到板子中去呢?
lizao li:
回复 xyz549040622:
xyz549040622
1.你用的什么编译环境
2.现在的问题是不是点击仿真,运行,程序会运行,但是不会下载到板子中去呢?
lizao li:
回复 xyz549040622:
多谢啦,问题已经解决啦,是软件的问题
hongyu cheng:
回复 lizao li:
请问一下怎么解决的,我的也这样,是写的程序太大了吗。好几天了,仿真时正常,一断电重启程序就不好使了。拜托帮下忙,发下解决办法,提前谢过
xyz549040622:
回复 hongyu cheng:
比如有些串口打印,或者对时间敏感的函数。仿真的时候是看不出来的,因为速度放慢了,可是实际运行就会由于速度过快,出现了问题。最好还是每个模块都测试过去。
hongyu cheng:
回复 xyz549040622:
太感谢了,楼主是因为这个原因吗?我发现各模块一结合在同一个工程里就会遇到很多问题了,我开了pa1串口,同时又开了pa4引脚的中断为了使用ssi。他们之间会有影响吗?引脚的中断也要注册吗?只注册PA。不会影响其它引脚的使用吗?抱歉,问了这么多问题,刚入门对这些理解还不是很深。
xyz549040622:
回复 hongyu cheng:
1.中断都是需要注册的。
2.注意,GPIOA只有一个中断的,不要两个IO都开启外部中断。
3.多模块结合,确实需要经过测试的。比如你PA1开启了串口,你又要配置PA4,这样就会整体操作GPIOA的寄存器,所以会造成混乱。所以需要经过详细的测试。