用GD32F427开发板做一个会唱歌跳舞的机器,分步来做,先做开始部分。
接1号舵机(GPIOC, GPIO_PIN_7);
接MP3模块(GPIOC, GPIO_PIN_10);
接2号舵机(GPIOC, GPIO_PIN_11);
接3号舵机(GPIOC, GPIO_PIN_1);
接4号舵机(GPIOC, GPIO_PIN_3);
#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);
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);
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);
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);
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);
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);
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);
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);
delay_1ms(1);
gpio_bit_reset(GPIOC, GPIO_PIN_1);
delay_1ms(19);
}
}
int main(void)
{
systick_config();
rcu_periph_clock_enable(RCU_GPIOC);
rcu_periph_clock_enable(RCU_GPIOA);
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);
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) {
if(RESET == gpio_input_bit_get(GPIOA, GPIO_PIN_0))
{
delay_1ms(100);
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();
}
}
}
}
原作者:兆易创新GD32 MCU 还没吃饭