这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » Renesas » crab的进程贴

共21条 1/3 1 2 3 跳转至

crab的进程贴

助工
2012-08-23 22:40:26     打赏

收到开发板快一周了,由于公司最近事情没忙开,所以一直没有搞;

今天总算有时间来搞这块板子了,东西准备的很全,板子、数据线、跳线、光盘,

连螺丝刀都备了,呵呵。

板子不错,大家都上过图,我就不上图了,连接外部器件时再上图吧。

看完板子,先熟悉资料,瑞萨的还真没用过,第一次用,明天熟悉一下开发环境,

调段简单代码先看看。。

发个贴子先占个位置,表示已经开始了。。




关键词: 进程    

院士
2012-08-24 09:18:56     打赏
2楼
等待你的进一步进程

助工
2012-08-25 12:22:22     打赏
3楼

初步试了一下Applilet软件的使用:

新建一个配置,,配置了IO口,开发板上只有P77有指示,所以就用P77。

把P77配置成输出口,其它暂时先不管,然后生成代码,生成的效果很好,

直接带有IAR的项目文件,连上开发板,打开软件编译就能调试了,

在主程序中 P7 ^= 0x80;    语句进行测试,单步执行,可以看到灯的亮灭,

表示,配置软件用对了。

接下来做了两个TIMER,一个是 interval timer ,定时100ms,另一个是TIMER0,

定时500ms,同样也只是用LED灯TOGGLE进行指示,都成功了。

要注意的是:要在主程序中加入初始化的调用,我刚开始就没明白,一直不好用,

经过查找才整明白:

void  main(void)
{
 /* Start user code. Do not edit comment generated here */
  __low_level_init();
  IT_Start();
  TAU0_Channel0_Start();
       
 while (1U)
 {
  //P7 ^= 0x80;


 }
 /* End user code. Do not edit comment generated here */
}

 

 

 


助工
2012-08-28 09:29:13     打赏
4楼
怎么开发环境还会有编译器到期的情况呢,,咋回事啊。。受不了。。

院士
2012-08-28 10:11:31     打赏
5楼
楼主 主程序中不需要调用 __low_level_init(); 这个函数。
那个函数是硬件初始化时使用的。
只需要启动timer即可,其初始化部分已经配置了。

助工
2012-08-29 09:49:49     打赏
6楼

哦,没注意哪里介绍,,谢谢。。


助工
2012-09-05 12:44:24     打赏
7楼

最近也是有点忙别的事,一直没更新贴子,不过工作还是做了一些的。

看到大家对呼吸灯有些不太清楚的,我就这个例子来说明一下吧,也是我刚刚做好的一步。

首先要了解呼吸灯的工作方式:用引脚输出PWM形式的波形来控制接在引脚上的LED灯,LED灯会根据输出波形占空比的大小来控制LED灯的亮度。

第二,一般单片机的PWM输出引脚都是由单片机内部的PWM发生器指定的,瑞萨RL78也一样,是用两个定时器模块配合,产生PWM波形的,其指定输出引脚为 TOmn。但开发板上的LED灯没有接到这样的引脚,我觉得D1做电源灯比较浪费,就把这个灯接到了单片机的TO03引脚。

首先,在Applilet3中配置端口,如下图,在TIMER中配置CHL2为PWM输出,

 

再从详细配置表中配置输出的频率CHL2 ,也是MASTER

 

在CHL3  SLAVE中配置输出占空比与占空比所代表的电平

 

以上配置的地方,都不要产生中断。

再设置好内部定时器,也可以用个其它的定时器也行,如下

 

然后,保存,点 生成代码,再用IAR打开生成的项目文件,在IAR的项目中,对 CG_it_user.c的下面函数进行编辑

#pragma vector = INTIT_vect
__interrupt void MD_INTIT(void)
{
 /* Start user code. Do not edit comment generated here */
       
        P7 ^= 0x80;
       
        if(pwm_chl3_dir == 0) {
          if(pwm_chl3_duty < 20)
            pwm_chl3_duty ++ ;
          else
            pwm_chl3_dir = 1;
        }
        else  {
          if(pwm_chl3_duty > 0)
            pwm_chl3_duty--;
          else
            pwm_chl3_dir = 0;
        }
        TAU0_Channel3_ChangeDuty((UCHAR)pwm_chl3_duty);
       
        /* End user code. Do not edit comment generated here */
}

没有的变量自己定义一个,另外注意的就是函数 TAU0_Channel3_ChangeDuty((UCHAR)pwm_chl3_duty); 要声明一下。

现从主程序的开始部分启用定时器,如下所示

void  main(void)
{
 /* Start user code. Do not edit comment generated here */
        IT_Start();                 // start internal timer
    //    TAU0_Channel0_Start();      // start chl0 with timer mode
        TAU0_Channel2_Start();      // start chl3 with a PWM mode
    //    serial_user_config();       // config rx and tx buffers
    //    UART1_Start();              // start uart1
       
 while (1U)
 {
  //P7 ^= 0x80;


 }
 /* End user code. Do not edit comment generated here */
}

程序基本就是这样,连接好板子,编译运行就可以看到呼吸灯 渐亮渐灭 的效果了。

希望对大家有帮助,主要就是要接到PWM输出引脚这一步理解了就容易了。

 


工程师
2012-09-05 13:52:52     打赏
8楼
楼主很棒,学习了。图看不到。

院士
2012-09-05 13:58:30     打赏
9楼
楼主 图都碎了……

助工
2012-09-05 14:28:20     打赏
10楼

我这里怎么看着好好的呢,,这图是不是有什么问题??


共21条 1/3 1 2 3 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]