[STM32F7] NUCLEO-F722ZE之LED灯同步闪烁效果制作

[复制链接]
1370|6
 楼主| jinglixixi 发表于 2017-3-10 14:42 | 显示全部楼层 |阅读模式
    在官方提供的GPIO例程中,直接给出了一个基于中断方式的GPIO例程,且进行了多层的封装,这导致很难直接模仿其设计相应功能的GPIO程序,为此在这里以一个LED同步闪动的示例给出直观的使用GPIO口示例以便参考使用。随后将基于该程序扩展出一个驱动OLED屏显示的程序,以检测高主频下对OLED屏显示的影响。
相关的程序代码如下:
  1. void LED_Init()
  2. {
  3.   GPIO_InitTypeDef  GPIO_InitStruct;
  4.   /* Enable the GPIO_LED Clock */
  5.   //LEDx_GPIO_CLK_ENABLE(Led);
  6.   __HAL_RCC_GPIOB_CLK_ENABLE();
  7.   /* Configure the GPIO_LED pin */
  8.   GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_7|GPIO_PIN_14;
  9.   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  10.   GPIO_InitStruct.Pull = GPIO_NOPULL;
  11.   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  12.   HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  13.   HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0|GPIO_PIN_7|GPIO_PIN_14,GPIO_PIN_RESET);
  14. }
  15. void LED_Toggle()
  16. {
  17.   HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_0|GPIO_PIN_7|GPIO_PIN_14);
  18. }

  19. int main(void)
  20. {
  21.   //LED1~LED3  同步闪动效果
  22.   /* Enable the CPU Cache */
  23.   CPU_CACHE_Enable();

  24.   HAL_Init();
  25.   /* Configure the system clock to 216 MHz */
  26.   SystemClock_Config();
  27.   /* -1- Initialize LEDs mounted on STM32F722ZE-Nucleo board */
  28.   //BSP_LED_Init(LED1);
  29.    LED_Init();
  30.    /* Infinite loop */
  31.   while (1)
  32.   {
  33. LED_Toggle();
  34. HAL_Delay(1000);
  35.   }
  36. }


打赏榜单

21ic小管家 打赏了 8.88 元 2017-04-10
理由:NUCLEO-F722ZE评测领赏

mmuuss586 发表于 2017-3-10 17:57 | 显示全部楼层
谢谢分享;
 楼主| jinglixixi 发表于 2017-3-11 17:16 | 显示全部楼层

多谢支持!
 楼主| jinglixixi 发表于 2017-4-10 18:18 | 显示全部楼层
感谢小管家打赏!
hellosdc 发表于 2017-4-10 21:51 | 显示全部楼层
来个闪烁的效果。
hellosdc 发表于 2017-4-10 21:52 | 显示全部楼层
NUCLEO-F722ZE可以做个LWip试试。
 楼主| jinglixixi 发表于 2017-4-11 10:26 | 显示全部楼层
hellosdc 发表于 2017-4-10 21:52
NUCLEO-F722ZE可以做个LWip试试。

有时间试试!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

521

主题

2949

帖子

39

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