1、使用HAL生成代码后,如果使用串口,程序不能正常运行
**解决方法:**打开Keil设置,勾选上MicroLIB,然后重新编译。
2、HAL中使用滴答定时器中断时,需要现在stm32f4xx_it.c的void SysTick_Handler(void)
中加入HAL_SYSTICK_IRQHandler();
才能使HAL_SYSTICK_Callback(void)
生效。
void SysTick_Handler(void)
{
/* USER CODE BEGIN SysTick_IRQn 0 */
/* USER CODE END SysTick_IRQn 0 */
HAL_IncTick();
/* USER CODE BEGIN SysTick_IRQn 1 */
HAL_SYSTICK_IRQHandler();
/* USER CODE END SysTick_IRQn 1 */
}
void HAL_SYSTICK_Callback(void)//系统时钟回调函数
{
}
3、Keil中绝对值定义
#define ABS(x) ((x)>=0?(x):-(x))
4、keil中简单微秒循环
/*
for循环实现延时us
*/
void for_delay_us(uint32_t nus)
{
uint32_t Delay = nus * 168/4;
do
{
__NOP();
}
while (Delay --);
}