[求助] 瑞萨的MCU我有点崩溃了,LED就是点不亮,求指点

fxyc87   2015-9-7 08:47 楼主
  1. #pragma sfr

    void main(void)

    {

    //P0 |= 0x03U;

    //PM0 &= 0xFCU;

    //PMC0 &= 0xFCU;

    //p0.1 即LED2指示输出

  2. PMC0 &= ~(1<<1); /*0=数字模式*/

    POM0 &= ~(1<<1); /* 0=普通模式 */

    PM0 &= ~(1<<1); /* 0=输出模式 */

    while (1)

    {

    P0=00;

    P0=2;

  3. }

    }

代码如上图所示 LED就是点不亮,不是有两个LED么,板上,上边一个是没有连接的,下边一个是连接好的 这个代码就这么一点点,单独新建一个工程即可运行 可是就是运行不了,没效果, 编译成功,下载后就是达不到效果, 难道我的板子芯片有问题? 大家有板的帮忙试一下上边的代码,谢了 看下大家的板能运行正常么 我有点要放弃的感觉了,

回复评论 (22)

  1. void main(void)
  2. {     
  3.       PMC0 = 0x00;       /* Digital I/O */
  4.       POM0 = 0x00;   
  5.       P0     = 0x00;
  6.       PM0  = 0x00;
  7.       while(1);
  8. }
分享铸就美好未来。。。
点赞  2015-9-7 08:57
看看数据手册吧,应该是寄存器没有配置对,上面那个可以点亮的。
分享铸就美好未来。。。
点赞  2015-9-7 08:58
瑞萨的我也不熟,不对照手册找不出问题。你可以下载我这篇帖子里的工程,里面应该有一段代码是定时器翻转LED的。https://bbs.eeworld.com.cn/thread-472592-1-1.html
点赞  2015-9-7 09:03

5楼 nmg 

别着急,我们有一百个人一起玩,有什么难题大家一起解决

为了设计奖品,更为了竞赛精神,fighting

另外i瑞萨电子大赛吐槽、缓压、交流设计群欢迎你:383376398
点赞  2015-9-7 09:16
这个while(1)的写法,P0.1翻转速度是很快的,应该不能看到闪烁,但是平均下来会有一定的光亮吧。

可以从两方面检查,首先是硬件的,有示波器的话看下P0.1上的波形,如果有方波,那么说明代码没有问题。再看led另一端电压,如果为5v,那么供电没问题。


软件方面:尝试在while(1)中增加一个100ms以上的delay试下。
点赞  2015-9-7 09:33
    while (1)
    {
        P0=0;
        P0=2;
    }

你用示波器看的,还是肉眼观察的?你的初始化是没错的,可以工作,加点延迟。
山中方七日,世上已千年。
点赞  2015-9-7 09:35
引用: zjw5000 发表于 2015-9-7 09:35
while (1)
    {
        P0=0;
        P0=2;
    }

你用示波器看的,还是肉眼观察的?你的初 ...

单步调试,没有反应,是灭的

即使运行也应该有弱亮啊
点赞  2015-9-7 10:25
引用: johnrey 发表于 2015-9-7 09:33
这个while(1)的写法,P0.1翻转速度是很快的,应该不能看到闪烁,但是平均下来会有一定的光亮吧。

可以 ...

我单步调试的
点赞  2015-9-7 10:25
引用: fxyc87 发表于 2015-9-7 10:25
我单步调试的

那你执行P0=0和P0=2的时候,万用表量下P0.1的电平会有变化吗?单步调试两条语句都能执行?
点赞  2015-9-7 10:31
引用: johnrey 发表于 2015-9-7 10:31
那你执行P0=0和P0=2的时候,万用表量下P0.1的电平会有变化吗?单步调试两条语句都能执行?

没有变化,没有报错,理论是上执行了
点赞  2015-9-7 10:35
引用: fxyc87 发表于 2015-9-7 10:35
没有变化,没有报错,理论是上执行了

看过P0寄存器的值吗?单步的时候会不会变?
点赞  2015-9-7 10:56
PM0 &= ~(1<<1);    这句有问题吧
Renesas 01.JPG

1左移1位,取反,再与操作,其他位不变,将P01设为0。

这是输出模式。

LED的原理。

Renesas 02.JPG

你要亮灯,得将P01设为输入,且是低电平是才行。

这个例子就几个寄存器位操作,不是0,就是1。

while里P01 IO口高低电平设置都有了,肯定是前面的IO口设置有问题,不然单步调试不应该没效果的。

多试试,不应放弃啊。


一心一意,精益求精
点赞  2015-9-7 13:24

你这个代码我点不亮,
为什么?
我的板子坏掉的?不能下载?

苍天啊,大地啊,~~~~~~~~~
点赞  2015-9-7 13:30
引用: johnrey 发表于 2015-9-7 10:56
看过P0寄存器的值吗?单步的时候会不会变?

变是变,可是就是输出没变化,
上边有人提供的代码,说是能点亮的,放我板上还是不亮,
点赞  2015-9-7 13:31
会不会因为我用的WIN10环境?
大家都用的什么系统啊?
点赞  2015-9-7 13:31
引用: fxyc87 发表于 2015-9-7 11:30
你这个代码我点不亮,
为什么?
我的板子坏掉的?不能下载?

苍天啊,大地啊,~~~~~~~~~

  不可能吧,好好检查一下。,我都可以点亮的。。。。
分享铸就美好未来。。。
点赞  2015-9-7 14:23
引用: fxyc87 发表于 2015-9-7 13:31
会不会因为我用的WIN10环境?
大家都用的什么系统啊?

哇咔咔,还真有可能啊。我继续xp,还能用,就是有点慢吧。
不过瑞萨的这个编译环境还是比较变态的,对中文支持很差很差
点赞  2015-9-7 14:37

二楼的代码,网友说可以运行,有效果,我的没效果
下载后灯不亮,
点赞  2015-9-7 14:42
下进去了没有呢?
So TM what......?
点赞  2015-9-7 15:20
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复