还没吃饭中志愿者 · 2022年12月09日 · 河南

GD32F427开发板试用+唱歌跳舞主控2搭建实物连线,制作试验品

接上一篇\<GD32F427V开发板试用+唱歌跳舞主控1> 此篇为上一篇的实物连线,开始制作试验品,百忙之中挤出时间速度制作试验品:

下方为速度简易试验品调试

视频:

https://www.bilibili.com/vide...

设备调试中:

https://www.bilibili.com/vide...

下方为程序代码:

#include "gd32f4xx.h"
#include "gd32f427v_start.h"
#include "systick.h"
#include <stdio.h>

void tiaowu()  //开始跳舞
    {
                  for(int i=0;i<30;i++)

                   {    

                     gpio_bit_set(GPIOC, GPIO_PIN_7);//1开始跳舞
                     delay_1ms(1);
                     gpio_bit_reset(GPIOC, GPIO_PIN_7);
                     delay_1ms(19);
                    
                     }        
                                    
                   for(int i=0;i<30;i++)

                      {                                 
                     gpio_bit_set(GPIOC, GPIO_PIN_11);//2开始跳舞
                     delay_1ms(2);
                     gpio_bit_reset(GPIOC, GPIO_PIN_11);
                     delay_1ms(18);
                                     
                     }        
                              
                    for(int i=0;i<30;i++)

                       {    

                     gpio_bit_set(GPIOC, GPIO_PIN_3);//3开始跳舞
                     delay_1ms(1);
                     gpio_bit_reset(GPIOC, GPIO_PIN_3);
                     delay_1ms(19);
                    
                     }    
                  
                   for(int i=0;i<30;i++)

                      {                                 
                     gpio_bit_set(GPIOC, GPIO_PIN_1);//4开始跳舞
                     delay_1ms(2);
                     gpio_bit_reset(GPIOC, GPIO_PIN_1);
                     delay_1ms(18);
                                     
                     }    

                 for(int i=0;i<30;i++)

                       {    

                      gpio_bit_set(GPIOC, GPIO_PIN_7);//1开始跳舞第二组动作
                     delay_1ms(2);
                     gpio_bit_reset(GPIOC, GPIO_PIN_7);
                     delay_1ms(18);
                    
                     }        
            
                   for(int i=0;i<30;i++)

                      {                                 
                        gpio_bit_set(GPIOC, GPIO_PIN_11);//2开始跳舞第二组动作
                     delay_1ms(1);
                     gpio_bit_reset(GPIOC, GPIO_PIN_11);
                     delay_1ms(19);
                                     
                     }                

                    for(int i=0;i<30;i++)

                       {
                     gpio_bit_set(GPIOC, GPIO_PIN_3);//3开始跳舞第二组动作
                     delay_1ms(2);
                     gpio_bit_reset(GPIOC, GPIO_PIN_3);
                     delay_1ms(18);
                    
                     }                                
                      for(int i=0;i<30;i++)

                      {                                 
                        gpio_bit_set(GPIOC, GPIO_PIN_1);//4开始跳舞第二组动作
                     delay_1ms(1);
                     gpio_bit_reset(GPIOC, GPIO_PIN_1);
                     delay_1ms(19);                                    
                     }                
 }        
    
int main(void)
{
    /* configure systick */
    systick_config();

    /* enable the  GPIO clock */
    rcu_periph_clock_enable(RCU_GPIOC);

    /* configure GPIO port */
     rcu_periph_clock_enable(RCU_GPIOA);

    /* configure key pin as input */
    gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_0);
    
    gpio_mode_set(GPIOC, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_ALL);
    
    gpio_output_options_set(GPIOC, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_ALL);
   
       /* reset GPIO pin */
    gpio_bit_reset(GPIOC, GPIO_PIN_7);

    gpio_bit_set(GPIOC, GPIO_PIN_10);
    
    gpio_bit_reset(GPIOC, GPIO_PIN_11);
        
    gpio_bit_reset(GPIOC, GPIO_PIN_1);
        
    gpio_bit_reset(GPIOC, GPIO_PIN_3);
        
    while(1) {
    
              /* check whether the key is pressed */
        if(RESET == gpio_input_bit_get(GPIOA, GPIO_PIN_0))
                    {
            delay_1ms(100); //防抖动设置

            /* check whether the key is pressed */
            if(RESET == gpio_input_bit_get(GPIOA, GPIO_PIN_0))
                            {
                
                             gpio_bit_reset(GPIOC, GPIO_PIN_10); //音乐播放
                                
                            for(int i=0;i<30;i++)tiaowu();//开始跳30组舞蹈
              }       
                                         
         }        
    }        
   
}

基本功能实现,GD32F427V的上手开发非常快,支持国产,单人抽空搞搞就能试验成功,具有现实可用性,白天忙了一天,下午才开始GD32F427V的上手开发,这会儿搞定试验品,现在已是凌晨两点,太累了需要休息一下。

推荐阅读
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息