https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=422&extra=page%3D1
先按教程安装虚拟机以及ubuntu系统,ubuntu开发环境官方以及搭建好了
/home/aithinker/workspace/AiPi-Open-Kits/aithinker_Ai-M6X_SDK/examples/peripherals/gpio/gpio_input_output
在这个路径下可以找到gpio的例程
把这个例程复制到sdk目录下
先加载. export.sh 文件
进入gpio_input_output文件夹
打开makefile文件
更改编译路径
因为我是把gpio文件复制过来的因此在SDK文件的三级目录下,如果只复制gpio_input_output则为二级目录
这个文件路程错误会出现以下错误
我的点灯程序
#include "bflb_gpio.h"
#include "board.h"
struct bflb_device_s *gpio;
int main(void)
{
board_init();
gpio =bflb_device_get_by_name("gpio");
printf("gpiooutput\r\n");
bflb_gpio_init(gpio, GPIO_PIN_29,GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
bflb_gpio_init(gpio, GPIO_PIN_27,GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
bflb_gpio_init(gpio, GPIO_PIN_12,GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
bflb_gpio_init(gpio, GPIO_PIN_14,GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
bflb_gpio_init(gpio, GPIO_PIN_15,GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
while (1) {
bflb_gpio_set(gpio, GPIO_PIN_29);
bflb_gpio_set(gpio, GPIO_PIN_27);
bflb_gpio_set(gpio, GPIO_PIN_12);
bflb_gpio_set(gpio, GPIO_PIN_14);
bflb_gpio_set(gpio, GPIO_PIN_15);
//printf("GPIO_PIN_1=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_1));
bflb_mtimer_delay_ms(500);
bflb_gpio_reset(gpio, GPIO_PIN_29);
bflb_gpio_reset(gpio, GPIO_PIN_27);
bflb_gpio_reset(gpio, GPIO_PIN_12);
bflb_gpio_reset(gpio, GPIO_PIN_14);
bflb_gpio_reset(gpio, GPIO_PIN_15);
//printf("GPIO_PIN_1=%x\r\n", bflb_gpio_read(gpio,GPIO_PIN_1));
bflb_mtimer_delay_ms(500);
}
}
插上开发板按io2和en进入下载模式
make flash COMX=/dev/ttyUSB0
|