(RV64) K210 (Sipeed Maix Bit) >> C/C++
Button
首先查看板上LED和Button的電路圖位置
在kendryte-standalone-sdk-0.5.6/src/下,產生一個button資料夾並且撰寫一個main.c
#include <stdio.h> #include <unistd.h> #include "fpioa.h" #include "gpio.h" int main(void) { fpioa_set_function(12, FUNC_GPIO1); // LED fpioa_set_function(13, FUNC_GPIO2); // LED fpioa_set_function(14, FUNC_GPIO3); // LED fpioa_set_function(16, FUNC_GPIO4); // BOOT Button gpio_init(); gpio_set_drive_mode(1, GPIO_DM_OUTPUT); // GPIO1 gpio_set_drive_mode(2, GPIO_DM_OUTPUT); // GPIO2 gpio_set_drive_mode(3, GPIO_DM_OUTPUT); // GPIO3 gpio_set_drive_mode(4, GPIO_DM_INPUT); // GPIO4 gpio_pin_value_t value = GPIO_PV_HIGH; gpio_set_pin(1, value); // GPIO1 gpio_set_pin(2, value); // GPIO2 gpio_set_pin(3, value); // GPIO3 while(1){ if(gpio_get_pin(4)){ // GPIO4 gpio_set_pin(1, GPIO_PV_HIGH); } else{ gpio_set_pin(1, GPIO_PV_LOW); } } return 0; }
由於GPIO可以Remap,因此,司徒分別Remap到GPIO1~GPIO4腳位
編譯程式
$ cmake .. -DPROJ=button -DTOOLCHAIN=/opt/k210/bin && make
接著使用gdb除錯或者使用kflash燒錄
完成