2498|1

6107

帖子

4

TA的资源

版主

楼主
 

【GD32-colibri-F350RX】+LED or 按键 or UART打印测试 [复制链接]

本帖最后由 damiaa 于 2018-9-15 09:39 编辑

【GD32-colibri-F350RX】+LED or 按键 or UART打印测试

1,从GD官网下载GD32F3x0_Firmware_Library_V1.0.0并解压
2,(目前解压到E盘)E:\gd350\GD32F3x0_Firmware_Library_V1.0.0_Colibri-F350_\Projects
中建一个目录ledflash
拷贝Template目录以下文件到这个目录如下

配置好文件路径,工程中有的文件要删除后加入(都是路径问题),试下编译通过就OK。
3,记得调试用CMSID-DAP这个调试器选项 。
4,修改LED1,LED2,LED3 IO口(库和板子对应不上)
#define LEDn                             3U

#define LED1_PIN                         GPIO_PIN_8
#define LED1_GPIO_PORT                   GPIOB
#define LED1_GPIO_CLK                    RCU_GPIOB

#define LED2_PIN                         GPIO_PIN_9
#define LED2_GPIO_PORT                   GPIOB
#define LED2_GPIO_CLK                    RCU_GPIOB

#define LED3_PIN                         GPIO_PIN_10
#define LED3_GPIO_PORT                   GPIOB
#define LED3_GPIO_CLK                    RCU_GPIOB

这里LED4可以保留,这样就不会编译出问题,否则还要删除与LED4有关东西。
typedef enum
{
    LED1 = 0,
    LED2 = 1,
    LED3 = 2,
    LED4 = 3
}led_typedef_enum;

5,修改按键IO口(库和板子对应不上)
#define KEYn                             2U

/* wakeup push-button    B2  */
#define WAKEUP_KEY_PIN                   GPIO_PIN_0
#define WAKEUP_KEY_GPIO_PORT             GPIOA
#define WAKEUP_KEY_GPIO_CLK              RCU_GPIOA
#define WAKEUP_KEY_EXTI_LINE             EXTI_0
#define WAKEUP_KEY_EXTI_PORT_SOURCE      EXTI_SOURCE_GPIOA
#define WAKEUP_KEY_EXTI_PIN_SOURCE       EXTI_SOURCE_PIN0
#define WAKEUP_KEY_EXTI_IRQn             EXTI0_1_IRQn

/* tamper push-button   B3 */
#define TAMPER_KEY_PIN                   GPIO_PIN_7
#define TAMPER_KEY_GPIO_PORT             GPIOB
#define TAMPER_KEY_GPIO_CLK              RCU_GPIOB
#define TAMPER_KEY_EXTI_LINE             EXTI_7
#define TAMPER_KEY_EXTI_PORT_SOURCE      EXTI_SOURCE_GPIOB
#define TAMPER_KEY_EXTI_PIN_SOURCE       EXTI_SOURCE_PIN7
#define TAMPER_KEY_EXTI_IRQn             EXTI4_15_IRQn

KEY_USER可以保留,这样就不会编译出问题,否则还要删除与KEY_USER有关东西。
typedef enum
{
    KEY_WAKEUP = 0,
    KEY_TAMPER = 1,
    KEY_USER   = 2   
}key_typedef_enum;

6,修改串口IO口(库和板子对应不上)并把串口设置成UART1
#define COMn                             1U
/* definition for COM1, connected to USART1 */
#define EVAL_COM1                        USART1
#define EVAL_COM1_CLK                    RCU_USART1
#define EVAL_COM1_TX_PIN                 GPIO_PIN_2
#define EVAL_COM1_RX_PIN                 GPIO_PIN_3

#define EVAL_COM_GPIO_PORT               GPIOA
#define EVAL_COM_GPIO_CLK                RCU_GPIOA
#define EVAL_COM_AF                      GPIO_AF_1

7,修改中断gd32f3x0_it.c
void SysTick_Handler(void)
{
//    led_spark(); 为了它不干扰主程序的LED,便于观看,如果你要是TICK中断点LED可以用这里。
    delay_decrement();
}

8,修改主程序中为:
int main(void)
{
    /* configure systick */
    systick_config();
    /* initilize the LEDs, USART and key */
    gd_eval_led_init(LED1);
    gd_eval_led_init(LED2);
    gd_eval_led_init(LED3);
    gd_eval_com_init(EVAL_COM1);
    gd_eval_key_init(KEY_WAKEUP, KEY_MODE_GPIO);

    /* print out the clock frequency of system, AHB, APB1 and APB2 */
    printf("\r\nCK_SYS is %d", rcu_clock_freq_get(CK_SYS));
    printf("\r\nCK_AHB is %d", rcu_clock_freq_get(CK_AHB));
    printf("\r\nCK_APB1 is %d", rcu_clock_freq_get(CK_APB1));
    printf("\r\nCK_APB2 is %d", rcu_clock_freq_get(CK_APB2));

    rcu_ckout_config(RCU_CKOUTSRC_CKSYS, RCU_CKOUT_DIV1);
    while (1)
     {
           gd_eval_led_toggle(LED1); //led1 flash
                        
           if(RESET == gd_eval_key_state_get(KEY_WAKEUP)) //B2
           {
            printf("\r\nled2 on!!!");
            gd_eval_led_on(LED2);
            delay_1ms(100);
            gd_eval_led_off(LED2);
            printf("\r\nled2 off!!!");
        }
        if(RESET == gd_eval_key_state_get(KEY_TAMPER))//B3
        {
           printf("\r\nled3 on!!!");
            gd_eval_led_on(LED2);
            delay_1ms(100);
            gd_eval_led_off(LED3);
            printf("\r\nled3 off!!!");
        }
    }
}

7,打开调试助手,设置对应串口和设置115200,N,8,1,打开串口。
8,编译运行
9,按下中间B2按键,按下B3按键,查看结果。


GD32F3x0_Firmware_Library_V1.0.0_Colibri-F350_.zip (4.23 MB, 下载次数: 19)
此帖出自GD32 MCU论坛

最新回复

先做个标记了  详情 回复 发表于 2018-9-14 18:14
点赞 关注(2)
 

回复
举报

1903

帖子

0

TA的资源

版主

沙发
 
先做个标记了
此帖出自GD32 MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表