最近,收获了一块NUCLEO-F767ZI 的开发板,用了好长时间的STM32单片机,这还是第一次使用官方的开发板,不免有些激动,所以在这里将学习的过程记录下来,一方面是方便自己的学习,还有就是和大家一起分享。
首先,贴两张图片,白色的板子,十分干净整洁:
接着,使用一根USB线通电,运行的是官方的初始Demo,板载的三个LED灯(红绿蓝)会结合用户按键按照不同的频率组合来闪烁。
从ST中文网站 (www.stmcu.com.cn )上下载了开发板的PCB工程,发现这是个四层板,不仅走线规范,而且非常美观:
开发板的功能描述:
•控制器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