欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【NUCLEO_F767ZI开发板系列】一、开箱测试。

程序员文章站 2022-06-09 16:34:41
...

最近,收获了一块NUCLEO-F767ZI 的开发板,用了好长时间的STM32单片机,这还是第一次使用官方的开发板,不免有些激动,所以在这里将学习的过程记录下来,一方面是方便自己的学习,还有就是和大家一起分享。

首先,贴两张图片,白色的板子,十分干净整洁:

【NUCLEO_F767ZI开发板系列】一、开箱测试。

接着,使用一根USB线通电,运行的是官方的初始Demo,板载的三个LED灯(红绿蓝)会结合用户按键按照不同的频率组合来闪烁。

【NUCLEO_F767ZI开发板系列】一、开箱测试。

从ST中文网站 (www.stmcu.com.cn )上下载了开发板的PCB工程,发现这是个四层板,不仅走线规范,而且非常美观:

【NUCLEO_F767ZI开发板系列】一、开箱测试。

开发板的功能描述:

•控制器STM32F767ZIT6,Cortex-M7内核。

•扩展接口,ST Zio和ST morpho。

•支持ARM®mbed™。

•板载ST-LINK / V2-1调试器/编程,虚拟COM端口、大容量存储器和调试端口。

•提供Micro-AB接口可实现USB功能。

•支持IEEE-802.3-2002标准的以太网接口。

•三个用户LED(红绿蓝)。

•USER和RESET按键。


STM32F767ZIT6的性能参数:

  • LQFP144封装
  • 32位ARM Cortex-M7+FPU+Chrom-ART加速器
  • 最大216MHzCPU主频
  • 供电电压1.7V~3.6V
  • 2MB Flash,512KB SRAM
  • 168个具有外部中断功能的GPIO
  • 3路24通道12位ADC
  • 2路12位ADC
  • 8路USART/UART
  • 4路I2C
  • 6路SPI
  • 2路高级控制定时器
  • 1路低功耗定时器
  • 12路通用定时器
  • 2路开门狗定时器
  • 2路CAN 2.0B接口
  • 2路SAI
  • USB 2.0 OTG HS
  • USB 2.0 OTG FS
  • Ethernet


官方例程下载:

首先下载ST的软件CubeMX,再安装CubeF7最新的HAL库,在HAl库里的Projects\STM32F767ZI-Nucleo文件夹下有一个Demonstrations,使用MDK打开编译,使用板载的ST-Link下载到开发板上,可以看到中间的LED闪烁,按下按键,闪烁加快,如果有配套的TFT-LCD显示屏,会有显示信息。(而我没有)

    /** 
      * @brief  Blinks LED2 with two frequencies depending on User press button. 
      * @param  None 
      * @retval None 
      */  
    static void LED2_Blink(void)  
    {  
      /* Configure LED2 on Nucleo */  
      BSP_LED_Init(LED2);  
      
      /* Configure the User Button in EXTI Mode */  
      BSP_PB_Init(BUTTON_USER, BUTTON_MODE_EXTI);  
        
      /* Initiate BlinkSpeed variable */   
      BlinkSpeed = 0;    
        
      /* Infinite loop */  
      while(1)  
      {  
        /* Test on blink speed */  
        if(BlinkSpeed == 0)  
        {  
          BSP_LED_Toggle(LED2);  
          /* Wait for 500ms */        
          HAL_Delay(500);        
        }        
        else if(BlinkSpeed == 1)  
        {  
          BSP_LED_Toggle(LED2);  
          /* Wait for 100ms */  
          HAL_Delay(100);   
        }  
        else if(BlinkSpeed == 2)  
        {  
          BSP_LED_Toggle(LED2);      
          /* Wait for 50ms */  
          HAL_Delay(50);    
        }  
      }  
    }  

上面的代码就是控制LED以不同速率闪烁的程序,按键触发外部中断,修改BlinkSpeed的值。

好了,今天的测试就到这里,后面会使用CubeMX、HAl库和LL库来编写程序。

关于NUCLEO-F767开发板的一些具体信息,大家如果想了解更多,可以去官方网站下载手册,

也可以参考 http://www.21ic.com/evm/evaluate/MCU/201606/679904.htm