和HAL驱动库一样,LL初始化函数通过检查LL库函数中的输入值来实现运行时故障检测;在独立模式下使用LL库,在运行时检查需要执行以下操作: 将stm32_assert_template.h复制到应用程序文件夹并将其重命名为stm32_assert.h;此文件定义启用运行时检查时使用的assert_param宏; 在应用程序主头文件中包含stm32_assert.h文件;...
WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinStatePinState) { assert_param(IS_GPIO_PIN(GPIO_Pin)); assert_param(IS_GPIO_PIN_ACTION(PinState)); if(PinState!= GPIO_PIN_RESET) { GPIOx->BSRR= GPIO_Pin; } else { GPIOx->BSRR= (uint32_t)GPIO_Pin << 16; } } 1....
该参数类型 TaskFunction_t 定义在文件 projdefs.h 中,定义为:typedef void(*TaskFunction_t)( void * ) ,即参数为空指针类型并返回空类型。 pcName: 任务描述。主要用于调试。字符串的最大长度(包括字符串结束字符)由宏 configMAX_TASK_NAME_LEN 指定,该宏位于 FreeRTOSConfig.h 文件中。 usStackDepth: ...
1.Set all free pins as analog (to optimize the power consumption) 将所有空闲引脚设置为模拟(以优化功耗)这个做低功耗产品时这个选项有必要勾选。 2.Enable Full Assert 使能所有断言 4.2.4 Template Settings模板设置 1.Select a template to generate customized code 选择一个模板来生成自定义代码代码自定义...
在ST标准库的函数中,一般会包含输入参数检查,即上述代码中的“assert_param”宏,当参数不符合要求时,会调用“assert_failed”函数,这个函数默认是空的。 实际开发中使用断言时,先通过定义USE_FULL_ASSERT宏来使能断言,然后定义“assert_failed”函数,通常我们会让它调用printf函数输出错误说明。
1、点击桌面 UVision4图标,启动软件,在工具栏 Project->New μVision Project…新建我们的工程文件,我们将新建的工程文件保存在STM32-Template\USER\Project\RVMDK(uv4)文件夹下(先在Project文件夹下建立RVMDK(uv4)文件),文件名取为STM32-MINI(这款32是MINI板,所以取名STM32-MINI),名字可以随便取,点击保存。
将ARM:CMSIS Pack文件夹(通常是C:KeilARMPackARMCMSIS version Device_Template_Flash)中的工程复制到一个新文件夹中,取消文件夹的只读属性,重命名项目文件NewDevice.uvprojx以表示新的flash 设备名称,例如MyDevice.uvprojx。 打开工程,从工具栏中,使用下拉选择目标来选择处理器架构。
stm32f10x_conf.h 这个文件还可配置是否使用“断言”编译选项,见代码清单 10-3。 在ST 标准库的函数中,一般会包含输入参数检查,即上述代码中的“assert_param”宏,当参数不符合要求时,会调用“assert_failed”函数,这个函数默认是空的。实际开发中使用断言时,先通过定义USE_FULL_ASSERT 宏来使能断言,然后定义“...
stm32f10x_conf.h 这个文件还可配置是否使用“断言”编译选项,见代码清单 10-3。 在ST 标准库的函数中,一般会包含输入参数检查,即上述代码中的“assert_param”宏,当参数不符合要求时,会调用“assert_failed”函数,这个函数默认是空的。实际开发中使用断言时,先通过定义USE_FULL_ASSERT 宏来使能断言,然后定义“...
将ARM:CMSIS Pack文件夹(通常是C:\Keil\ARM\Pack\ARM\CMSIS\ version \Device_Template_Flash)中的工程复制到一个新文件夹中,取消文件夹的只读属性,重命名项目文件NewDevice.uvprojx以表示新的flash 设备名称,例如MyDevice.uvprojx。 打开工程,从工具栏中,使用下拉选择目标来选择处理器架构。