历史上的今天
返回首页

历史上的今天

今天是:2025年12月12日(星期五)

正在发生

2022年12月12日 | STM32调用C库自带函数

2022-12-12 来源:zhihu

在MDK5的安装路径中:D:MDK5ARMARMCCinclude,可以看到很多C库头文件,在程序中只要包含了相应的头文件,编译器就会自动把相应的代码编译链接进去。

下面介绍在STM32可能会用到的函数:

include "math.h"

include "stdio.h"

主要就是printf函数在串口上的应用:
以正点原子的程序模版为例:

在usart.c中定义了把printf和串口一输出相关联的函数:

如果你注释掉这段话,但程序上使用了 printf,虽然软件编译不会报错,但是硬件上 STM32 是无法启动的,这段代码最好不要去修改。
若要映射到其他串口,只要把上诉的USART1改为USARTX或UARTX(X表示其他串口号)
通过%d,%f,就可以通过输出变量值。
sprintf函数!!(非常灵活好用):

这里内存申请很有用,有时候不申请时会乱码!

include "stdlib.h"


推荐阅读

史海拾趣

AF International公司的发展小趣事

AF International的创立可以追溯到上世纪末,当时创始人张先生凭借对电子行业的敏锐洞察和深厚技术背景,决定创办一家专注于电子元器件研发与生产的公司。张先生深知技术创新是行业发展的关键,因此在公司创立之初就投入大量资源用于研发,逐步开发出了一系列具有竞争力的产品。凭借这些产品,AF International在电子行业中逐渐崭露头角,赢得了客户的信赖和市场的认可。

Analog Microwave Design公司的发展小趣事

随着市场的不断变化和客户需求的多样化,Analog Microwave Design公司意识到单一的产品线已经无法满足市场需求。为了丰富和完善产品线,公司开始加大对新产品的研发力度。除了继续深耕微波器件领域外,公司还积极拓展相关领域的产品线,如射频模块、天线等。通过不断推出新产品,公司不仅满足了客户的多样化需求,还进一步巩固了市场地位。

Chicago Miniature公司的发展小趣事

为了满足不同客户的需求,CML不断扩展产品线,从最初的光电子产品逐渐拓展到显示器、开关、继电器等多个领域。通过多样化的产品策略,公司成功吸引了更多客户,并扩大了市场份额。同时,CML还积极开拓国际市场,将产品出口到全球多个国家和地区,进一步提升了公司的知名度和影响力。

Fukushima Futaba Electric Co Ltd公司的发展小趣事

进入21世纪后,中国市场的快速发展吸引了Futaba Electric的注意。为了更好地服务于中国市场,公司于2002年在北京成立了双叶电子科技开发(北京)有限公司。这家子公司专营Futaba Electric的全线产品,包括VFD真空荧光显示管、RC无线遥控设备等。通过深耕中国市场,Futaba Electric不仅扩大了产品销量,还进一步提升了品牌知名度和影响力。

Design Gateway公司的发展小趣事

随着Gateway业务的不断发展,公司开始寻求更多的市场曝光。1987年,Gateway在《Computer Shopper》杂志上投放了一版独特的广告,吸引了众多消费者的目光。1991年,公司推出了彰显其牧场起家背景的别具一格的奶牛花斑盒状商标,这一创新举措获得了全国消费者的认可,进一步提升了Gateway的品牌知名度和市场地位。

(请注意,由于篇幅限制,以上两个故事为简化版。在实际写作中,可以进一步扩展每个故事,包括更详细的背景信息、人物对话、市场反应等。)

由于篇幅所限,这里只提供了两个故事概要。如果需要更多关于Gateway或其他电子公司的发展故事,可以进一步研究和撰写。

Bogen Communications Inc公司的发展小趣事

在电子行业的激烈竞争中,Bogen Communications Inc公司凭借一项革命性的技术创新,迅速崭露头角。该公司研发出一种新型的音频处理芯片,极大地提升了通信设备的音质和性能。这一创新不仅赢得了市场的广泛认可,还为公司带来了大量的订单和合作伙伴。随着技术的不断完善和市场的扩大,Bogen Communications Inc逐渐成为了音频通信领域的领导者。

问答坊 | AI 解惑

通过wince智能手机usb连接显示器

现有一个项目,需要在手机外接显示器,估计在10寸-15寸都可以,想问是否有现成的产品。 如果没有,开发开品是否有可行性…

查看全部问答>

AVR单片机串口接收不正确,请高手帮忙。

用串口调试助手发送数据,单片机每次接收时,在中断程序中总是接收到数据0. 我把相关程序代码贴上,请高手们看看。 //UART0 initialize // desired baud rate: 4800 // actual: baud rate:4808 (0.2%) void uart0_init(void) { UCSR0B = 0x ...…

查看全部问答>

SD卡操作深入学习~

Lm3s8962评估套件上有采用SPI方式的SD卡接口,我的SD卡是256M的,所以接下来就开始SD卡的读写程序设计。   SPI接口的SD卡 1、SPI接口    SPI是一种全双工、同步串行通信方式接口,这里用到了四个IO口:分别是时钟线SCK、输出口M ...…

查看全部问答>

连续依次输出GPIO口用什么方法好?

GPIOC->ODR?每一次移位?GPIOC->ODR =m; delay(10);m=m>>1;还是直接 寄存器操作?类似      /* Toggle JTDO pin */      GPIO_Wri ...…

查看全部问答>

求助:FLASH能写入任意地址供下次访问吗

                                 RT,我想在程序中保存20个字节的数据,而且断电也不丢失。能不能直接写进FLASH中,就是我指定一个地址写进去,下次 ...…

查看全部问答>

想学射频电路设计的话,应该从哪儿开始比较好呢?

经过上半年的学习,现在电路基础是有些了,下面想学射频电路设计方面的东西,但不知道怎么入手。。。要先学通信原理么?…

查看全部问答>

STM32中的温度传感器

我用的是STM32F103C8,数据手册上面说传感器和VREFINT只有在主ADC外设上才可用。是什么意思啊  …

查看全部问答>

关于MSP430低电压系列的JTAG调试问题

最近没事的时候都看看低电压(MSP430L092)的MSP430的数据手册,看到应用于430管脚的电平不能高于1.9V。这就让我产生了疑惑,我们平时用来调试MSP430的调试器还可以用不?…

查看全部问答>