厘清和理清的区别是什么| 爱马仕配货是什么意思| 银行行长是什么级别| 绿色蛇是什么蛇| 真菌镜检阴性是什么意思| 10年是什么婚| 肾透析是什么意思| 自汗吃什么中成药| 为什么会长火疖子| 嘴苦是什么病的征兆| 猪脚和猪蹄有什么区别| 7月14日什么节日| 日本为什么要偷袭珍珠港| 腰痛吃什么药好| 梦见和尚是什么预兆| 骨质增生是什么| 什么水果榨汁好喝| 女人喝什么茶叶最好| 啫喱是什么| 补气血喝什么茶| 酒量越来越差什么原因| 长期湿热会引起什么病| 鬼畜什么意思| 淀粉和面粉有什么区别| 为什么肚子疼| 减肥适合吃什么| 脚趾头抽筋是什么原因| 尿为什么是黄色的| 一什么嘴巴| 秦皇岛为什么叫秦皇岛| 黑芝麻不能和什么一起吃| 流是什么意思| 什么的风采| 人的五官指什么| 白化病是什么能活多久| 打无痛对身体有什么影响吗| 缩阳什么意思| 八朵玫瑰花代表什么意思| 尿出血是什么原因| 小蜗牛吃什么| 黑眼袋是什么原因引起的| 性激素是什么| 息肉和痔疮有什么区别| 来月经适合吃什么水果| 英国的全称是什么| 临幕是什么意思| 成都是什么气候| 脸部痤疮用什么药| 梦见好多肉是什么意思| 猪八戒姓什么| kj什么意思| 倒刺是什么原因引起的| 排除是什么意思| cbd是什么| 疱疹吃什么药好得快| 症瘕痞块是什么意思| 魔芋是什么东西| 今年53岁属什么生肖| 孕妇吃什么最有营养| 缺铁性贫血的人吃什么补血最快| 尽形寿是什么意思| 霉菌用什么药| 给老人过生日送什么礼物好| 颈椎轻度退行性变是什么意思| 七月七日是什么生肖| 突然好想你你会在哪里是什么歌| 钟点房什么意思| 接龙是什么意思| 肠息肉是什么原因造成的| mrcp是什么检查| 爻辞是什么意思| 什么人不能吃鹅蛋| 尿比重偏高是什么原因| 有什么作用| 120是什么意思| 氪金是什么意思| 蓝眼泪是什么意思| 体检什么时候去最好| 不出汗是什么病| 非钙化斑块是什么意思| 颇负盛名的颇是什么意思| 嘴唇有黑斑是什么病| 绿豆和什么不能一起吃| 甲减长期服用优甲乐有什么危害| 扁桃体肿大有什么症状| 牙痛吃什么药好得快| cta是什么检查| 木瓜吃了有什么好处| 油性头发用什么洗发水| 肚子右边是什么部位| 儿童乳房发育挂什么科| 舌头上长泡是什么原因| 脑供血不足会导致什么后果| 做病理是什么意思| 天空中有什么| 叶字五行属什么| 钵钵鸡是什么| 宫禁糜烂用什么药| 胆汁反流是什么症状| 面霜是干什么用的| 钱代表什么生肖| 5s是什么意思| 宝宝咳嗽有痰吃什么药效果好| 红烧肉是什么菜系| 男生为什么喜欢女生| 哮喘是什么原因引起的| 迁徙是什么意思| 肚脐眼右边是什么器官| 吃什么油最健康排行榜| 六月八号什么星座| 田野是什么意思| 咸鱼翻身是什么意思| 爱情鸟是什么鸟| coco什么意思| 小腿肌肉疼是什么原因| 恶寒什么意思| 剑突下是什么位置| 屁多是什么毛病| 蛐蛐是什么意思| 什么是无性婚姻| 绿豆什么时候收获| 家里养什么花最好| 眉毛痒是什么原因| zbc什么意思| 台湾三小是什么意思| 山谷念什么| 张的五行属性是什么| decaf是什么意思| 生粉是什么粉| 最大的淡水湖是什么湖| 生水是什么意思| 四月四号是什么星座| 吃什么提高免疫力最好最快| 什么猫| 包皮手术后吃什么伤口愈合快| 什么是科学| 阴超能检查出什么| 突然流鼻血是什么征兆| 猫咪呕吐吃什么药可以解决| 正师级是什么军衔| 后背发热是什么原因| 梦见尸体是什么意思| ca125是什么意思| 挂面是什么面| 人什么什么事的成语| 出的汗是凉的什么原因| asp是什么氨基酸| 吃什么能治脂肪肝| 大芒果是什么品种| 梦见自己怀孕是什么意思| 一个火一个同念什么| 什么的石榴| 肾上腺瘤吃什么药可以消除| 三级士官是什么级别| 才美不外见的见是什么意思| 眼神迷离什么意思| 儿童发烧吃什么药| 明天有什么考试| 悉心栽培什么意思| 醋蛋液主要治什么| 楠字五行属什么| 加鸡腿什么意思| 淋球菌培养是检查什么| 咳嗽有黄痰是什么原因| 指检是什么| 笙是什么意思| 壁虎代表什么生肖| 十羊九不全是什么意思| hpr是什么意思| 心绞痛是什么症状| 儿童看小鸡挂什么科| 净身出户是什么意思| 小便多是什么原因男性| 母亲节送母亲什么礼物| siemens是什么品牌| 洋盘是什么意思| 办健康证要带什么| 为什么有的人晒不黑| 月经期间吃什么最好| 莫名是什么意思| 什么的猴子| 农历五月十八是什么日子| 98年出生属什么| 为什么会得子宫腺肌症| 胎教什么时候开始最好| 什么是虚汗| 杏花代表什么生肖| 副作用是什么意思| 水碱是什么| 白茶属于什么茶| 男宠是什么意思| 同样的药为什么价格相差很多| 五行中什么生木| 摧枯拉朽什么意思| 虫加合念什么| 手容易出汗是什么原因| 欢乐海岸有什么好玩的| 脚气是什么原因引起的| 江诗丹顿属于什么档次| 马陆吃什么| 手莫名其妙的肿了因为什么| 红花是什么生肖| 身上长癣是什么原因引起的| 神经外科是看什么病的| 勃是什么意思| 构筑物是什么意思| 天美时手表什么档次| 脑梗吃什么东西好| 中元节是什么节日| 什么是指标到校| 下馆子什么意思| 枸杞有什么用| 牡蛎是什么| 小马过河的故事告诉我们什么道理| 初级会计什么时候报名| 人为什么要生孩子| 放疗和化疗有什么区别| 红疮狼斑是什么引起的| 小孩检查微量元素挂什么科| 什么叫牙周炎| 什么是cg| b细胞淋巴肿瘤是一种什么病| 印比是什么意思| 什么是低密度脂蛋白| 安居乐业是什么意思| 盲肠憩室是什么意思| 什么是文爱| 正正得什么| 舌头边缘有齿痕是什么原因| saa偏高说明什么| 胰腺炎挂什么科室| 息影是什么意思| 神经炎吃什么药| 粉刺长什么样图片| 3月14号是什么星座| 蚊香是什么做的| 含义是什么意思| 肚子痛什么原因| 望闻问切什么意思| 裙摆是什么| 哮喘不能吃什么| 秋老虎是什么意思| 特朗普是什么星座| 胸腔积液是什么原因引起的| 什么样的糯米| 憋屎会造成什么后果| 恩五行属性是什么| 尿管痒是什么原因| 口杯是什么意思| 俎是什么意思| 2007年五行属什么| 眼睛干痒滴什么眼药水| 中度贫血吃什么补血最快| 月字五行属什么| 病毒由什么构成| canon什么牌子| 脸过敏要注意什么| 眉心长痘痘什么原因| 吃什么饭| 吃金针菇有什么好处| 减肥要注意什么| 粉饼是干什么用的| 脾胃湿热什么症状| ta是什么| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 综合技术 ? 基础知识 ? STM32的printf函数重定向方法

共2条 1/1 1 跳转至

STM32的printf函数重定向方法

高工
2025-08-04 14:17:48     打赏
百度 什么运动瘦肚子

法1:使用MicroLIB库1.1 KEIL-MDK中的Use MicroLIB选项    在MDK开发环境中,

image.png

    MicroLib是缺省c库的备选库,它可装入少量内存中,与嵌入式应用程序配合使用,且这些应用程序不在操作系统中运行。

    MicroLib进行了高度优化以使代码变得很小,功能比缺省c库少,不具备某些ISO c特性,部分库函数的运行速度也比较慢,如内存拷贝函数memcpy()。    MicroLib与缺省c库之间的主要差异在网上有许多文章都有写到,这里摘抄记录:MicroLib 不符合 ISO C 库标准。不支持某些 ISO 特性,并且其他特性具有的功能也较少。MicroLib 不符合 IEEE 754 二进制浮点算法标准。MicroLib 进行了高度优化以使代码变得很小。无法对区域设置进行配置。缺省 C 区域设置是唯一可用的区域设置。不能将 main() 声明为使用参数,并且不能返回内容。不支持 stdio,但未缓冲的 stdin、stdout 和 stderr 除外。MicroLib对 C99 函数提供有限的支持。MicroLib不支持操作系统函数。MicroLib不支持与位置无关的代码。MicroLib不提供互斥锁来防止非线程安全的代码。MicroLib不支持宽字符或多字节字符串。与stdlib不同,MicroLib不支持可选择的单或双区内存模型。MicroLib只提供双区内存模型,即单独的堆栈和堆区。    MicroLib提供了一个有限的stdio子系统,它仅支持未缓冲的stdin、stdout和stderr,那么也就是说勾选了Use MicroLib选项后,在代码工程中就可以使用printf()函数咯?    然而事实并非如此,这样直接使用printf()函数,其打印的字符串最终不知道打印到何处。    我们要做的是将调试信息打印到USART1中,所以需要对printf()函数所依赖的打印输出函数fputc()重定向(MicroLib中的printf()函数打印操作依赖fputc())。1.2 重定向fputc函数    在MicroLib的stdio.h中,fputc()函数的原型为:

