快捷搜索:  汽车  科技

瑞萨v850单片机怎样安装(瑞萨Renesas单片机RL78系列开发介绍)

瑞萨v850单片机怎样安装(瑞萨Renesas单片机RL78系列开发介绍)Applilet3驱动代码可以利用工具生成,Applilet3 for RL78 V1.12.00RL78编辑器的话,IAR和Keil都支持,也可以用官方的ICE,这个根据个人喜好或者公司要求来选择。驱动代码生成

自从恩智浦(NXP)收购了飞思卡尔(Freescale),瑞萨(Renesas)收购了NEC,汽车电子主流MCU基本上就被恩智浦和瑞萨这两家霸占了。

前面介绍过恩智浦的S32K系列、S12G系列和ZVL系列,现在介绍一下瑞萨(Renesas)RL78系列。

Renesas RL78系列

Renesas RL78系列实际上是,整合了NEC单片机和老瑞萨单片机的架构后,推出的16位单片机。目前在汽车电子中都有广泛的应用,特别是日系的三大巨头丰田、本田和日产。小日本这方面还是比较团结的,能用国内的就用国内的,就算比进口的贵也要用,这个扯远了。

瑞萨v850单片机怎样安装(瑞萨Renesas单片机RL78系列开发介绍)(1)

RL78

编辑器的话,IAR和Keil都支持,也可以用官方的ICE,这个根据个人喜好或者公司要求来选择。

驱动代码生成

驱动代码可以利用工具生成,Applilet3 for RL78 V1.12.00

瑞萨v850单片机怎样安装(瑞萨Renesas单片机RL78系列开发介绍)(2)

Applilet3

图形化配置,自动生成代码后可以直接移植到你的程序中使用。如果你用的是IAR,要注意工具链的选择,

Property->Generate File Mode->Compiler IAR Compiler

单片机的通用部分就不在这里介绍了,下面介绍一下这款芯片的一些特殊性。

Option byte

Option byte选择配置字,需要单独配置,配置方法如下:

/* Set option bytes */

#pragma location = "OPTBYTE"

__root const uint8_t opbyte0 = 0x78U;

#pragma location = "OPTBYTE"

__root const uint8_t opbyte1 = 0xFFU;

#pragma location = "OPTBYTE"

__root const uint8_t opbyte2 = 0xF8U;

#pragma location = "OPTBYTE"

__root const uint8_t opbyte3 = 0x04U;

如果不配置Option byte,看门狗没法设置成功的。

如果还需要LVD低电压检测的功能,还需要做如下配置:

/* Set option bytes */

#pragma location = "OPTBYTE"

__root const uint8_t opbyte0 = 0x78U;

#pragma location = "OPTBYTE"

__root const uint8_t opbyte1 = 0x7FU;//LVD 2.75v

#pragma location = "OPTBYTE"

__root const uint8_t opbyte2 = 0xF8U;

#pragma location = "OPTBYTE"

__root const uint8_t opbyte3 = 0x84U;//Erases data of flash memory in case of failures in authenticating onchipdebug security ID

这里还增加了flash擦除的安全检测机制。

休眠唤醒

在EZ_CUBE debug模式下,tool0会定时唤醒单片机。因此在测试单片机休眠时,需要断开仿真器。

休眠之前,需要关掉定时时钟,避免被定时唤醒。

数模转换A/D

在使用A/D时,要从通道0开始使用,要从低到高用,这基本上是NEC单片机的特性。

调试的时候,发现A/D读取的数据始终为0,但是通过单步调试,可以读取到正确数据;后来发现,是延时时间不够,因为这里模拟采样后,还需要一段转换时间。

中断标志

调试的时候,发现中断函数能正常进入,但是中断标志总是失效;后来发现,这是这个单片机特性,中断标志会自动清零。如果你需要判定中断标志,建议你要自行添加,直行管理标志的置位和清零。

捕捉定时器(CCP)

捕捉定时器(CCP)各路通道都是独立的。TDR寄存器存储的是脉冲宽度,也就是计数差值

;TCR寄存器是计数值,进入中断后自动清零。

猜您喜欢: