女人吃葛根粉有什么好处| 房子风水主要看什么| 碘酸钾是什么| 马叉虫是什么意思| 人乳头瘤病毒39型阳性是什么意思| 8月28号是什么日子| 处大象是什么意思| 革兰氏阳性菌是什么病| 血压低吃什么食物| 代言是什么意思| 发端是什么意思| 嘴唇边缘发黑是什么原因| 珩五行属什么| 一吃东西就牙疼是什么原因引起的| 手术后吃什么营养品好| 人发胖的原因是什么引起的| 糖尿病人不能吃什么| 正规医院减肥挂什么科| 德国什么东西值得买| asic是什么意思| 手上的纹路代表什么| wb是什么| 梦见棉花是什么意思| 什么光没有亮度| 降息是什么意思| 小儿拉肚子吃什么药好得快| 唐筛是检查什么的| 脱盐乳清粉是什么| 2022年五行属什么| 阿斯伯格综合征是什么| 血压突然升高是什么原因| 东面墙适合挂什么画| 玉皇大帝叫什么名字| 师公是什么意思| 新生儿痤疮是什么引起的| 什么网名好听又有内涵| 褪黑素什么时候吃| fila是什么品牌| 干呕是什么原因| 箬叶和粽叶有什么区别| 女性虚火旺吃什么下火| 肛裂是什么原因引起的| 阑尾是什么| pass是什么意思| 网状的蘑菇叫什么| 取保候审需要什么条件| 处暑吃什么| 吃什么可以增强抵抗力和免疫力| 男朋友生日送什么礼物| 荣耀是什么品牌| 毅五行属什么| 五月一日是什么节日| 璇字五行属什么| 国画是什么| 全自动洗衣机漏水是什么原因| 肠道菌群失调吃什么药| 柏拉图之恋是什么意思| 吃什么药提高免疫力| 背影杀是什么意思| 金融行业五行属什么| 67年属什么生肖| 声带息肉有什么危害| 药店为什么不让卖高锰酸钾| 金庸的原名叫什么| 天天射精对身体有什么危害| 什么水果是凉性的| 兵马未动粮草先行是什么意思| 疥疮是什么病| 关帝是什么神| 阿奇霉素和头孢有什么区别| 硬膜囊前缘受压是什么意思| 验孕棒ct分别代表什么| 大理寺是什么机构| 10月26是什么星座| 半夜会醒是什么原因| 硬水是什么| 闺六月是什么意思| 嗓子挂什么科| 反流性食管炎是什么病| 什么石头最值钱| 为什么叫书记| 藕粉色是什么颜色| 糯米粉是什么粉| 偏头疼是什么原因引起| 桃李是什么意思| 石乐读什么| 星辰大海是什么意思| 什么宠物好养又干净| 痛风吃什么肉最好| cif是什么意思| 不值一提是什么意思| 细菌性痢疾吃什么药| 腹泻吃什么食物好| 脸部肿胀是什么原因| 部队大校是什么级别| 守株待兔是什么生肖| yeezy是什么牌子| 女孩什么时辰出生最好| va是什么维生素| 皮蛋为什么含铅| 71年猪是什么命| 七年之痒是什么意思| 带状疱疹是什么| 胃烧心吃什么食物好| sneakers是什么意思| 骨折喝什么汤恢复得快| 蝙蝠属于什么类| 白毫银针属于什么茶| 月经周期是什么意思| 贱痣是什么意思| b型血为什么叫贵族血| 放疗为什么死得更快| 最高位是什么位| 冠状沟是什么| 中暑吃什么水果| 狗狗中毒了用什么办法可以解毒| 什么的娃娃| 白细胞计数偏低是什么意思| 桑葚搭配什么泡水喝最好| 什么街道| 身份证带x是什么意思| 转呼啦圈有什么好处| 皮肤黄的人适合穿什么颜色的衣服| 四方八面是什么生肖| 切是什么偏旁| 女中指戴戒指什么意思| b型钠尿肽测定是什么检查| 肚子里面跳动是什么原因| 塬字五行属什么| 龟头敏感吃什么药| 货值是什么意思| 钩针ch是什么意思| 世界上最深的湖是什么| 带状疱疹吃什么药好| 蒌蒿是什么| 感冒咳嗽吃什么食物好| 锅包肉是什么肉| 嘴巴边上长痘痘是什么原因| spss是什么| 符号是什么意思| 张飞的武器是什么| 大便干是什么原因| 被蜜蜂蛰了用什么药| 梦见打老公是什么意思| 吃什么水果补肝养肝最有效| 什么颜薄命| 垂体催乳素高是什么原因| 肚脐眼右边是什么器官| 粉饼和散粉有什么区别| 功名是什么意思| 痔疮有什么特效药| 为什么会长老年斑| 肺部肿瘤吃什么药| 南瓜和什么食物相克| m 是什么单位| 吃饭出汗多是什么原因| 桜什么意思| 滴滴什么意思| 吞服是什么意思| 乙酉日五行属什么| 什么药可以催月经来| 夏字五行属什么| 竹勿念什么| 尿酸看什么科| 发烧吃什么水果好| 中风是什么原因引起的| 为什么会有盆腔积液| 为什么会出现幻觉| 柔顺和拉直有什么区别| 什么水果是降火的| 12月13号是什么星座| 博士点是什么意思| 薛之谦属什么生肖| 蛇是什么号码| 四百多分能上什么大学| 皮炎用什么药| 刽子手是什么意思| 为什么突然头晕| 恐龙什么时候灭绝的| 胃肠镜检查挂什么科| 知了的学名叫什么| biu是什么意思| 婴儿坐高铁需要什么证件| 右小腿抽筋是什么原因| 前列腺炎什么症状| 腺样体增生是什么意思| 艺伎什么意思| 特需门诊和专家门诊有什么区别| 人为什么要喝水| 临床表现是什么意思| 牛肉粉是什么调料| 重阳节干什么| 10月19号什么星座| 针对性是什么意思| 黄鼠狼喜欢吃什么东西| 四维什么时候做| 隔的右边念什么| 坐骨神经痛什么症状| 打嗝是什么病| 回声欠均匀是什么意思| 胳膊上的肌肉叫什么| 舒服是什么意思| 天荒地老是什么生肖| 八九年属什么| 胃痛可以吃什么水果| 为什么要当兵| 真菌怕什么| 宇五行属性是什么| 佳木斯二院全名叫什么| 手足口是什么引起的| 敏感肌是什么意思| 恐龙的祖先是什么| 受益匪浅是什么意思| 720是什么意思| 花干是什么做的| 茶水洗脸有什么好处和坏处| 官员出狱后靠什么生活| 三院是什么医院| 白芷有什么功效| 什么是潮吹| 黑今读什么| 醋泡黑豆有什么功效| s.m是什么意思| 吃什么食物能养肝护肝| jps是什么意思| 看到壁虎是什么征兆| 外翻是什么意思| 髓母细胞瘤是什么病| 上山下乡是什么意思| 肺积水有什么症状| 糖尿病人吃什么| 草字头一个辛读什么| 做爱女生是什么感觉| 手不自主颤抖是什么病| 润月是什么意思| x代表什么意思| 指甲盖有竖纹是什么原因| 桑叶有什么功效和作用| 梦见女鬼是什么意思| 什么症状吃藿香清胃胶囊| 新陈代谢慢吃什么药| 前列腺特异性抗原高是什么原因| 王维有什么之称| 常州有什么特产| 蚜虫长什么样| 蚯蚓吃什么食物| 为什么会长阴虱| 上不下大是什么字| 打嗝是什么引起的| 多吃醋有什么好处和坏处| 扁桃体溃疡吃什么药| 血脂高吃什么药好| 18kgp是什么意思| 护士节送什么花| mm代表什么| 证候是什么意思| 性病都有什么| 日本樱花什么时候开| 葛根和粉葛有什么区别| 一笑了之是什么意思| 抗原和抗体有什么区别| 四季更迭是什么意思| 睡觉天天做梦是什么原因| 什么是断桥铝| 百度

