HiHope开发者社区
直播中

gtbestom

12年用户 233经验值
擅长:可编程逻辑 模拟技术 嵌入式技术 接口/总线/驱动 处理器/DSP 控制/MCU RF/无线
私信 关注

【星闪派物联网开发套件体验连载】智能家居网关

刷屏

本帖最后由 gtbestom 于 2024-11-3 16:02 编辑

感谢电子发烧友和润和软件提供评测机会。

星闪派物联网开发套件基于海思 W63E,支持WIFI6,BLE5.3,SLE1.0,能完成物联网间无线协议的互转,使蓝牙、星闪设备也能联网控制。

【开箱篇】

总共两盒,开发板包装很精致,开发套件这一盒是 W63E 模组和外设板,另一盒是 W63 模组。


套件里有1块主板、5块扩展板和1块底板,包含 OLED 显示屏、按键、三色 LED 灯、NFC、蜂鸣器、光敏电阻、人体红外传感器、可燃气体传感器、温湿度传感器,上手即用,大大加速了开发过程
值得注意的是,主板上有一个微型的内置SK6805 IC 的 RGB 灯,可以实现复杂灯效


把模块插上底板,即可使用


【环境搭建篇】


星闪派物联网开发套件支持 Windows 和 Linux 环境下开发,Windows 下开发环境简单易用
环境搭建可以参考海思官网
Windows 环境搭建:https://developer.hisilicon.com/ ... 0276161171087633005
Linux 环境搭建:https://developer.hisilicon.com/ ... 0231162369760310004
Windows 下安装 Hispark Studio 即可使用,Hispark Studio 界面和使用方法和 VS Studio 基本一致,并且支持直接下载

【入门篇,点亮 LED】
W63 SDK 基于 RTOS,已经创建了一个 app_main 任务,可以直接在这里写亮灯的代码
也可以再创建一个任务用来点亮 LED
将 app_main 代码改为以下,就实现了一个简单的 RGB 三色灯闪烁
  1. #define BSP_LED_R  GPIO_07
  2. #define BSP_LED_G  GPIO_11
  3. #define BSP_LED_B  GPIO_10
  4. static void app_main(const void *unused)
  5. {
  6.     LOS_MEM_POOL_STATUS status;
  7.     UNUSED(unused);
  8.     (void)osDelay(100); // 100: 100tiks = 1s
  9.     systick_cali_xclk_bottom_half();
  10.     uapi_pin_set_mode(BSP_LED_R, HAL_PIO_FUNC_GPIO);
  11.     uapi_gpio_set_dir(BSP_LED_R, GPIO_DIRECTION_OUTPUT);
  12.     uapi_gpio_set_val(BSP_LED_R, GPIO_LEVEL_LOW);
  13.     uapi_pin_set_mode(BSP_LED_G, HAL_PIO_FUNC_GPIO);
  14.     uapi_gpio_set_dir(BSP_LED_G, GPIO_DIRECTION_OUTPUT);
  15.     uapi_gpio_set_val(BSP_LED_G, GPIO_LEVEL_LOW);
  16.     uapi_pin_set_mode(BSP_LED_B, HAL_PIO_FUNC_GPIO);
  17.     uapi_gpio_set_dir(BSP_LED_B, GPIO_DIRECTION_OUTPUT);
  18.     uapi_gpio_set_val(BSP_LED_B, GPIO_LEVEL_LOW);
  19.     while (1) {
  20.         uapi_gpio_toggle(BSP_LED_R);
  21.         (void)osDelay(50);
  22.         uapi_gpio_toggle(BSP_LED_G);
  23.         (void)osDelay(50);
  24.         uapi_gpio_toggle(BSP_LED_B);
  25.         (void)osDelay(50);
  26.         // (void)osDelay(APP_MAIN_DELAY_TIME);
  27.         LOS_MemInfoGet(m_aucSysMem0, &status);
  28.         PRINT("[SYS INFO] mem: used:%u, free:%u; log: drop/all[%u/%u], at_recv %u.
  29. ", status.uwTotalUsedSize,
  30.             status.uwTotalFreeSize, log_get_missed_messages_count(), log_get_all_messages_count(), g_at_uart_recv_cnt);
  31.     }
  32. }
视频效果如下:


亮灯

回帖(2)

gtbestom

2024-10-18 10:19:35

点亮 OLED 显示屏


开发板套件上 OLED 是通过 I2C 总线与 MCU 相连,引脚如下:


#define BSP_I2C_SDA  GPIO_15
#define BSP_I2C_SCL  GPIO_16

初始化这两个引脚,复用为 I2C 功能,代码如下:


static void app_i2c_init_pin(void)
{
    /* I2C pinmux. */
    uapi_pin_set_mode(BSP_I2C_SDA, PIN_MODE_2);
    uapi_pin_set_mode(BSP_I2C_SCL, PIN_MODE_2);
}

引脚初始化完,就可以调用初始化函数 uapi_i2c_master_init(I2C_BUS_1, 400000, 0x00);使能 I2C 功能了,SDK 里也提供了 I2C 读写接口,封装成单个寄存器写函数如下:


static void app_i2c_write_1byte(i2c_bus_t id, unsigned short addr, unsigned char reg, unsigned char dat)
{
   unsigned char buf[2];
   i2c_data_t datas = { 0 };
   datas.send_buf = (uint8_t *)buf;
   datas.send_len = 2;
   buf[0] = reg;
   buf[1] = dat;
   uapi_i2c_master_write(id, (uint16_t)addr, &datas);
}

接下来就可以调用寄存器写入,初始化显示屏和显示 UI


基础的显示接口可以参考官方例程:https://gitee.com/hihopeorg_group/near-link/blob/master/demo/hello_world_demo/oled_ssd1306.c


如果要实现更复杂的 UI 效果,可以申请一块 1K Byte 的内存充当显示缓存区,将要显示的内容写入缓存区后,再全部刷新到显示屏


申请内存可以直接定义一块 1K 的数组,也可以调用 HUAWEI LiteOS 申请内存接口或者使用第三方如正点原子的内存管理或自己编写内存管理


LiteOS 的内存申请接口如下:


/**
* @ingroup osal_addr
* @brief Alloc dynamic memory.
*
* @par Description:
* This API is used to alloc a memory block of which the size is specified.
*
* @param size [in] How many bytes of memory are required.
* @param osal_gfp_flag [in] The type of memory to alloc. This parameter is not used in liteos and freertos.
* In linux, it must include one of the following access modes: OSAL_GFP_ATOMIC, OSAL_GFP_DMA, OSAL_GFP_KERNEL.
* OSAL_GFP_ZERO can be bitwise-or'd in flags, Then, the memory is set to zero.
*
* @par Support System:
* linux liteos freertos.
*/

void *osal_kmalloc(unsigned long size, unsigned int osal_gfp_flag);

这样就可以再显示屏上实现一些复杂的画图,移动操作了,视频如下:


举报

gtbestom

2024-10-18 10:48:38
举报

更多回帖

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