使用E2studio RL78编译环境
一. LED
跟51单片机类似需要手动初始化寄存器

在
output_ports_configure()函数里面初始化寄存器- /* Port mode registers
- * 0 Output mode (output buffer on)
- 1 Input mode (output buffer off)
- P
- 输出高低电平或者读取高低电平
- PU
- 0 On-chip pull-up resistor not connected
- 1 On-chip pull-up resistor connected
- POM 输出模式
- 0 Normal output mode
- 1 N-ch open-drain output (VDD tolerance) mode
- */
- /* Add code here to setup additional output ports */
- PM2 &= ~(1u<<0); /*设置为输出模式*/
- P2 |= (1u<<0); /*输出为高电平*/
- PU2 &= ~(1u<<0); /*不使用内部上拉*/
- POM2 &= ~(1u<<0); /*正常输出模式*/
- PMC2&= ~(1u<<0); /*数字IO,替代模拟输入*/
- PM2 &= ~(1u<<1);
- P2 |= (1u<<1);
- PU2 &= ~(1u<<1);
- POM2 &= ~(1u<<1);
- PMC2&= ~(1u<<1);
主函数翻转LED
- void delay(uintmax_t ms)
- {
- for (int i = 0; i < ms; i++)
- {
- BSP_NOP();
- }
- }
- PIN_WRITE(2,0) = ~PIN_WRITE(2,0);
- PIN_WRITE(2,1) = ~PIN_WRITE(2,1);
- /* 延时1s*/
- delay(get_fclk_freq_hz());
二.按键控制LED
按键引脚P137默认是输入,不用初始化
- /* 按键按下,灯亮,按键按下灯灭*/
- uint8_t ping_state = 0;
- ping_state = P13_bit.no7;
- if (!ping_state)
- {
- delay(get_fclk_freq_hz() / 100);
- if (!ping_state)
- {
- P2_bit.no0 = 0;
- P2_bit.no1 = 0;
- }
- }else
- {
- P2_bit.no0 = 1;
- P2_bit.no1 = 1;
- }
三.按键中断
设置引脚为中断模式
- static void interrupts_configure(void)
- {
- /* Add code here to setup additional interrupts */
- /* P137/INTP0
- *
- */
- EGP0_bit.no0 = 1; /* P137双边沿触发*/
- EGN0_bit.no0 = 1;
- MK0L_bit.no1 = 0; /* 使用中断服务函数*/
- BSP_NOP();
- } /* End of function interrupts_configure() */
作者: 莫羨, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-4040671.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
相关推荐阅读
-
莫羨
2023-07-24 13:37
-
【瑞萨 RA6E2】+按键LED+串口中断收发+内部虚拟EEPROM
-
硬件:瑞萨RA6E2软件:FSP 4.0.5 / e2studio (需要使用4.0.5才可以选择RA6E2的芯片R7FA6E2BB3CFM)资料参考:原理图和芯片手册GITHUB例程FSP API在...
文章评论(0条评论)
登录后参与讨论