【经验】瑞萨RL78 MCU芯片工程代码使用指引之对单片机IO口进行位操作

2018-12-04 世强
16位MCU,32位MCU,汽车级16位MCU,汽车级32位MCU 16位MCU,32位MCU,汽车级16位MCU,汽车级32位MCU 16位MCU,32位MCU,汽车级16位MCU,汽车级32位MCU 16位MCU,32位MCU,汽车级16位MCU,汽车级32位MCU

瑞萨科技是世界十大半导体芯片供应商之一,在汽车领域的MCU市场份额更是排在最前列。近日笔者碰到刚接手瑞萨MCU的开发人员,提出一个比较有意思的问题,分享出来以帮助大家更快上手。

 

我们使用的是瑞萨R5F109GE的开发板,通过开发板来熟悉瑞萨的MCU资源是比较好的办法。这位朋友提出的问题是:R5F109GE使用瑞萨自有的CS+的编译器,但在编程中,无法对单片机IO口进行位操作。比如说做跑马灯实验,需要不断的改变某个IO口的输出信号,而编译器只识别整个IO口寄存器,而无法识别对其中的位操作,这样不利于编程开发。

 

以其中的IO口P51为例,正常我们希望的是编译器可以识别以下代码,方便理解:

P5.1=1;//P51口输出高电平

或P51=1;//P51口输出高电平

 

不过实际上,编译器是无法识别P5.1和P51。我们以前碰到这样的情况,可能需要自己来做下数据处理如下所示:

P5= P5|(1<<1);// P51口输出高电平

 

这样才能达到我们所要的P51口输出高电平效果。但是,这么长的赋值语句,如果在一个本身就比较长的代码中,很容易引起操作失误。

 

笔者仔细研究了下瑞萨的CS+ 的编译器,在编译器创建工程默认后的iodefine.h文件中,找到了瑞萨为我们提供的一个更好的解决办法。


如下代码所示:

    typedef struct

    {

    unsigned char no0:1;

    unsigned char no1:1;

    unsigned char no2:1;

    unsigned char no3:1;

    unsigned char no4:1;

    unsigned char no5:1;

    unsigned char no6:1;

    unsigned char no7:1;

    } __bitf_T;

 

#define P5           (*(volatile __near unsigned char  *)0xFF05)

#define P5_bit       (*(volatile __near __bitf_T *)0xFF05)

 

 

在上面的代码中,CS+编译器的iodefine.h文件中定义了一个8bit的结构体__bitf_T(如果是16位,或者32位只需要往上叠加no个数即可),并定义了P5整个寄存器的地址,以及P5_bit这个__bitf_T型的结构体的地址,都指向PORT5的寄存器地址。此时,我们可以通过以下的简单操作即可实现PORT口的位操作。

   

P5_bit.no1=1;


编译器会创建P5_bit这个__bitf_T型的结构体,以方便我们调用。如果P51使用的比较频繁,觉得代码还比较长,我们可以在宏定义中添加:

#define P51  P5_bit.no1

这样就可以实现我们一开始所需求的代码:

P51=1; / P51口输出高电平

 

最后给大家整理下,据说高级工程师都会选择以下的写法:

#define P51       (((volatile __near __bitf_T *)0xFF05)->no1)

P51=1; / P51口输出高电平

程序的优劣性下一个章节会和大家一起具体分析下。

 

瑞萨的CS+编译器完全支持瑞萨汽车级16位MCU RL78系列和RH850系列汽车级32位MCU,支持代码生成器功能,内置乘除法调用精简指令。支持瑞萨E1等多个烧录调试工具。

技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 1

