子程序都有assert_param(....),如下:这句到底有什么用呢???把它删了应该可以的吗??

void TIM1_TimeBaseInit(u16 TIM1_Prescaler,
                                TIM1_CounterMode_TypeDef TIM1_CounterMode,
                                u16 TIM1_Period,
                                u8 TIM1_RepetitionCounter)
{       
   
    assert_param(IS_TIM1_COUNTER_MODE_OK(TIM1_CounterMode));   
......
}
答:
这是断言,可以删掉,只在编译的时候防止一些寄存器的非法值。
判断输入参数是否合法(就是预期中的那些值),编译时可以用来发现设置的值是否正确。
程序运行时一般是没有用的。

stm32程序中的assert_param()的说明相关推荐

  1. stm32程序中串口发送以及VC++后台软件接收浮点数所遇到问题的处理总结

    一.stm32程序 通过查找网络资料,决定采用函数转换的方式,实现float数转换成char数,再送入modbus寄存器. 首先,在头文件.h中定义: void float_char(float f, ...

  2. STM32程序中前缀MSP的意思

    MCU Specific Package 单片机的具体方案 MSP是指和MCU相关的初始化,举个例子就可以理解: 比如串口的初始化 1.我们要初始化和MCU无关的东西:例如串口协议,其中包括波特率,奇 ...

  3. c语言设置程序的优先级,stm32程序中涉及到c语言优先级

    遇到的问题:RxMessage->StdId = (u32)0x000007FF & (CAN->sFIFOMailBox[FIFONumber].RIR >> 21) ...

  4. Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的重温

    一.C程序的内存分配 1.栈区(stack) 由编译器自动分配释放,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 2.堆区(heap) 一般由程序员分配释放,若程序员不释放,程序 ...

  5. 【嵌入式】Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址

    Ubuntu.stm32下的C程序中堆.栈.全局.局部等变量的分配地址 一.总体介绍 1.栈区(stack) 2.堆区(heap) 3.全局区(静态区) (1).bss段 (2).data段 4.常量 ...

  6. STM32对SD卡数据读取和在Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址的对比分析

    一.SD卡协议原理 1.SD卡简介 SD存储卡是一种基于半导体快闪记忆器的新一代记忆设备,由于它体积小.数据传输速度快.可热插拔等优良的特性,被广泛地于便携式装置上使用,例如数码相机.平板电脑和多媒体 ...

  7. Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址

    目录 一.C程序中的一些变量及内存分配 1.全局变量 2.局部变量 3.内存分配 4.内存段 5.内存管理 二.在Ubuntu和Keil中显示变量地址分配 1.Ubuntu中运行 代码撰写 运行结果 ...

  8. 远程升级stm32程序_STM32IAP远程升级带C#上位机

    关注"电子芯吧客" ,每周都有精彩文章推荐 在很多场景应用中需要我们的控制器能够实现远程升级,比如我之前做的一个项目中,项目的主要需求就是老师的电脑能够获取学生的实验设备的实验数据 ...

  9. stm32中断优先级_关于STM32 (Cortex-M3) 中NVIC的分析(转)

    一.STM32 (Cortex-M3) 中的优先级概念 STM32(Cortex-M3)中有两个优先级的概念:抢占式优先级和响应优先级,也把响应优先级称作"亚优先级"或" ...

最新文章

  1. 这些超级高效的人工神经元不使用电子?
  2. windows下的虚拟内存分配分析
  3. 熟悉Python Interpreter解释器
  4. 【网易云信 x 齿轮易创】互联网时代,如何在教育行业抢占C位
  5. 如何让IDEA启动多个SpringBoot实例
  6. arn linux编译系统时错误的解决
  7. 商汤科技2020数据分析师0820笔试题目整理
  8. Ajax初探(2)——Javascript
  9. Flask应用错误处理
  10. 工业铝型材是怎样去生产的
  11. 斐讯T1刷机详细指南
  12. 短连接生成系统如何设计?
  13. 怎么注册自定义域名Email.cn邮箱?
  14. 15/18位身份证号码验证的正则表达式总结
  15. Matlab识别拨号音,电话拨号音识别全解.ppt
  16. mysql dba高级教程_MySQL DBA高级视频教程 博瑞森一线DBA大神亲授
  17. HTML——表单标签<form>与表单的实现
  18. php 微信支付 ca证书,微信企业付款 CA证书出错,请登录微信支付商户平台下载证书...
  19. AndroidStudio开发的领养宠物app
  20. boost库在工作(25)任务之五

热门文章

  1. _Blank主页——个人浏览器主页定制
  2. 自动化测试工具selenium使用介绍
  3. flashcom网址收集
  4. SpringAMQP--发布订阅模型介绍
  5. 修改用户和用户组权限
  6. MyBatis 插件原理与自定义插件-用代理模式我们就要解决几个问题
  7. 数据库事务原理详解-数据库隔离级别
  8. AnnotationConfigUtils 处理注解Bean 定义类中的通用注解
  9. 进程切换(上下文切换)
  10. Supplier接口练习之获取最大值