【GD32评测】+ 3、arduino扩展板驱动LED

[复制链接]
1725|25
 楼主| tlled 发表于 2020-5-6 08:40 | 显示全部楼层 |阅读模式
     为了测试方便,设计了Arduino扩展接口,方便学习使用。

    一、扩展板

     扩展了常用的IIC,SPI,UART,RS485,CAN,ADC和并口LCD等
    1.jpg
    2.jpg
    和GD32E231开发板的连接
    3.jpg
    整体图片,有些器件还没有焊接完成,大部分都有了。
    4.jpg

    二、测试LED灯

    使用扩展板点亮LED灯。
   2.1、电路图
    01.png
    02.png
    03.png
     对用开发板的接口
    04.png
    三、驱动程序

    3.1、驱动主要部分程序

  1. void LED_Init(void)
  2. {
  3.         /* enable the LED1 GPIO clock */
  4.     rcu_periph_clock_enable(RCU_GPIOA);
  5.                 rcu_periph_clock_enable(RCU_GPIOB);
  6.     /* configure LED1 GPIO port */
  7.     gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_11|GPIO_PIN_12);
  8.     gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_2|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_11|GPIO_PIN_12);
  9.        
  10.                 gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLUP, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|
  11.                                                                                                                                                                                                                                                  GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_12);
  12.        
  13.                 gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|
  14.                                                                                                                                                                                                                                                          GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_12);

  15.     /* reset LED1 GPIO pin */
  16.     gpio_bit_reset(GPIOA,GPIO_PIN_7);
  17.                 gpio_bit_reset(GPIOA,GPIO_PIN_2);                //A2=0
  18.                 gpio_bit_reset(GPIOA,GPIO_PIN_1);                //A0=0
  19.                 gpio_bit_reset(GPIOB,GPIO_PIN_12);                //PB12=0
  20. }

  21. void write_busdat(uint8_t bus)
  22. {
  23.         uint16_t gb_sta;
  24.         gb_sta=gpio_output_port_get(GPIOB);
  25.         gb_sta=gb_sta&(~0x1fb);
  26.         gb_sta=gb_sta|((bus&0x3f)<<3)|(bus>>7)|((bus>>5)&0x02);
  27.         gpio_port_write(GPIOB, gb_sta);
  28. }

  29. void led_drv(uint8_t ld)
  30. {
  31.         write_busdat(ld);
  32.         led_ctl_l();
  33.         led_ctl_h();
  34. }


  35. void led_test(void)
  36. {
  37.         delay_1ms(100);
  38.         led_drv(~0x01);
  39.         delay_1ms(100);
  40.         led_drv(~0x02);
  41.         delay_1ms(100);
  42.         led_drv(~0x04);
  43.         delay_1ms(100);
  44.         led_drv(~0x08);
  45. }

    四、测试结果

   LED灯轮询点亮
    100.gif   
coshi 发表于 2020-6-1 18:06 | 显示全部楼层
非常感谢楼主分享
zljiu 发表于 2020-6-1 18:06 | 显示全部楼层
板子很漂亮啊
wiba 发表于 2020-6-1 18:06 | 显示全部楼层
调试过程顺利吗
gygp 发表于 2020-9-5 14:31 | 显示全部楼层
           
chenci2013 发表于 2020-9-5 14:31 | 显示全部楼层
有工程文件吗   
biechedan 发表于 2020-9-5 14:32 | 显示全部楼层
配套的板子吗?      
isseed 发表于 2020-9-5 14:33 | 显示全部楼层
         
xietingfeng 发表于 2020-9-5 14:33 | 显示全部楼层
这个性能怎么样      
suzhanhua 发表于 2020-9-5 14:34 | 显示全部楼层
GD32也可以使用吗   
mituzu 发表于 2020-9-5 14:34 | 显示全部楼层
方便学习使用。   
mituzu 发表于 2020-9-5 14:34 | 显示全部楼层
方便学习使用。   
hellosdc 发表于 2020-9-5 14:34 | 显示全部楼层
这个板子在哪里购买的呢  
uiint 发表于 2020-9-5 14:35 | 显示全部楼层
Arduino扩展接口?
chenci2013 发表于 2020-9-5 14:35 | 显示全部楼层
看着不错呢。      
gygp 发表于 2020-9-5 14:35 | 显示全部楼层
谢谢楼主分享的资料了。  
suzhanhua 发表于 2020-9-5 14:35 | 显示全部楼层
GD32也兼容吗   
xietingfeng 发表于 2020-9-5 14:35 | 显示全部楼层
常用的IIC,SPI,UART,RS485,CAN,ADC和并口LCD都有了。   
mituzu 发表于 2020-9-5 14:35 | 显示全部楼层
测试方便多了。         
isseed 发表于 2020-9-5 14:35 | 显示全部楼层
谢谢楼主分享了。      
您需要登录后才可以回帖 登录 | 注册

本版积分规则

132

主题

701

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部