本文由木木提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(1

  • 用户25489266 Lv2. 工程师 2024-12-06
    请问有人有R5F109LE的芯片资料吗?感谢感谢!!
没有更多评论了

相关推荐

【经验】瑞萨32位RH850系列MCU的调试下载指引

瑞萨车规级32位RH850系列MCU ,满足ISO26262 ASILA-ASILD各等级的功能安全需求,系统时钟达80M以上,支持浮点运算,多通道CAN通信等功能

2017-10-20 -  设计经验

【经验】一文让你了解DSP与MCU区别

世强代理有Silicon Labs EFM8/EFM32系列8位MCU/32位MCU,Renesas 汽车级MCU RL78 系列,RH850、V850系列,工业级MCU RX系列等。世强有代理进芯电子32位浮点DSP,32位定点DSP,16位DSP,国内唯一可批量供货的32位工业控制DSP供应商。

2018-08-02 -  设计经验

【经验】瑞萨32位MCU RH850 CS+环境设置的几个重要问题

本文以入门阶段遇到的问题为重点,讲解了瑞萨32位MCU RH850在CS+环境下新建一个完整的工程到顺利调试需要注意的几个设置。

2023-03-31 -  设计经验

【产品】8位、16位、32位MCU究竟该如何选择?

本文介绍8位、16位、32位MCU的差异特性。

2016-04-02 -  新产品 代理服务 技术支持 采购服务

【应用】工作电压范围为2.0-5.5V的32位MCU BAT32A239用于汽车电子腰托,最高工作频率64MHz

BAT32A239系列符合AEC-Q100汽车产品认证,-40~125℃工作范围;支持多种封装,为不同尺寸的汽车电子腰托提供可能性。此外,支持多种休眠模式,低功耗,能够有效帮助产品整体低功耗,延长产品使用寿命,高可靠性和多外设,提升腰托产品整体的高可靠性。

2022-12-23 -  应用方案 代理服务 技术支持 采购服务

极海半导体车规级32位MCU通过安全管理体系认证,符合汽车功能安全最高级别开发体系,亮相全球汽车电子交流会

2022年11月7-8日,“2022张江汽车半导体生态峰会暨全球汽车电子交流会”在上海张江科学会堂隆重举行。会议六大亮点之一的“全球汽车电子博览会”,展览范围包罗了整车、汽车零部件、汽车半导体等上下游各个细分领域。极海携多款车规级MCU产品亮相博览会。

2022-11-10 -  原厂动态 代理服务 技术支持 采购服务

【经验】使用瑞萨CS+编译器查看RL78内部FLASH数据经验与方法介绍

瑞萨Renesas汽车级16位MCU RL78/F1x系列支持AEC-Q100认证,nA级别优异的低功耗特性,以及集成片上EEPROM等特性,集成CAN/LIN通讯模块,十分适用于汽车电子控制MCU的应用。瑞萨针对RL78系列芯片提供自主研发的CS+编译器来实现芯片编程与仿真。

2020-11-22 -  设计经验

【技术】RH850系列32位MCU三种中断功能,你知道么?

瑞萨电子RH850系列32位MCU符合ISO26262的要求,满足汽车安全等级ASILB –ASILD等级的控制芯片,在全球汽车电子市场上得到广泛应用。

2018-02-11 -  技术探讨

【应用】瑞萨32位车规级MCU R7F7016493助力车载T-BOX设计,主频高达240MHz,支持大代码运行

在车载T-box中,主控芯片的选择是非常重要的一环,汽车电子常用的MCU需要高安全性,高性能,低功耗,处理相关数据并提供外设控制控制功能,本文介绍一款瑞萨的32位车规级MCU R7F7016493的应用优势。

2023-03-19 -  应用方案

【经验】瑞萨RL78系列MCU中断嵌套开发经验

瑞萨高性价比汽车级16位MCU RL78/F1x系列,支持CAN总线与LIN总线,可用于汽车零部件主控BCM开发,受到车厂的公认好评。本文主要介绍瑞萨RL78/F13系列MCU R5F10BGGCLFB的中断嵌套模式配置方法。

2022-12-24 -  设计经验

【经验】瑞萨RL78系列MCU芯片R5F10BBF的DTC模块配置方法

瑞萨(Renesas)推出的高性价比汽车级16位MCU RL78/F1x系列。RL78系列是瑞萨78K系列的升级产品,主频可以达到32MHz,集成了片上EEPROM。本文主要介绍瑞萨RL78/F13系列MCU R5F10BBF的DTC模块配置方法。

2023-01-03 -  设计经验

【经验】32位车规级MCU RH850 F1L出现异常的调试及启动配置说明

Renesas RH850 F1L作为32位车规级MCU受到许多车厂及Tier1喜欢,近期有Tier1客户在使用该MCU过程中出现无法正常启动的情况,并且是切换到铜线时才出现,感觉非常奇怪,本文就该MCU启动问题排查过程做如下介绍。

2023-03-16 -  设计经验

【应用】瑞萨32位MCU RH850/F1K系列在高集成度的iBCM中应用

瑞萨汽车级MCU R7F7015573作为瑞萨32位芯片RH850/F1K,采用瑞萨G3KH核,集成功能安全模块ICUS(SHE功能安全),可以支持汽车功能安全等级ASIL B,176PIN多引脚,丰富的CAN总线资源,支持浮点运算,适用于汽车高集成化的iBCM控制模块

2019-01-06 -  应用方案

【经验】瑞萨RL78系列汽车级16位MCU低功耗STOP模式如何唤醒?

本文以瑞萨汽车级16位MCU RL78系列,32PIN QFN小封装,96KB FLASH的车规级16位单片机 R5F10BBF为例,介绍如何配置和唤醒R5F10BBF芯片的低功耗STOP模式。

2019-05-02 -  设计经验

【经验】瑞萨汽车级16位MCU RL78/F13内部集成temperature sensor的配置方法

瑞萨(Renesas)推出的高性价比汽车级16位MCU RL78/F1x系列,支持CAN总线与LIN总线,可用于汽车零部件主控BCM开发。本文主要介绍瑞萨RL78/F14系列内部集成的temperature sensor的配置方法。

2022-10-25 -  设计经验
展开更多

电子商城

查看更多

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:广芯微电子

品类:32位MCU系列芯片

价格:

现货: 100,000

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥257.6400

现货:58,799

品牌:RENESAS

品类:MCU

价格:¥19.4999

现货:39,498

品牌:RENESAS

品类:开发工具

价格:¥223.2880

现货:39

品牌:RENESAS

品类:16-BIT MCU

价格:¥5.5190

现货:910,635

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥51.1158

现货:15,887

品牌:RENESAS

品类:16-BIT GENERAL MCU

价格:¥31.3412

现货:15,838

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥61.8336

现货:10,400

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥69.9064

现货:7,680

品牌:RENESAS

品类:32BIT MCU

价格:¥135.5187

现货:4,320

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥80.8990

现货:2,880

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

TFT显示屏/彩屏定制

可定制显示屏的尺寸范围0.96“~15.6”;工作温度范围:-30℃~80℃,分辨率:128*128~1920*1080;亮度:300~1200。

最小起订量: 1000 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面