右的电流!
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.inc、pfdl.lib、pfdl_sample_linker_file.dr、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文件添加到工程中,如下图示:
将pfdl.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