【Nucleo心得】+ 利用单个例程合并多个外设
Nucleo的例程库做的非常不错,也让大家容易比较好的去学习Nucleo的
单个外设资源!
不过Nucleo的例程也很方便的让我们自己把不同的外设整合在一起!
在KEIL下只要把需要的外设的*.H和 Drivers/STM32L0xx_HAL_Driver里的*.c加进来就可以了!剩下就是自己程序的事了!
下面测试下在 工程中添加UART功能!
1、加头文件
在打开工程中的 “#Example/User”文件夹,在stm32l0xx_hal_conf.h中去掉“#define HAL_UART_MODULE_ENABLED”前面的注释
这是main.c里的包含头文件就多了2个头文件
stm32l0xx_hal_def.h
stm32l0xx_hal_uart_ex.h
2、增加UART外设驱动库源文件
stm32l0xx_hal_uart.c
stm32l0xx_hal_uart_ex.c
3、就是增加硬件端口初始化及其他需要的代码了
//初始化UART
/* Put the USART peripheral in the Asynchronous mode (UART Mode) */
/* UART1 configured as follow:
- Word Length = 8 Bits
- Stop Bit = One Stop bit
- Parity = None
- BaudRate = 9600 baud
- Hardware flow control disabled (RTS and CTS signals) */
UartHandle.Instance = USARTx;
UartHandle.Init.BaudRate = 9600;
UartHandle.Init.WordLength = UART_WORDLENGTH_8B;
UartHandle.Init.StopBits = UART_STOPBITS_1;
UartHandle.Init.Parity = UART_PARITY_NONE;
UartHandle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
UartHandle.Init.Mode = UART_MODE_TX_RX;
if(HAL_UART_Init(&UartHandle) != HAL_OK)
{
Error_Handler();
}
通过这些步骤,我们可以非常简单的从官方的例程中,移植出自己需要的外设代码。