瑞萨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位单片机。目前在汽车电子中都有广泛的应用,特别是日系的三大巨头丰田、本田和日产。小日本这方面还是比较团结的,能用国内的就用国内的,就算比进口的贵也要用,这个扯远了。
RL78
编辑器的话,IAR和Keil都支持,也可以用官方的ICE,这个根据个人喜好或者公司要求来选择。
驱动代码生成
驱动代码可以利用工具生成,Applilet3 for RL78 V1.12.00
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寄存器是计数值,进入中断后自动清零。