瑞萨RA0单片机连载——实现串口重定向之printf

嵌入式系统   作者:lulugl 时间:2025-08-05来源:EEPW
百度 《条例》为当前和今后一个时期军队开展巡视工作提供了基本制度遵循。

1   目的

在单片机的调试中,我们日常的日志输出,通常是通过串口来实现,而通过串口重定向来实现又是常规的操作之一。这次我在前面的基础之上增加了printf 的面向对象的增加这项功能。

2   实现步骤

1.在工程中添加printf.c 函数,并把他加入到libs的分组之中。

1732237973236708.png

2.在工程的设置中,打开Use MincroLIB库。

1732238008386481.png

3.在printf.c中,添加对输入输出的系统头文件<stdio.h>的引用,当然由于我需要调用驱动库要添加<devices.h>以及<hal_data.h>的引用。

4.重写fputc输出,在此函数中,我先查找Log 这个串口的驱动,如果查找到,则使用他的write 进行串口输出,代码如下:

view plaincopy to clipboardprint?

1. int fputc(int ch, FILE *f)

2. {

3. (void)f;

4. struct UartDev *pLogDevice = UartDeviceFind

(“Log”);

5. pLogDevice->Write(pLogDevice, (unsigned

char*)&ch, 1);

6. return ch;

7. }

