Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "riscv_csr_encoding.h"
- #include "scr1_csr_encoding.h"
- #include "mcu32_memory_map.h"
- #include <power_manager.h>
- #include <gpio.h>
- #define L0 9u
- #define L1 10u
- #define BTN 15u
- #define MS(d) for(volatile int _=0;_<d;_++)
- void main(){
- PM->CLK_APB_P_SET=0x1E000; PM->CLK_APB_M_SET=0xF000; PM->CLK_AHB_SET|=0x400;
- GPIO_1->DIR_IN=1u<<BTN; GPIO_0->DIR_OUT=(1u<<L0)|(1u<<L1);
- uint8_t s=0; GPIO_0->OUT=1u<<L0;
- for(;;){
- if(!(GPIO_1->STATE&(1u<<BTN))){
- MS(30000);
- if(!(GPIO_1->STATE&(1u<<BTN))){
- GPIO_0->OUT=1u<<(s?L0:L1); s^=1;
- while(!(GPIO_1->STATE&(1u<<BTN))) MS(100);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment