[原创] 【R7F0C809】熟悉GPIO,实现led闪烁

770781327   2015-8-23 21:50 楼主
板子的整个编译下载过程都熟悉了,工程也建好了,开始熟悉程序了,打算先从gpio开始熟悉
R7F0C809内置RL78-S1内核,这还第一次接触,不知道与我们通用的ARM的有何区别
13.png
首先吧,编译一个空的主函数看看效果
14.png
瑞萨比较让人纠结的一点就是为啥编译一下都得下载呢,就不能纯编译么
这让我们这种习惯动不动就编译一下的人真心伤不起

后来才发现是因为我选择的是debug菜单下的,主界面的编译是debug菜单下的,所以都带下载仿真集成了
15.png
我该在菜单中选这两个才对
16.png
编译ok
开始添加要用的东西
17.png
led部分硬件电路如图所示,所用gpio口是Pin03和pin04
18.png
对应MCU引脚是P00和P01
由手册关于GPIO的要求
配置程序
  1. <blockquote>void main(void)
编译通过,实际板子没反应
21.png
检查发现右侧这边工具没设置对
也不知道这边的怎么改
22.png
设置这边如图
F6编译下载仿真
F5运行
实际居然是数码管亮了,而led完全没反应
看来GPIO设置还有点问题,继续找起,可惜不能断点仿真啊,只能继续推敲了



  • 19.png
  • 20.png

回复评论 (5)

奇怪,代码怎么复制不上去,编辑的时候明明有的啊,


  1. void main(void)
  2. {
  3.     PMC0 &= 0xfc;           /* Sets P00~P01 as digital port */
  4.     POM0 |= 0x03;           /* Sets P00~P01 as Nch-O.D. mode */
  5.     P0=01;
  6.     PM0 &= 0xfc;            /* Sets P00~P01 as output mode */
  7.        
  8.     while (1)
  9.     {
  10.         P0&=01;
  11.         delay(5000);
  12.         delay(5000);
  13.         delay(5000);
  14.         P0&=02;
  15.         delay(5000);
  16.         delay(5000);
  17.         delay(5000);
  18.     }
  19. }


点赞  2015-8-23 21:54
有bulid和debug 2种模式,
山中方七日,世上已千年。
点赞  2015-8-23 21:57
呵呵,
  1. POM0 |= 0x01; /* Sets P00~P01 as Nch-O.D. mode */
你把P01设置成P沟道,led怎么能点亮起来。把上面 那句代码修改下,就好了。 本帖最后由 zjw5000 于 2015-8-23 22:13 编辑
山中方七日,世上已千年。
点赞  2015-8-23 22:04
引用: zjw5000 发表于 2015-8-23 22:04
呵呵,

   


你把P01设置成P沟道,led怎么能点亮起来。把上面 那句代码修改下,就好了。

回去试试,我昨天也试过将P00和P01都修改下变成
POM0 |= 0xfc,最低两位都为0没行,后来就没考虑这情况,现在想来是想岔了
点赞  2015-8-24 09:55
最终解决方案
一直认为DI();EI();TAU_Init(); 没用,就没设置,事实上,加上TAU_Init(); 即对应中断处理就可以了
点赞  2015-9-6 20:53
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复