1、进入 nuttx , 执行make distclean 清理(之前已经配置编译过)
2、进入 nuttx/tools目录
执行
./configure.sh stm32f103-minimum/buttons
( 在nuttx\configs\stm32f103-minimum\buttons下可以看到配置文件)
3、回到nuttx目录
执行 make menuconfig
返回上一级
返回到第一级
保存退出配置
4、查看定义代码
- 打开nuttx\configs\stm32f103-minimum\include里的 board.h
找到:
#define NUM_BUTTONS 2
#define BUTTON_USER1 0
#define BUTTON_USER2 1
#define BUTTON_USER1_BIT (1 << BUTTON_USER1)
#define BUTTON_USER2_BIT (1 << BUTTON_USER2)
- 打开nuttx\configs\stm32f103-minimum\src 里的 stm32f103_minimum.h
找到:
#define GPIO_BTN_USER1 (GPIO_INPUT|GPIO_CNF_INFLOAT|GPIO_MODE_INPUT|\
GPIO_EXTI|GPIO_PORTA|GPIO_PIN0)
#define GPIO_BTN_USER2 (GPIO_INPUT|GPIO_CNF_INFLOAT|GPIO_MODE_INPUT|\
GPIO_EXTI|GPIO_PORTA|GPIO_PIN1)
#define MIN_IRQBUTTON BUTTON_USER1
#define MAX_IRQBUTTON BUTTON_USER2
#define NUM_IRQBUTTONS (BUTTON_USER1 - BUTTON_USER2 + 1)
- 打开nuttx\configs\stm32f103-minimum\src 里的 stm32_buttons.c
找到:
static const uint32_t g_buttons[NUM_BUTTONS] =
{
GPIO_BTN_USER1, GPIO_BTN_USER2
};
5、编译及烧写
6、按键接线 ,代码定义在了PA0和PA1输入模式
按照下图把 PA0 ,PA1 分别接到按键1、2
7、执行? 或者 help 查看app运行命令
执行 buttons
按下按键1:
松开按键1:
按下按键2:
松开按键2:
8、额外内容,修改按键响应名称:
执行make menuconfig 修改配置
选中Show Buttons Name后,会出现按钮名称设置
修改按键数目
选择按键1,回车进入修改名称,按键2同理
保存退出配置、并重新编译、烧写执行
其他STM32F103C8T6板子测试