大大通开发板评测专区
直播中

davidhuang

6年用户 4经验值
擅长:控制/MCU
私信 关注

[经验] 【大联大世平 NXP ZigBee JN5189开发板试用体验】初探JN5189开发板第二期

1.   简单使用开发板的外设开发板有RGB,有按钮,SPI Flash,当然也有留i2c接口,但是我目前手上没有i2c设备,所以就先不加这个功能了。我们简单规划一下这个例程的功能吧:1)  一个按钮,按下去一次就随机改变一次RGB颜色2)  另外一个按钮,按下去一次就保存当前的RGB颜色,然后下次开机就显示保存的RGB颜色废话不多说,赶紧敲代码我们基于helloworld工程来修改,1.   第一部分,修改添加LED功能首先led部分的威廉希尔官方网站 为: 111111.png 所以首先我们需要控制LED的3个颜色的IO分别为PIO1,2,3控制R,B,G三种颜色还是要参照例程,发现添加GPIO要有以下步骤:111.helloworld.c修改
//
#define APP_BOARD_TEST_LED_PORT BOARD_LED_RED_GPIO_PORT
//添加led配置输出引脚  
gpio_pin_config_t led_config = {
           kGPIO_DigitalOutput,
           0,
       };
  // init led gpio, gpio 0,1,2,3 for led, r,g,b
GPIO_Portinit(GPIO, APP_BOARD_TEST_LED_PORT);
//配置P0_0,P0_1,P0_2,P0_3作为输出引脚
    GPIO_PinInit(GPIO, APP_BOARD_TEST_LED_PORT, 3U, &led_config);
    GPIO_PinInit(GPIO, APP_BOARD_TEST_LED_PORT, 0U, &led_config);
    GPIO_PinInit(GPIO, APP_BOARD_TEST_LED_PORT, 1U, &led_config);
    GPIO_PinInit(GPIO, APP_BOARD_TEST_LED_PORT, 2U, &led_config);
   
//输出0,1,toggle
  GPIO_PortToggle(GPIO, BOARD_LED_RED_GPIO_PORT, 1u << 2U);
GPIO_PinWrite(GPIO, BOARD_LED_RED_GPIO_PORT, 2U, 0);
GPIO_PinWrite(GPIO, BOARD_LED_RED_GPIO_PORT, 2U, 1);
  1. #define BOARD_LED_RED_GPIO GPIO
  2. #define BOARD_LED_RED_GPIO_PORT 0U

  3. #define BOARD_LED_RED1_GPIO_PIN 0U
  4. #define BOARD_LED_RED2_GPIO_PIN 1U
  5. #define BOARD_LED_RED3_GPIO_PIN 2U
  6. #define BOARD_LED_RED4_GPIO_PIN 3U
3.pin_mux.c
  1. /* Initialize GPIO functionality on pin PIO0_3 (pin 6)  */
  2.        GPIO_PinInit(BOARD_INITPINS_LED_RED_GPIO, BOARD_INITPINS_LED_RED_PORT, 0U, &LED_RED_config);
  3.         GPIO_PinInit(BOARD_INITPINS_LED_RED_GPIO, BOARD_INITPINS_LED_RED_PORT, 1U, &LED_RED_config);
  4.         GPIO_PinInit(BOARD_INITPINS_LED_RED_GPIO, BOARD_INITPINS_LED_RED_PORT, 2U, &LED_RED_config);
  5.         GPIO_PinInit(BOARD_INITPINS_LED_RED_GPIO,BOARD_INITPINS_LED_RED_PORT,3U, &LED_RED_config);

第二部分,修改按键改变颜色,明天更新!

更多回帖

发帖
×
20
完善资料,
赚取积分