历史上的今天
返回首页

历史上的今天

今天是:2024年12月12日(星期四)

正在发生

2018年12月12日 | stm32程序无法进入main函数解决方法

2018-12-12 来源:eefocus


如图所示,进入调试之后,点击运行run(f5),没有反应,程序也停留在红点 BX RO之处,点击运行F5旁边的向右的黄色小箭头→,进入汇编运行查看,如下图



停留在0x08000908 BEAB BKPT 0xAB 地方,不往下执行,动都不动,原因是可能使用了printf函数。


以前使用printf 都很顺利,程序可以很自然地通过串口输出字符串,最近使用printf时,程序总是进不去,就是连MAIN函数都不会执行了,只要把printf屏蔽了,软件就可以正常运行


这个问题的解决办法是:


在项目设置中 选择 target选项卡 然后选择 USE Mcrolib 这样就可以了


就是说要用printf函数时要用"Use MicroLIB"库,即: C 微库(microlib)


还有一种方法:


标准库函数的默认输出设备是显示器,要实现在串口或LCD输出,必须重定义标准库函数里调用的与输出设备相关的函数,printf输出到串口,只需将putc里面的输出指向串口就行,另外在使用标准库函数时必须避免半主机模式,方法是在main文件里加代码:



void _sys_exit(int x) 

    x = x; 


int fputc(int ch, FILE *f)

{     

    while((USART1->SR&0X40)==0);

    USART1->DR = (u8) ch;      

    return ch;

}


推荐阅读

史海拾趣

HAHN - Elektrobau GmbH & Co KG公司的发展小趣事

进入21世纪后,高通在推动5G技术发展方面发挥了关键作用。作为真正的5G领军企业,高通在基础研发方面持续投入,拥有引领和参与标准制定的长期历史。高通的5G技术涵盖了从系统构建到多样化应用的各个方面,包括毫米波频谱的利用、大规模MIMO技术的演进等。这些突破性发明为现代蜂窝通信提供了强有力的支撑,使得高通在5G标准制定和技术实施方面占据了核心地位。高通已签订超过150份5G许可协议,为全球超过180亿台终端提供了技术支持。

DILABS公司的发展小趣事

DILABS公司成立于XX世纪初,由一群热衷于电子技术的工程师创立。在公司初创时期,他们面临了资金短缺、技术瓶颈和市场竞争等多重挑战。然而,他们坚持创新,经过无数次实验,终于在芯片封装技术上取得了突破。这一突破性的技术为DILABS赢得了业界的关注,也为公司的发展奠定了坚实的基础。

ETTINGER公司的发展小趣事

Ettinger,这个源于英国的皮具奢侈品牌,由Gerry Ettinger在1934年创立。自创立之初,Ettinger就致力于提供高品质的皮具产品,凭借其精湛的皮具制作工艺和独特的英格兰式设计风格,逐渐在市场上树立了良好的品牌形象。初期,Ettinger主要专注于手工制作皮具,通过不断提升产品质量和设计水平,赢得了消费者的青睐。

Clever Little Box公司的发展小趣事

Clever Little Box深知,优质的客户服务是企业长期发展的关键。因此,公司始终注重提升服务质量,为客户提供专业的技术支持和售后服务。同时,公司还注重与客户建立良好的关系,通过定期沟通、反馈收集等方式,了解客户的需求和意见,以便更好地满足客户的期望。

Coleman Cable Inc公司的发展小趣事

品质一直是Coleman Cable的生命线。公司建立了严格的质量控制体系,从原材料采购、生产过程到成品检验,每一个环节都严格把关。这种对品质的执着追求,使得Coleman Cable的产品在市场上享有良好的声誉。同时,公司还积极听取客户反馈,不断改进产品和服务,赢得了客户的信赖和忠诚。

Cooper Industries公司的发展小趣事

早在2007年,Cooper Industries就展现出其全球扩张的雄心。同年10月8日,该公司与宁波知名企业耐吉科技股份有限公司共同注资3000万美元,成立了库柏耐吉(宁波)电气有限公司。这一合资公司的成立,不仅加强了Cooper在中国市场的地位,也为其全球业务布局增添了重要一环。库柏耐吉(宁波)电气有限公司地处浙江省慈溪市,工业园占地400余亩,位于世界最长跨海大桥——杭州湾跨海大桥的南岸桥头堡区域,其优越的地理位置为公司的发展提供了有力支持。

问答坊 | AI 解惑

别傻了(8):休病假、产假是理所应当的

休了病假或产假吗?你需要注意了        病假和产假是一个很好的福利制度,最近发现公司里怀孕的人比较多,大多数人认为法定的“病假或产假”是严格受法律保护的权利,但是你一定要注意,这有可能会把你陷入两难境地。当然,当你休长期病假 ...…

查看全部问答>

ADC 前端电路的五个设计步骤

经典学习资料,可以巩固基础…

查看全部问答>

关于DSP的stack,请教了!

情况是这样的,前两天我的程序莫名其妙的在调用一个函数之后跳到一个地方去执行了,倒是没有司机,但是这个是很异常的,对这个问题,深入研究发现问题源于stack内的返回地址的低2Byte被函数操作意外修改了,再深入研究发现memcpy()造成,解决之后, ...…

查看全部问答>

定时器调试出错

在一个可以通过下载调试的工程里添加了一段代码Rebuild all 后就提示 Error[Pe020]: identifier "TIM4" is undefined 下面void LcdShow_Init(void)函数是原来可调试工程中的代码 当双击TIM2然后单击右键选中 go to definition of TIM2 ...…

查看全部问答>

stm32L有没有512kflash144pin的

                                 我在做一个便携式的遥控器!…

查看全部问答>

频率测量

本帖最后由 paulhyde 于 2014-9-15 08:54 编辑 请教高手指点下面的代码:用定时器A测频率的代码,红色标注的是什么意思啊,求解!!! void main(){  uchar temp=0;  WDTCTL=WDTPW+WDTHOLD;  int_clk();    & ...…

查看全部问答>

MSP430AFE253中国国家电网评估报告

惊奇了吧!国家电网对MSP430的评估报告,里面还有一个应用案例,看拍的照片是应用在点表里的一个案例。计费单位是“元”…

查看全部问答>

pcb超低价快速打样

单/双50元/款 ( 长宽在5CM以内)数量10PCS交期 3-4天单/双100元/款(长宽在10CM以内)数量10PCS交期3-4天四层500元/款 (长宽在10CM以内)数量10PCS交期5-6天六层1200元/款(长宽在10CM以内)数量10PCS交期6-7天最小孔0.2MM 最小线0.1MM备注:以上 ...…

查看全部问答>

三极管手册参数问题

我想问下那些EDA中三极管参数中的那个正向传输时间(也有叫他正向渡越时间的)Tf 和 过渡频率(特征频率,一般都找不到这个参数)是不是一个概念啊? 因为在算频响的时候有时间常数和角频率的关系,而且频率倒数周期本身就是一个细分的时间概念, ...…

查看全部问答>

433和315无线模块的软件编解码遥控程序

433和315无线模块的软件编解码遥控程序…

查看全部问答>