logo资料库

HAL库用户手册(Open103Z-HAL-Libraries-UserManual).pdf

第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
资料共16页,剩余部分请下载后查看
程序说明
关于STM32CubeMx
代码编译环境
目录
GPIO
EXTI
TIM
PWM
USART
USART_DMA
USART_IT
USART_printf
ADC_DMA
DAC
I2C
SPI
CAN
DS18B20
RTC
MCU_Temperature
IWDG
WWDG
CRC
SDIO
FATFS
FSMC
LCD_Display
LCD_Touch
USB_FS
CDC_Standalone
HID_Standalone
MSC_Standalone
FreeRTOS
uCOS_III
Open103Z 示例程序(基于 HAL 库)说明 Open103Z 示例程序(基于 HAL 库)说明 程 序 说 明 关 于 STM32CubeMx 通过 STM32CubeMX 生成的基于 HAL 库的程序源代码,相较于经典库的代码而言,更加合理和清 晰。STM32CubeMX 配置界面是图形化的,参数设置相比于直接修改源代码更为直观。 但是,用户对所需资源进行配置之后,经由 STM32CubeMX 生成的代码并不是直接可用,还需要 在/* USER CODE BEGIN */和/* USER CODE END */之间中加入相应的逻辑。 每次在 STM32CubeMX 对程序的配置进行修改之后,生成的新代码会覆盖旧的代码。但是用户写 在/* USER CODE BEGIN */和/* USER CODE END */之间的代码会得到保留。 代 码 编 译 环 境 目前(2016 年 12 月)STM32CubeMX 可以根据 IDE 生成 EWARM / MDK-ARM / TrueSTUDIO / SW4STM32 等工程。这可以通过 Project  Settings  Toolchain / IDE 进行设置。 我们提供的示例程序都是通过 MDK-ARM(Keil 5)进行编译,并且验证通过。如果打算直接使用 MDK-ARM 工程,那么电脑必须安装 Keil 5(或以上)。连接好下载器之后,打开 Keil,点击的 Build 编译工程,然后点击 Download 按钮,就可以把编译好的程序写入到芯片。下面所有的示例程序 使用过程的说明,均不会对开发环境配置和程序下载进行赘述。如有需要,请参阅相关手册。 版本:V1.2.1,日期:2017 年 2 月 21 日 1
Open103Z 示例程序(基于 HAL 库)说明 目 录 程序说明 .................................................................................................................................................. 1 关于 STM32CubeMx ........................................................................................................................... 1 代码编译环境 .................................................................................................................................. 1 目录 .......................................................................................................................................................... 2 GPIO .......................................................................................................................................................... 4 EXTI ........................................................................................................................................................... 4 TIM ........................................................................................................................................................... 4 PWM ......................................................................................................................................................... 5 USART ....................................................................................................................................................... 5 USART_DMA ........................................................................................................................................ 5 USART_IT .......................................................................................................................................... 6 USART_printf .................................................................................................................................. 6 ADC_DMA ................................................................................................................................................. 7 DAC ........................................................................................................................................................... 7 I2C ............................................................................................................................................................. 8 SPI ............................................................................................................................................................. 8 CAN ........................................................................................................................................................... 9 DS18B20 ................................................................................................................................................... 9 RTC .......................................................................................................................................................... 10 MCU_Temperature ................................................................................................................................. 10 IWDG ...................................................................................................................................................... 11 2 版本:V1.2.1,日期:2017 年 2 月 21 日
Open103Z 示例程序(基于 HAL 库)说明 WWDG .................................................................................................................................................... 11 CRC ......................................................................................................................................................... 12 SDIO ........................................................................................................................................................ 12 FATFS ...................................................................................................................................................... 13 FSMC ....................................................................................................................................................... 13 LCD_Display ............................................................................................................................................ 14 LCD_Touch .............................................................................................................................................. 14 USB_FS .................................................................................................................................................... 14 CDC_Standalone ............................................................................................................................ 14 HID_Standalone ............................................................................................................................ 15 MSC_Standalone ............................................................................................................................ 15 FreeRTOS ................................................................................................................................................ 16 uCOS_III .................................................................................................................................................. 16 版本:V1.2.1,日期:2017 年 2 月 21 日 3
Open103Z 示例程序(基于 HAL 库)说明 GPIO 描述: 此程序演示如何通过 HAL 库,设置和使用 GPIO。 工程位置: STM32CubeMX 工程位置:GPIO\GPIO.ioc Keil 工程位置:GPIO\MDK-ARM\GPIO.uvprojx 预期结果: 1) 插上 LED JMP 跳线帽(4 个)。 2) 拨动 5 向摇杆或者按下 USER KEY 键,会点亮对应的 LED 指示灯。 EXTI 描述: 此程序演示通过外部中断(按键)的方式执行回调函数。 工程位置: STM32CubeMX 工程位置:EXTI\EXTI.ioc Keil 工程位置:EXTI\MDK-ARM\EXTI.uvprojx 预期结果: 1) 插上 LED1 的跳线帽。 2) 按下 USER KEY 按键,便可切换 LED1 指示灯的状态。 TIM 描述: 此程序演示通过定时器中断的方式执行回调函数。 工程位置: STM32CubeMX 工程位置:TIM\TIM.ioc Keil 工程位置:TIM\MDK-ARM\TIM.uvprojx 版本:V1.2.1,日期:2017 年 2 月 21 日 4
Open103Z 示例程序(基于 HAL 库)说明 预期结果: 1) 插上 LED JMP 跳线帽(4 个)。 2) LED1 / LED2 / LED3 / LED4 指示灯闪烁。 PWM 描述: 此程序演示通过 STM32 芯片的 PWM 定时器,对输出电压进行控制。 工程位置: STM32CubeMX 工程位置:PWM\PWM.ioc Keil 工程位置:PWM\MDK-ARM\PWM.uvprojx 预期结果: 1) 把 PD12 管脚连接到 LED 指示灯的正极。 2) LED 指示灯亮度逐渐变化。 USART USART_DMA 描述: 此程序演示以直接内存存取(DMA)的方式,通过板载的 USART 接口连续输出信息。 工程位置: STM32CubeMX 工程位置:USART_DMA\USART_DMA.ioc Keil 工程位置:USART_DMA\MDK-ARM\USART_DMA.uvprojx 预期结果: 1) 通过 USB 串口模块(例如 PL2303 模块)连接板载的 USART1 接口和电脑的 USB 口。其 中模块的 Rx  开发板的 Tx,开发板的 Tx  模块的 Rx。 2) 电脑安装串口查看软件,并设置串口:波特率 115200,数据位 8,停止位 1,校验位无, 流控制无。 3) 开启串口之后,可以查看到连续的串口信息打印。 版本:V1.2.1,日期:2017 年 2 月 21 日 5
Open103Z 示例程序(基于 HAL 库)说明 USART_IT 描述: 此程序演示以中断的方式,通过板载的 USART 接口接收信息。 工程位置: STM32CubeMX 工程位置:USART_IT\USART_IT.ioc Keil 工程位置:USART_IT\MDK-ARM\USART_IT.uvprojx 预期结果: 1) 通过 USB 串口模块(例如 PL2303 模块)连接板载的 USART1 接口和电脑的 USB 口。其 中模块的 Rx  开发板的 Tx,开发板的 Tx  模块的 Rx。 2) 电脑安装串口查看软件,并设置串口:波特率 115200,数据位 8,停止位 1,校验位无, 流控制无。 3) 开启串口之后,电脑端通过串口连续发送 10 个字符,这些字符会通过串口重新打印出 来。 USART_printf 描述: 此程序演示以轮询的方式,通过板载的 USART 接口输出信息。 工程位置: STM32CubeMX 工程位置:USART_printf\USART_printf.ioc Keil 工程位置:USART_printf\MDK-ARM\USART_printf.uvprojx 预期结果: 1) 通过 USB 串口模块(例如 PL2303 模块)连接板载的 USART1 接口和电脑的 USB 口。其 中模块的 Rx  开发板的 Tx,开发板的 Tx  模块的 Rx。 2) 电脑安装串口查看软件,并设置串口:波特率 115200,数据位 8,停止位 1,校验位无, 流控制无。 3) 开启串口之后,可以查看到串口信息打印,每隔一秒钟打印一次。 版本:V1.2.1,日期:2017 年 2 月 21 日 6
Open103Z 示例程序(基于 HAL 库)说明 ADC_DMA 描述: 此程序演示通过以直接内存存取(DMA)的方式,连续进行 AD 采集。 工程位置: STM32CubeMX 工程位置:ADC_DMA\ADC_DMA.ioc Keil 工程位置:ADC_DMA\MDK-ARM\ADC_DMA.uvprojx 预期结果: 1) 将 Analog Test Board 模块接入 ADC+DAC(SPI-1)接口。 2) 通过 USB 串口模块(例如 PL2303 模块)连接板载的 USART1 接口和电脑的 USB 口。其 中模块的 Rx  开发板的 Tx,开发板的 Tx  模块的 Rx。 3) 电脑安装串口查看软件,并设置串口:波特率 115200,数据位 8,停止位 1,校验位无, 流控制无。 4) 转动 Analog Test Board 模块上面的两个电位器旋钮,串口会打印读到的 AD 信息: ******** ADC DMA Example ******** AD1 value = 3.298V AD2 value = 1.647V ******** ADC DMA Example ******** AD1 value = 3.298V AD2 value = 1.647V DAC 描述: 此程序演示通过 STM32 芯片的 DMA 通道输出三角波信号。 工程位置: STM32CubeMX 工程位置:DAC\DAC.ioc Keil 工程位置:DAC\MDK-ARM\DAC.uvprojx 预期结果: 1) 将 Analog Test Board 模块接入 ADC+DAC(SPI-1)接口。 7 版本:V1.2.1,日期:2017 年 2 月 21 日
Open103Z 示例程序(基于 HAL 库)说明 2) Analog Test Board 模块上的 5V 管脚接到板子上任意 5V 输出管脚上。 3) Analog Test Board 模块会发出声音。 I2C 描述: 此程序演示通过 I2C 接口读写 AT24 EEPROM。 工程位置: STM32CubeMX 工程位置:I2C-AT24C04\I2C4.ioc Keil 工程位置:I2C-AT24C04\MDK-ARM\I2C-AT24C04.uvprojx 预期结果: 1) 将 AT24/FM24 Board 模块接到 I2C1 口上。 2) 通过 USB 串口模块(例如 PL2303 模块)连接板载的 USART1 接口和电脑的 USB 口。其 中模块的 Rx  开发板的 Tx,开发板的 Tx  模块的 Rx。 3) 电脑安装串口查看软件,并设置串口:波特率115200,数据位8,停止位1,校验 位无,流控制无。 4) 按下板子的复位按键之后,EEPROM 会被写入数据,然后被读出数据。数据会通过串口 打印出来。 SPI 描述: 此程序演示通过 SPI 接口读写 AT45DBXX Flash。 工程位置: STM32CubeMX 工程位置:SPI-AT45DBXX\SPI-AT45DBXX.ioc Keil 工程位置:SPI-AT45DBXX\MDK-ARM\SPI-AT45DBXX.uvprojx 预期结果: 1) 将 AT45DBXX DataFlash Board 模块接到 SPI-1 接口上。 2) 通过 USB 串口模块(例如 PL2303 模块)连接板载的 USART1 接口和电脑的 USB 口。其 中模块的 Rx  开发板的 Tx,开发板的 Tx  模块的 Rx。 版本:V1.2.1,日期:2017 年 2 月 21 日 8
分享到:
收藏