本帖最后由 wambob 于 2016-11-3 13:48 编辑
一、安装KEIL包
下载的时候一定要保证磁盘有足够的空间,几年前的电脑500G硬盘都快满了,快完成的时候提示空间不足,是多么郁闷。无奈只有乾坤大挪移或者删掉一些了。这个KEIL支持包快600M了,导入后的大小不到1.8G。
二、包的结构 包导入后的路径:\Keil_v5\ARM\Pack\Keil\STM32F7xx_DFP\2.7.0
打开发布说明HTML文档了解库的结构,使用的是STM32CubeF7 Firmware Package。
文档文件夹里有参考手册,HAL驱动手册、数据手册等。
工程文件夹下的STM32F767ZI-Nucleo里面有工程模板、例程等。
三、Nucleo-144 结构
通过用户手册可以快速熟悉Nucleo-144硬件布局
nucleo-144特性:
1.板载了LQFP144封装的基于ARM® 32-bit Cortex®-M7 内核的微处理器STM32F767ZI
2.两种扩展资源 ST Ziol连接器包括(Arduino™ Uno Revision 3连接(A0 to A5, D0 to D15)和额外的信号接口(A6 to A8, D16 to D72))和 扩展接口(引出所有STM32 I/O)
3. ARM® mbed™使能(到目前ARMmebd上还没更新)
4. 板载带有SWD连接的 ST-LINK/V2-1 调试/编程器 通过选择模式开关可以独立使用ST-LINK/V2-1 和USB再枚举能力支持三种不同的接口(虚拟COM口、大容量存 储、调试端口)
5.灵活的板上电源 ST-LINK/V2-1 USB 提供5V; ST Zio 或 ST morpho连接器提供3.3 V and 7 - 12 V ;ST morpho连接器提供 5V
6.带Micro-AB 连接器的全速设备和USB OTG
7.IEEE-802.3-2002 标准的以太网连接器
8.3个用户LEDs
9.2个按钮(用户和复位)
10.LSE晶振 (32.768 KHz晶体振荡器)
11.支持HAL库的广泛免费软件包括多种软件例程
12.支持广泛的集成开发环境(IAR™, Keil®, GCC-based IDEs)
四、微处理器STM32F767ZI
• ARM® 32-bit Cortex®-M7 内核 带有DPFPU、ART Accelerator™和L1缓存(16KBI/D缓存)、允许零等待状态执行无论是从嵌入式闪存还是外部存储器来执行代码、高达 216 MHz, MPU, 462 DMIPS/2.14 DMIPS/MHz (Dhrystone 2.1), 和 DSP指令。
• 面向内核、外设和存储器互连的AXI和多AHB总线矩阵
• 高达16 KB + 16KB I-cache和D-cache
• 最大2 MB嵌入式闪存, 部分型号支持同时读写 • 两个通用DMA控制器和用于以太网、高速USB OTG 接口和Chrom-ART图形加速器的三个专用DMA • 外设速度独立于CPU速度(双时钟支持),使得系统时钟变化不影响外设工作 • 更多外设,例如带有SPDIF输出支持的两个串行音频接口(SAI),带有SPDIF输入支持的三个I²S半双工传输,带有专用供电的两个USB OTG和双模QuadSPI Flash • 分散结构的大容量SRAM • 512 KB通用数据存储器,其中包括128 KB紧密耦合数据存储器(DTCM),用于时间关键数据处理(栈、堆......) • 16 KB的紧密耦合指令存储器(ITCM),用于时间关键程序 • 4KB的备份SRAM,用于最低功耗模式下保存数据 能效 • 1.8 V下高达7 CoreMark / mW • 在所有寄存器和SRAM内容都能继续保持的停止模式下,具有100µA的典型电流消耗 兼容性 • Cortex-M7向下兼容Cortex-M4指令集 • STM32F7系列单片机与STM32F4系列引脚兼容 五、STM32F7的地位 STM32F7 2MB Flash版本现已量产,更高性能,更高集成度,更为强大的图形处理功能!
六,开发板上电 1.上电后红的LED快闪, 2. 按用户按钮一次,蓝色的LED闪,较红色的慢 3.再按一次,黄色的LED闪,较蓝色的慢。 4.再按循环 七.运行串口例程 打开\Projects\STM32F767ZI-Nucleo\Examples\UART\UART_Printf\MDK-ARM,编译,导入的包都是只读的,先去掉只读属性,编译后,错误警告0,设置好debug下载。 打开串口默认设置后复位,不料输出乱码。只好看代码了 - <font face="新宋体" size="3"> UartHandle.Init.BaudRate = 9600;
- UartHandle.Init.WordLength = UART_WORDLENGTH_8B;
- UartHandle.Init.StopBits = UART_STOPBITS_1;
- UartHandle.Init.Parity = UART_PARITY_ODD;
- UartHandle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- UartHandle.Init.Mode = UART_MODE_TX_RX;
- UartHandle.Init.OverSampling = UART_OVERSAMPLING_16;</font>
复制代码 在记事本文档里也有一段说明
串口配置如下: -波特率 9600 baud
- 字长 = 8 Bits (7数据位+ 1 偶校验位)
- 1个停止位
- 奇偶校验
- 硬件流控失能
- 收发使能
原来问题就出现在字长上,把数据位改为7后,串口打印正常了。
|