芯查查logo
  • 数据服务
    1. 新产品
    2. 物料选型
    3. 查替代
    4. 丝印反查
    5. 查品牌
    6. PCN/PDN
    7. 查方案
    8. 查代理
    9. 数据合作
  • SaaS/方案
      SaaS产品
    1. 供应链波动监控
    2. 半导体产业链地图
    3. BOM管理
    4. 解决方案
    5. 汽车电子
    6. 政府机构
    7. 数据API
  • 商城
  • 行业资讯
    1. 资讯
    2. 直播
  • 论坛社区
    1. 论坛
    2. 学习
    3. 测评中心
    4. 活动中心
    5. 积分商城
  • 查一下
  • 开通会员
修充电器上瘾
萤火工场GD32VW553-IOT测评+2、BLE点灯

查了一下GD官方的同型号开发板,发现GD32VW553-IOT应该基于成本考虑做了很多简化:

1)USB只有取电功能,USB如果接个CH340支持UART,就会方便很多

2)若干引脚未引出,导致不能直接使用JLINK调试

3)boot0上拉到VCC的R4电阻未焊接导致必须做下小修复才能支持ISP下载

4)官方版主集成了GD Link,支持文件拖拽下载,和PICO烧录方式一致,真的很方便

5)GD32VW553-IOT上主控芯片是直接焊在板子上的,不是采用模组,应该也是基于成本考虑

总之,应该是为了节约成本,GD32VW553-IOT做了很多取舍。

但GD32VW553-IOT设计非常紧凑,颜值也相当能打。

 

下面开始点灯

GD32VW55x_RELEASE_V1.0.3中提供了蓝牙从机->串口透传应用,位于

GD32VW55x_RELEASE_V1.0.3\MSDK\examples\ble\peripheral\ble_app_uart

 

在本文之前,已有大佬对此应用进行了详细的介绍,本文在次应用基础上简单增加点灯代码,实现BLE遥控点灯功能。

 

 

void app_datatrans_srv_rx_callback(uint16_t data_len, uint8_t *p_data)

{

uint8_t *p_str = sys_malloc(data_len + 1);

 

if (p_str) {

app_print("datatrans srv receive data: \r\n");

memset(p_str, 0, data_len + 1);

memcpy(p_str, p_data, data_len);

app_print("%s\r\n", p_str);

 

//以下为增加代码在透传字符串包含“light on"时点灯,包含”light off"时灭灯

if(strstr((char*)p_str,"light on")){

gpio_bit_reset(GPIOA, GPIO_PIN_4);

}else if(strstr((char*)p_str,"light off"))

{

gpio_bit_set(GPIOA, GPIO_PIN_4);

}

//以上为增加代码

 

sys_mfree(p_str);

}

}

 

 

在main中增加对gpio的初始化:

 

int main(void)

{

sys_os_init();

platform_init();

 

//以下为增加代码

/* enable the LED clock */

rcu_periph_clock_enable(RCU_GPIOA);

/* condiv LED GPIO port */

gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_4 );

/* reset LED GPIO pin */

gpio_bit_reset(GPIOA, GPIO_PIN_4);

//以上为增加代码

 

 

app_uart_init();

ble_init();

sys_os_start();

 

for ( ; ; );

}

 

 

以上很简单就实现了BLE点灯,使用一下。

 

 

typedef enum
{
    BLE_GATT_SVC_DATATRANS_SERVICE = BLE_GATT_UUID_16_LSB(0x0101),  /* BLE datatrans service UUID */
    BLE_GATT_SVC_DATATRANS_RX_CHAR = BLE_GATT_UUID_16_LSB(0x0102),  /* BLE datatrans RX characteristic UUID */
    BLE_GATT_SVC_DATATRANS_TX_CHAR = BLE_GATT_UUID_16_LSB(0x0103),  /* BLE datatrans TX characteristic UUID */
} ble_datatrans_uuid_t;

3个UUID分别对应自定义服务名、1个负责处理TX的特征值和1个负责处理RX的特征值。

 

 

 

 

 

开发板测评 GD32VW553
版块: 萤火工场
前3天 15:42
  • 举报
😁😂😃😄😅😆😉😊😋😌😍😏😒😓😔😖😘😚😜😝😞😠😡😢😣😤😥😨😩😪😫😭😰😱😲😳😵😷😸😹😺😻😼😽😾😿🙀🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎🙏✂✅✈✉✊✋✌✏✒✔✖✨✳✴❄❇❌❎❓❔❕❗❤➕➖➗➡➰🚀🚃🚄🚅🚇🚉🚌🚏🚑🚒🚓🚕🚗🚙🚚🚢🚤🚥🚧🚨🚩🚪🚫🚬🚭🚲🚶🚹🚺🚻🚼🚽🚾🛀Ⓜ🅰🅱🅾🅿🆎🆑🆒🆓🆔🆕
@好友

全部评论

加载中
游客登录通知
已选择 0 人
自定义圈子
移动
发布帖子
发布动态
发布问答
最新帖子
萤火工场GD32VW553-IOT测评+蓝牙串口透传树莓派pico 2测评 - 初体验【工程师经验】+ 飞线【开源】zvs142857 2.1A,3A快充 充电宝迷你UC3842 开关电源优化全解析:攻克常见难题,提升性能
热门版块
查看更多
电子DIY
维修技术
电子元器件
汽车电子工程师论坛
工业电子专区
新手入门指南
单片机/MCU论坛
PCB设计
开源项目
萤火工场

10

收藏

分享

微信扫码
分享给好友

评论