5.重写scanf 函数,在这个函数中,我也一样先查找以”Log”命名的串口,如果查找到,则使用这个驱动的write 进行输出。其代码如下:

view plaincopy to clipboardprint?

1. int fgetc(FILE *f)

2. {

3. uint8_t ch;

4.

5. (void)f;

6. struct UartDev *pLogDevice = UartDeviceFind

7. /* 启动接收字符 */

8. while(pLogDevice->Read(pLogDevice,

(unsigned char*)&ch, 1) != 1)

9. {}

10. /* 回显 */

11. {

12. fputc(ch, &__stdout);

13.

14. /* 回车之后加换行 */

15. if (ch == ‘r’)

16. {

17. fputc(‘n’, &__stdout);

18. }

19. }

20.

21. return (int)ch;

22. }

6. 驱动设置好后,就可以在工程中使用printf 进行串口输出了。

添加测试代码如下:

view plaincopy to clipboardprint?

1. void led_blink(void)

2. {

3. uint32_t cnt;

4. UartDevicesRegister();

5.

6. LedDevice *pLED = LedGetDevice();

7. if(NULL == pLED)

8. {

9. printf(“Error. There is no LED device!rn”);

10. return;

11. }

12. pLED->Init(pLED);

13.

14. while(1)

15. {

16. cnt++;

17. pLED->On(1);

18. R_BSP_SoftwareDelay(1,BSP_DELAY_

UNITS_SECONDS);

19. pLED->Off (1);

20. R_BSP_SoftwareDelay(1,BSP_DELAY_

UNITS_SECONDS);

21. pLED->On(2);

22. R_BSP_SoftwareDelay(1,BSP_DELAY_

UNITS_SECONDS);

23. pLED->Off (2);

24. R_BSP_SoftwareDelay(1,BSP_DELAY_

UNITS_SECONDS);

25. printf(“run cnt %drn”,cnt);

26.

27. }

28. }

测试结果如下:

1732238117760102.png

3   总结

使用面向对象之编程,可以实现代码的快递移植,当然重写printf 也是非常之简单。

(本文来源于《EEPW》2024年11期)

关键词: 202411 瑞萨 RA0 单片机 printf

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版
吃完芒果后不能吃什么食物 煮虾放什么 煮牛肉放什么容易烂 什么鱼最好养不容易死 蓝莓树长什么样
一什么商店 MP是什么 物色什么意思 超凡脱俗是什么意思 梦到自己开车是什么意思
处女座女和什么星座最配 mdr是什么意思 脚踩棉花感见于什么病 十面埋伏是什么生肖 尿毒症吃什么最好
招商是什么工作 什么是胸推 什么叫杵状指 尿里有泡沫是什么病 1978年属什么生肖
梦见旋风是什么预兆hcv9jop5ns9r.cn 睡觉手麻是什么原因引起的女人0735v.com 喝什么茶最养胃adwl56.com 减肥什么东西不能吃hcv9jop6ns7r.cn 越什么越什么的词语hcv9jop6ns7r.cn
牙齿酸痛是什么原因hcv8jop3ns4r.cn 头发黄是什么原因imcecn.com efg是什么意思hcv8jop5ns9r.cn 雌雄是什么意思hcv7jop4ns5r.cn 5.3什么星座hcv9jop6ns0r.cn
后位子宫什么意思hcv9jop8ns2r.cn 水洗棉是什么hcv8jop9ns4r.cn 10月28日什么星座hcv8jop0ns5r.cn 蛇缠腰是什么病怎么治hcv8jop3ns9r.cn 肝s5是什么意思hlguo.com
2018 年是什么年hkuteam.com 吝啬鬼是什么生肖hcv8jop2ns2r.cn 胆红素高吃什么食物能降得快hcv8jop9ns7r.cn 肠息肉是什么hcv8jop6ns3r.cn 和田玉五行属什么hcv8jop0ns1r.cn
百度