admin 管理员组文章数量: 887621
2024年2月19日发(作者:霹雳布袋戏在线观看2020)
瑞萨单片机入门教程
本教程以R7F0C002L单片机为例
一、 开发环境下载安装与工程
注意:该工程目录和工程名不能含有中文
1.1、 CubeSuite+环境的下载:官网下载地址
/products/tools/ide/ide_cubesuite_plus/
将安装环境下载到本地,该文件大小532M
在安装过程中有提示需要填写注册码,请输入以下注册码,如果无效请联系供应商。
查看是否已经注册:在IDE环境中选择 Help->About后有下面窗口:
注册码:67DCS-V3Q7L-XMGL9-FI6L9-EE1BJ
该注册码有限制台数的,一旦注册了就会把MAC绑定,重装无需注册!
当有以下报错时:请查看是否已经注册。
1.2、 按照一般的软件安装方法安装好IDE环境,下面介绍IDE环境的配置:
1、 将DIF_RFP文件夹下的Device_Custom文件夹拷贝到安装目录下的C:Program FilesRenesas ElectronicsCubeSuite+下(这里是默认的安装目录,另外注意:DIF_RFP中Readme_Device_说将Device-_Custom文件夹拷贝到C:Program FilesRenesas
ElectronicsCubeSuite+Device下,但是实际上不可以!)。
安装根目录
DIF_RFP文件夹
当配置成功以后会在芯片族里面多出R7F系列的单片机,如下图示:
2、 将DIF_RFP文件夹下的RFP_R7F0C002L_V10000子目录下面的两个文件(Device_Custom文件夹和Custom_文件)拷贝到安装目录下的C:Program FilesRenesas ElectronicsProgramming ToolsRenesas
Flash Programmer V2.01Device下(这里是默认安装路径)。
1.3、 开发环境新建工程:
1、 启动CubeSuite+环境,会弹出如下启动界面:
2、 创建Project工程,在上述启动界面中,点击Creat New Project栏中GO按钮,将会弹出以下对话框:
选择芯片型号
选择芯片族
输入工程名
选择工程路径
创建
3、 点击Create创建工程,会得到如下工程界面:
4、 通过生成工具生成一个简单的代码:
5、 将芯片型号换成R7F0C002单片机,并且将选项字节配置好!详细设置请参考第三章
代码生成与编码 。
6、 将系统生成的代码全部删除,添加自己的工程代码!
删除Code Generator文件夹
选择RL78 EZ Emulator工具
添加自己的代码!
这里需要注意:必须要把文件和pfdl_sample_linker_链接文件添加到工程里面。
7、 该单片机也可以按照传统的方式直接新建工程并添加代码,但是不建议这样使用,在新建工程后需要添加一个比较麻烦的链接文件,而且容易出错!这里就不介绍了。
二、 仿真器安装与设置
2.1、安装驱动与更新固件:
驱动安装按照一般方法即可,路径如下图示:
点击确定即可,正确安装完成后在设备管理器端口中可以看到Renesas Virtual UART端口,否则安装失败!
2.2、在D:XXXEZ_CUBEEZ_QBEZUTL & firmware路径下有固件烧录软件打开之后将RL78_OCD_文件烧录到下载其中,界面如下:
,点击打开后,点击Start开始烧录即可。
2.3、在仿真器背面有5个拨动开关设置:
序号
1
2
3
4
位1
M1
Debug Mode
T
位2
M2
Stand Mode
5
说明
内部/外部时钟
仿真/独立模式运行
建议配置
M2
Debug Mode
5 Other R8C
T:目标板供电,电压范围实际情况定,+2.7V~+5.5V
仿真器不能5:仿真器提供5V电源 提供3V电源
Other
2.4、仿真器与目标板的连接:
EZ-CUBE:
目标板:
按照上图一一对应即可。
2.5、CubeSuite+仿真设置:配置仿真工具Debug Tool
按上图选择可以实现硬件仿真。
三、 代码生成与编码
3.1、代码生成工具初配置
3.1.1驱动代码自动生成:选择Tool->Plug-in Seting,会弹出以下对话框:
勾选红色框内内容,并点击OK,软件会提醒需要重启软件,点击Yes即可重启。
3.1.2、重启后界面项目树上会多出以下几个内容:
3.1.3、代码生成准备工作:
代码生成是必须是选择R5F10RLC型号的单片机,将需要的底层驱动代码生成以后,再将MCU型号改回R7F0C002L型号单片机。
选择Change Microcontroller…项即可更换MCU型号。
3.2、Clock系统时钟配置
选择Generator Clock项,然后选择Pin assignment选项卡
这是一些复用功能重定向控制,此处保持默认状态。
再选择Clock Setting选项卡
电源范围选择
选择主时钟源类型
选择X1振荡电路
外部晶振频率
其他内容保持默认状态即可。
最后选择Pin assignment选项卡并点击fix settings按钮修改设置。
3.3、GPIO端口配置方法
选择Port项,按照实际需求配置好端口的输入输出状态,这里将P41-P43配置为输即可生成代码。 出状态。完成后点击
在项目树中可以看出,生成了三个文件:
打开r_cg_port.c文件,文件中有一个端口初始化功能函数void R_PORT_Create(void)
在硬件初始化函数hdwinit中将会调用这个函数初始化硬件Port端口。
在main函数中会发现并没有调用hdwinit硬件初始化函数,这个是由于代码生成工具自动会将hdwinit硬件初始化函数加载到汇编代码中,C代码中不需要做处理。
3.4、Timer定时器配置方法
选择Timer项,然后选择General Setting选项卡
将Channel0即定时器0配置成Interval Timer(间隔计时器)。
选择Channel0选项卡,按照以下配置,完成后点击Generate Code生成代码。
定时时长
定时器中断模式
中断优先级
同样会自动生成r_cg_timer.c、r_cg_timer.h、r_cg_timer_user.c三个文件,打开r_cg_timer.c文件,会发现有三个函数:void R_TAU0_Create(void):定时器初始化函数;void
R_TAU0_Channel0_Start(void):定时器0启动函数;void R_TAU0_Channel0_Stop(void):定时器停止函数。
在系统自动初始化函数中会自动添加R_TAU0_Create初始化函数,不需要在main函数里面再操作初始化,但是timer0初始化后并没有启动,因此需要在main函数里面添加启动函数,
注意:所有用户添加的代码必须写在有类似的提示之间,否则在重新生成代码时会被系统自动清除掉或者改掉。
打开r_cg_timer_user.c文件,在中断服务函数__interrupt static void
r_tau0_channel0_interrupt(void)加入定时器中断需要处理的代码。
3.5、SPI(CSI)串口配置:
选择serial项,再选择Channel选项卡,并按照下图设置
选择CSI00选项卡,并按照下图设置
按照前面同样的步骤,在main主函数中添加R_CSI00_Start函数,启动SPI功能。
在需要发送数据的情况下调用R_CSI00_Send_Receive数据交换函数即可。
3.6、ADC转换器配置:
选择A/D Converter项,将A/D Converter Operations Setting项选择Used,再按照下图配置。
8位模式
内部基准
ADC通道
ADC中断优先级
点击Generator Code生产代码,同样会生成r_cg_adc.c、r_cg_adc.h驱动文件r_cg_adc_user.c用户文件,在r_cg_adc.c文件中包含ADC的初始化函数和启动函数。在main主函数中的系统初始化文件中添加启动函数,如下示
在r_cg_adc_user.c用户文件中,中断服务函数中读取ADC转换结果
3.7、LCD端口配置:
选择设置
LCD Controller Driver项,将LCD Operations Setting项选择Used,然后按照下图液晶波形选择
LCD时间片选择
LCD偏压设置
同样点击Generator Code生成代码,系统会自动生成三个文件(哪三个文件这里不赘述了),在main主函数中的系统初始化函数中调用R_LCD_Start启动LCD,调用R_LCD_Set_VoltageOn函数开启LCD偏压电路。
代码生成工具只生成了LCD的初始化函数和上述两个启动函数,其中SEG脚配置之类的并没有生成,因此需要自己添加,这里不做详细说明。
3.8、WatchDog定时器配置:
选择WatchDog Timer项,并按照下图配置:
休眠模式WatchDog运行选择
在配置低功耗的时候需要注意看门狗的设置,需要将运行选择位配置为Stopped模式即低功耗状态禁止看门狗运行。
看门狗的配置有部分体现在选项字节中,寄存器配置部分体现在代码中这里不作详细介绍,主要介绍选通过项字节将看门狗设置为休眠禁止运行状态:
双击Build Tool会弹出property页,选择其中Link Options选项卡,选择Device内容,如下示:
看门狗配置字
其中User options byte value值就是用户选项字节设置内容。在RL78_L12用户手册硬件篇.pdf
第25章选择字节中有有介绍这三个字节意义,最前字节FE是用于配置看门狗。
选项字节格式
设定值
选项字节地址
描述
FE
000C0H
看门狗设置
FF
000C1H
中断& 复位模式设置
EA
000C2H
内部时钟频率配置
将WDSTBYON位配置成0就可以将看门狗配置为休眠模式下禁止运行状态。
3.9、低功耗休眠配置:
R7F0C002单片机低功耗有三种模式:HALT模式、STOP模式、SNOOZE模式;HALT模式只有CPU时钟停止运行,其他外围时钟还在运行;STOP模式会是整个系统停止运行可以大幅度降低功耗;具体模式特点请参考RL78_L12用户手册硬件篇.pdf文档。
在进入STOP模式之前必须将外部时钟切换到内部高速时钟,并且需要将看门狗关闭,否则看门狗会将系统从STOP模式唤醒,关闭看门狗的方法参考3.8章,在此不再赘述。
在休眠状态,将PER0配置为0x00,禁止所有外部设备时钟,否则会多出250uA左
右的电流!
3.10、外部中断配置:
外部中断分为通常意义的外部引脚中断和按键中断。
3.10.1、INTP外部中断
选择项,按照下图配置,生成代码。
在main主函数中添加R_INTC0_Start启动函数即可,在r_cg_intc_user.c中的中断服务函数__interrupt static void r_intc0_interrupt(void)添加用户代码即可。
3.10.2、KeyINT按键中断
按图配置,并生产代码:
在main主函数中添加启动函数R_KEY_Start即可启动KeyInt中断。
注意:在中断服务程序中需要清除KRF键返回标志寄存器,否则只能触发一次中断,如
下示:
清除键返回标志
3.11、片内EEPROM(DataFlash)
R7F0C002单片机自身不带EEPROM功能,但是可以通过数据闪存实现EEPROM数据保存的功能。
1、 需要将一下几个文件添加到工程目录下:
其中:pfdl.h、、、pfdl_sample_linker_、pfdl_types.h五个文件是厂家代码,这五个文件也可以通过E:xxx瑞萨002入门教程RENESAS_FDL_RL78_T04E_V1.00工具生产,以上代码就是通过这个工具生产的,r_pfdl.c文件是供应商那边工程师自己写的代码,经过修改后可以实现数据保存的功能。
2、接口函数:通过R_FDL_ExecuteRead函数可以读取指定地址内容,通过R_FDL_ExecuteWrite函数可以将指定内容写过到指定地址。注意:在写入数据之前必须要调用R_FDL_ClearDataFlash函数将整个地址数据全部清除掉再写入数据。
出现以下找不到库函数的报错时:
请将库函数Lib文件添加到工程中,如下图示:
将文件添加到工程中
3.12、乘法运算
这里把R7F0C002单片机的乘法运算单独列出来,希望能引起读者注意单片机乘法运算的时候符号类型转换。
以这个函数为例,ExamN是用来决定ExamValue值的存放地址,实际EEPROM的地址
Addr=0x0100+(ExamN*8)。
这里需要注意的时候如果按照下面写法会引起地址出错:
这里会引起错误
EE_WriteBytes((ulong)(0x0100+(ExamN*8)),8,Buf1)这样写EEPROM的地址会出错,在ExamN>32时ExamN*8的值会出错,是因为ExamN为uchar型数据,其值不能超过0xff,所以必须要先将ExamN的数据类型转换成ulong型(ExamN*8<0xffffffff时)或者是uint型(ExamN*8<0xffff时)。
按照以下写法才是正确的:
有关乘除法运算,请按照这种方式写
作者:Owen
20140114
版权声明:本文标题:瑞萨单片机入门教程 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1708303942h518977.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论