芯查查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. 积分商城
  • 查一下
  • 开通会员
聪聪哥哥
【GD32307E-START开发板 开箱图片测评1】

前言:

        系列器件是基于 M4 处理器的32位通用微控制器。该处理器包括三条AHB   总线分别称为  D-code总线、I-code 总线和系统总线。M4处理器的所有存储访问,根据不同的目的和目标存储空间,都会在这三条总线上执行。存储器的组织采用了哈佛结构,预先定义的存储器映射和高达    的存储空间,充分保证了系统的灵活性和可扩展性。

开发板板载了一个GD32F103C8的芯片,用于给板子下载程序使用。从外观看板子的集成度还是比较高的,将所有的IO口引出,方便用户调试程序。

板载了一个CH340(MSOP10封装)芯片,方便用户直接连接到电脑查看串口发送的数据,这个还是比较方便的,不需要额外的使用USB转TTL模块了。

板载两路按键的位置,其中的一路还是软件复位功能,只有一路按键是提供给用户操作的。BOOT0和BOOT1已经用跳线帽弄好,不过有其他需求的话我们把该引脚的电平接高或者是接低,以满足我们的要求。

 

一:keil5 开发环境搭建:

官网下载驱动包网址:                                               

也可以直接在芯查查上面下载资料,主要是将pack包安装,否则编译环境编译代码编译不过去。

二:软件测试

2.1打开在网上下载的例程,

该处代码主要是实现功能是按下用户按键,完成LED的亮起和熄灭。

这里需要注意一下,需要选择GD32对应的下载算法,一开始安装的时候由于我这电脑上面有keil4的软件,安装编译环境的时候将下载算法安装到keil4中去了,导致我一开始下载程序的时候有问题,后来才找到问题。

 

代码分析:

初始化使用key和led的io口,将按键配置成输入模式,LED灯设置成输出模式

 void gd_eval_key_init(key_typedef_enum key_num, keymode_typedef_enum key_mode)
{
   /* enable the key clock */
   rcu_periph_clock_enable(KEY_CLK[key_num]);
   rcu_periph_clock_enable(RCU_AF);

   /* condiv button pin as input */
   gpio_init(KEY_PORT[key_num], GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, KEY_PIN[key_num]);

   if (key_mode == KEY_MODE_EXTI) {
       /* enable and set key EXTI interrupt to the lowest priority */
       nvic_irq_enable(KEY_IRQn[key_num], 2U, 0U);

       /* connect key EXTI line to key GPIO pin */
       gpio_exti_source_select(KEY_PORT_SOURCE[key_num], KEY_PIN_SOURCE[key_num]);

       /* condiv key EXTI line */
       exti_init(KEY_EXTI_LINE[key_num], EXTI_INTERRUPT, EXTI_TRIG_FALLING);
       exti_interrupt_flag_clear(KEY_EXTI_LINE[key_num]);
   }
}

 

void  gd_eval_led_init (led_typedef_enum lednum)
{
   /* enable the led clock */
   rcu_periph_clock_enable(GPIO_CLK[lednum]);
   /* condiv led GPIO port */ 
   gpio_init(GPIO_PORT[lednum], GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,GPIO_PIN[lednum]);

   GPIO_BC(GPIO_PORT[lednum]) = GPIO_PIN[lednum];
}

 

实现代码,在中断函数内完成对按键的扫描和指示灯电平的翻转。

void EXTI0_IRQHandler(void)
{
   if(RESET != exti_interrupt_flag_get(EXTI_0)){
       gd_eval_led_toggle(LED1);
   }
   
   exti_interrupt_flag_clear(EXTI_0);
}

实物图如下:

个人建议:建议以后生产的开发板使用type-c接口,现在这种USB接口比较少了,调试起来有些不太方法,在这就是在板子上面增加几个外设芯片;比如说24C02(IIC),W25Q64(SPI)等等,这样更有助于使用者学习,

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

全部评论

加载中
游客登录通知
已选择 0 人
自定义圈子
移动
发布帖子
发布动态
发布问答
最新帖子
【星允派 NEBULA PI】09:USB虚拟CDC与串口1【星允派 NEBULA PI】15:高级定时器输出PWM【星允派 NEBULA PI】14:使用DMA方式读取ADC【有奖话题35期】明明硬件比软件难,但为什么待遇还不如软件?【星允派 NEBULA PI】12:添加时间任务调度器
热门版块
查看更多
问型号
问技术
问行情
汽车电子工程师论坛
工业电子专区
新手入门指南
单片机/MCU论坛
PCB设计
开源项目
每日打卡

3

收藏

分享

微信扫码
分享给好友

评论