[原创] 【R7F0C809】LED终于闪烁起来

wgsxsm   2015-9-1 21:56 楼主
拿到板子有半个月了,一直到昨天才终于把LED真正点亮了。
之前一直困扰我的是:本来系统自带的程序是数码管会亮的,仿真器的排线全部插上之后,却不亮了!
和之前所用的MCU大不一样,因为别的MCU没有说插上仿真器造成系统不能运行的,头一次使用瑞萨MCU,没有经验,一直担心是有问题造成的。
这个问题困扰了有强迫症的我三四天,看资料,一遍又一遍,USB驱动重新安装,固件更新,仿真器使用说明等等。
快被逼疯了,感觉这个问题不解决就不能继续下去。后来很想把板子退回去不玩了。
后来想到还有瑞萨的群,于是加进去问问使用过或者对这个板子熟悉的网友。
感谢群网友@Freedom,@ゝ独角戏~~等网友的帮忙,使我认识到了接线是没有错误的:瑞萨的板子就是这样子,连上仿真器所有PIN,非Debug情况下,系统是不能运行的。如果想使用仿真器给板子供电运行,则需要拔去第7PIN-RESET

下面就说一说自己遇到的一些问题与部分心得
~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.拿到板子首先去下载资料,虽然提供有光盘,但是光盘东西一般比较陈旧,不如直接去官网下载。
  我下载资料一般都是去论坛活动处直接给的链接下载,保证够新:https://www.eeworld.com.cn/huodong/2015Renesas/
QQ截图20150901210808.jpg

  最后一个开发环境的操作视频,卡的厉害,而且非常模糊,听得生不如死。。。
2.安装驱动,下载仿真器(EZ Cube)USB驱动并解压,插上USB miniB线,如果驱动不能自动安装,可以手动指引到驱动文件夹,安装完毕后,设备管理器会有RENESAS字样的驱动存在
QQ截图20150901211345.jpg
3.仿真器固件更新一下,并仿真器的背面的薄码开关拨至如下图所示,更新固件资料选择为:RL78G10_OCD_FW.hex
QQ截图20150901212001.jpg QQ截图20150901211345.jpg
4.根据资料-R7F0C809显示套件用户手册&仿真器 (EZ-cube)使用说明-将硬件搭建起来。按照下图一对一连接就行,杜邦线上有PIN序号,比较好分辨。
需要仿真时再接上第7PIN,其余时间拔去即可。
QQ截图20150901212519.jpg QQ截图20150901212525.jpg
。。。。。。至此,硬件搭建结束,接下来就是软件编程了。。。。。。。。
5.下载官网提供的开发环境(Cube Suite+),V2.0.2版本,不需要在线更新了。
QQ截图20150901213202.jpg
6.根据资料-R7F0C809应用笔记-进行下载C代码。
建议直接下载C代码包,里面包含了文件说明了,不用单独再下载。
QQ截图20150901213023.jpg
7.着急,先点个灯。根据例程(R7F0C809 A/D按键输入配合4位8段数码管显示)修改的。
因为LED1实际电路未短接S8,所以采用的是LED2闪烁。
LED1的代码部分为自己添加的,其余的直接使用的例程中的:主要是INTTM01的配置与中断处多看看了。
  1. void LED_Init(void)
  2. {
  3.     PMC0 &= 0xFD;           /* Sets P01 as digital port */

  4.     PM0 &= 0xFD;            /* Sets P01 as output mode */

  5. }


  6. void LED_On(void)
  7. {
  8.     P0 &= 0xFD;
  9. }

  10. void LED_Off(void)
  11. {
  12.     P0 |= 0x02;
  13. }

  14. void LED_Toggle(void)
  15. {
  16.         if(P0&0x02)        LED_On();
  17.         else                LED_Off();
  18. }
  1. void System_Init(void)
  2. {
  3.     DI();
  4.     LED_Init();            /* Sets used ports */
  5.     TAU_Init();             /* Initializes TAU module */   
  6.     EI();
  7. }
  1. void main(void)
  2. {
  3.     System_Init();              /* Initializes each module */

  4.    
  5.         TS0 |= 0x02;                        /* Starts TAU01 */
  6.         while ( !(TE0 & 0x02) );            /* Waiting TAU01 works */   

  7.     while (1)
  8.     {

  9.             if(g_Flag1s == 1)
  10.             {

  11.                         LED_Toggle();
  12.                 g_Flag1s = 0;
  13.             }       
  14.     }
  15. }
  1. void TAU0_Channel1_Interrupt(void)
  2. {
  3.     g_Cnt100ms++;
  4.     if (g_Cnt100ms == 10)
  5.     {
  6.         g_Flag1s = 1;       /* Sets 1s flag */
  7.         g_Cnt100ms = 0;
  8.     }
  9. }
8.编译和下载(下载时每次都要进入仿真,按F5或者下图中的开始图标即可运行)。
QQ截图20150901214424.jpg QQ截图20150901214434.jpg QQ截图20150901214605.jpg
9.注意,仿真时的仿真器指示灯显示为绿色,有别于平时的红色。
QQ截图20150901214605.jpg
10.LED1开始每秒一次的闪烁了。
led_toggle.gif

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
楼主是个急性子,以上就是个心急吃热豆腐。
接下来就根据官网的资料以及代码进入真正的学习与使用瑞萨MCU了。

回复评论 (2)

楼主霸气,我作为一个精通各种点灯的选手,为你点赞,深深的那种。
作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅! EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,商家勿入!加群暗号:喵
点赞  2015-9-1 23:41
专业点灯20年
点赞  2015-9-2 08:36
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复