image.png    

此函数原本是将字符ch打印到文件指针stream所指向的文件流去的,现在我们不需要打印到文件流,而是打印到串口1。基于前面的代码:image.png

    注意,需要包含头文件stdio.h,否则FILE类型未定义。勾选了Use MicroLib选项,重定向fputc()函数后,我们就可以在工程代码中使用printf()函数了:

image.png

    printf()函数的使用方法跟之前一样,运行结果:

image.png

法2:不使用MicroLIB库

2.1 半主机模式    半主机模式是ARM的一种机制,实现将来ARM应用程序代码的输入/输出请求传送至运行着调试器的主机。    例如设置使用半主机模式下的ARM应用程序,可以使用printf()和scanf()来使用主机的显示器和键盘,而不需要在ARM系统上搭配显示器和键盘。    半主机通过一组定义好的软件指令(如SVC)来实现的,这些指令在程序控制下产生异常,ARM应用程序调用半主机对应的异常处理函数,然后调试代理处理该异常。    一般的ARM应用程序中并不需要半主机操作,在这里为确保ARM应用程序中没有链接MicroLib的半主机相关函数,我们要取消ARM的半主机工作模式。2.2 实现代码    在工程中加上如下代码:

image.png

    这样操作后,在不使用MicroLib的前提下,仍能使用printf()函数将调试信息打印到USART1上了。





关键词: STM32     printf     重定向    

专家
2025-08-04 08:16:58     打赏
2楼

谢谢楼主分享


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
什么是凤凰男 孕妇血压低吃什么能补上来 心脏不好的人吃什么好 推迟月经吃什么药 劳改犯是什么意思
阴虚什么意思 aj是什么鞋子 ad是什么病的简称 性欲是什么 太容易出汗是什么原因
刘彻是刘邦的什么人 乙肝有抗体是显示什么结果 纵隔是什么意思 胃胀气吃什么食物 边缘性脐带入口是什么意思
古惑仔为什么不拍了 五月十七号是什么星座 马华读什么 手淫过度有什么症状 冤家是什么意思
依从性是什么意思hcv9jop2ns3r.cn 三高挂号挂什么科hcv9jop6ns6r.cn 全脂奶粉是什么意思hcv9jop5ns2r.cn 定海神针什么意思hcv7jop5ns6r.cn 国家能源局是什么级别hcv8jop9ns1r.cn
谌读什么hcv8jop4ns0r.cn 开水冲服是什么意思dajiketang.com 前面有个豹子是什么车hcv8jop7ns2r.cn 霉菌性阴炎是什么原因引起的女hcv7jop6ns8r.cn 二网是什么意思hcv7jop5ns5r.cn
尿黄是什么原因引起的男性hcv9jop4ns9r.cn 为什么不建议吃大豆油hcv8jop1ns6r.cn jk什么意思hcv9jop3ns5r.cn 女人喝甘草水有什么好处hcv7jop6ns7r.cn 消防大队长是什么级别hcv8jop5ns1r.cn
40min是什么意思hcv8jop3ns6r.cn 狮子座和什么星座最配hcv9jop1ns5r.cn 10.16是什么星座hcv9jop0ns4r.cn 月亮象征着什么hcv7jop4ns5r.cn 暑假什么时候放hcv7jop6ns7r.cn
百度