3712|10

1291

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

【R7F0C809】按键功能 [复制链接]

上一次用到引脚外部中断实现按键的功能,在R7F0C809专门有个按键中断的功能,从手册中可以知道3个寄存器控制。分别是:
键返回控制寄存器 ( KRCTL
键返回模式寄存器 ( KRM0
键返回标志寄存器 ( KRF
我们可以设置这三个寄存器就可以实现按键的功能。
KRCTL只有最低位和最高位配置,如上图,可以通过这两位组成4种功能。
这个寄存器就是设置是否检测键中断信号的。
上图就是键返回标志的寄存器,如果按键一旦按下,对应的KRFn就会置一,这个需要手动用软件清除。
以下就是按键中断功能的示意图:
今天就利用了P1.1的按键功能,P1.1是按键4,所以我们要配置按键4,但奇怪的是我已经开了按键中断,结果还是进不了INTKR中断。不知道大家也是不是这种情况。
源代码:
  1. void Port_Init()
  2. {
  3.        
  4.         KRCTL = 0x80; //Æô¶ˉ¼üÖD¶Ï±êÖ¾
  5.         KRM0 = 0x10;  //Æô¶ˉ¼ì2a¼üÖD¶ÏDÅoÅ
  6.         KRF = 0x00;        //Çå3yÖD¶ÏDÅoÅ
  7.         KRPR0 = 1;      //éèÖÃÖD¶ÏóÅÏ輶
  8.         KRPR1 = 1;
  9.        
  10.         KRIF = 0;        //Çå3y¼üÖD¶Ï±ê־λ
  11.         KRMK = 1;       //¿aÆô¼üÖD¶Ï
  12.        


  13. }
  14. uint8_t Value = 0;


  15. /******************************************************************************
  16. * Function Name: main
  17. * Description : This function implements main function.
  18. * Arguments : none
  19. * Return Value : none
  20. ******************************************************************************/
  21. void main(void)
  22. {
  23.     /* Start user code. Do not edit comment generated here */
  24.     inttm00counter = 0U;                  /* Configuration counter of number of TM00 interrupt */
  25.     g_SW_Counter = 0U;                    /* Initialization counter of SW input */
  26.     g_TDR00_WorkH = g_DTR000_DataH[0U];   /* Set initial interval */
  27.     g_TDR00_WorkL = g_DTR000_DataL[0U];

  28.     //R_INTC0_Start();                      /* Enable INTP0 interrupt */
  29.     //R_TAU0_Channel0_Start();              /* Start TAU0 channel 0 counter */
  30.         Port_Init();
  31.     /* Wait interrupt */
  32.     while (1U)
  33.     {
  34.         //HALT();
  35.         /**/
  36.         //Value = ;Value
  37.             if( (KRF & 0x10) >> 4 )
  38.         {
  39.                 P0 ^= 0b00000010U;
  40.                 while(P1.1 == 0);
  41.                 KRF = 0x00;
  42.         }
  43.        
  44.     }
  45.     /* End user code. Do not edit comment generated here */
  46.    
  47. }
复制代码
醉了,注释居然乱码了
gif效果图:
源代码:
Workspace.zip (83.95 KB, 下载次数: 4)


Workspace.zip (83.95 KB, 下载次数: 4)



最新回复

你绝对认错人了,瑞萨好难玩  详情 回复 发表于 2015-10-23 10:31
点赞 关注

回复
举报

1891

帖子

2

TA的资源

纯净的硅(中级)

沙发
 
  不懂  帮顶。。。

点评

你谦虚了  详情 回复 发表于 2015-10-17 23:21
 
个人签名
分享铸就美好未来。。。




 

回复

3416

帖子

0

TA的资源

纯净的硅(高级)

板凳
 
不错
觉得键中断是这块片子最有特色的地方

点评

不过我打开键中断,实际上没有进入中断,郁闷  详情 回复 发表于 2015-10-17 23:21
 
个人签名

So TM what......?

 

 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

4
 
ljj3166 发表于 2015-10-17 13:08
不错
觉得键中断是这块片子最有特色的地方

不过我打开键中断,实际上没有进入中断,郁闷
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

5
 
574433742 发表于 2015-10-17 07:30
不懂  帮顶。。。

你谦虚了
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

6
 
不懂  帮顶。。。

点评

你在装X  详情 回复 发表于 2015-10-21 23:03
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

7
 
数码小叶 发表于 2015-10-20 16:06
不懂  帮顶。。。

你在装X

点评

真心不懂,太菜了  详情 回复 发表于 2015-10-22 08:12
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

8
 

真心不懂,太菜了

点评

我看你在其他地方很牛B呀  详情 回复 发表于 2015-10-22 23:09
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

9
 

我看你在其他地方很牛B呀

点评

你绝对认错人了,瑞萨好难玩  详情 回复 发表于 2015-10-23 10:31
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

10
 
强仔00001 发表于 2015-10-22 23:09
我看你在其他地方很牛B呀

你绝对认错人了,瑞萨好难玩

点评

认错人了,瑞莎还好吧,不是很难  详情 回复 发表于 2015-10-25 11:58
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

11
 
数码小叶 发表于 2015-10-23 10:31
你绝对认错人了,瑞萨好难玩

认错人了,瑞莎还好吧,不是很难
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表