因为用了printf 函数而无法进入到main函数:
解决1:使用了printf之类的库函数,需要编写_sys_exit()之类底层函数。照你的提示看,也许是_sys_open()没写。_sys_xxx之类的的只要写个空函数就行了;因printf()之类的函数,使用了半主机模式。使用微库的话,不会使用半主机模式,所以就没有问题。
添加下面代码,就可以使用标准库了:
#pragma import(__use_no_semihosting)
_sys_exit(int x)
{
x = x;
}
struct __FILE
{
int handle;
/* Whatever you require here. If the only file you are using is */
/* standard output using printf() for debugging, no file handling */
/* is required. */
};
/* FILE is typedef’ d in stdio.h. */
FILE __stdout;
解决方法2:勾选“微库”MicroLIB--->Use MicroLIB
单片机的功能之所以强大,是因为集成了很多片上资源,常见的如定时器功能、AD采样功能、外部中断资源、PWM功能等,合理的利用这些资源可以提高电路的设计效率、降低电路的设计难度,使技术方案更加优化、产品成本更低、性能更稳定。所以学习这些片上资源非常重要。
本文来之此贴的整理:http://www.amobbs.com/thread-3307937-1-1.html ,点击阅读原文直接进入
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >