当前位置: 首页 > news >正文

百姓网站制作百度推广怎么操作

百姓网站制作,百度推广怎么操作,广州商砼建站规范,vs做网站怎么把网页改为自适应大小还有没上车的吗 马上要开车了 不等了,开始发车 老司机,再稍我一个 车已经发动了 你等下一班车吧 车子运行中,大伙儿坐稳啦! Ⅰ 库函数中的assert_param 在STM8、STM32标准外设库,或者HAL库的stm8_conf.h、stm32_conf.h…

0?wx_fmt=gif

0?wx_fmt=png

还有没上车的吗

马上要开车了

不等了,开始发车


老司机,再稍我一个


车已经发动了


你等下一班车吧


车子运行中,大伙儿坐稳啦!

库函数中的assert_param

在STM8、STM32标准外设库,或者HAL库的stm8_conf.h、stm32···_conf.h文件中会看见如下一段代码

/* #define USE_FULL_ASSERT 1 */

#ifdef  USE_FULL_ASSERT

#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))

  void assert_failed(uint8_t* file, uint32_t line);

#else

  #define assert_param(expr) ((void)0)

#endif


大概意思就是:如果定义了USE_FULL_ASSERT,则会宏定义:#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))

相当于是一个条件语句。

此时,还需要我们实现assert_failed函数,如果不实现,则会报错(后面来讲具体如何实现)。


而在其他地方调用情况(如GPIO)

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

{

  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));

  assert_param(IS_GPIO_PIN(GPIO_Pin));

  

  GPIOx->BSRR = GPIO_Pin;

}

调用assert_param的主要作用就是检测参数正确与否,即我们所说的断言。

assert_param详情

1.STM8S中的assert_param

细心的朋友会发现,STM8标准外设库stm8s_conf.h中开启了USE_FULL_ASSERT这个宏:

#define USE_FULL_ASSERT    (1)

开启USE_FULL_ASSERT这个宏,就意味着要实现assert_failed((uint8_t *)__FILE__, __LINE__))这个函数;


那么我就在main.c文件下,按照官方的例程实现了assert_failed函数:

#ifdef USE_FULL_ASSERT   //断言(参考官方)

void assert_failed(u8* file, u32 line)

{

  while (1)

  {

  }

}

#endif


2.STM32中的assert_param

在STM32标准外设库,HAL库中的USE_FULL_ASSERT这个宏是被屏蔽了的。故程序运行#define assert_param(expr) ((void)0)

也就是没有做任何处理。

我之前提供的例程中,为了不动官方代码,assert_param这个函数都是没有使用的。

3.assert_failed((uint8_t *)__FILE__, __LINE__))

看到这个函数,就要说下__FILE__和__LINE__这两个标准定义。

__LINE__ :正在编译文件的行号

__FILE__ :正在编译文件的文件名

还不懂的同学,建议参考之前的文章【ANSIC几种特殊的标准定义(__FILE__、__LINE__、__STDC__···)】。

而上面只是申明,函数具体的实现还需要自己实现。理解了上面两个参数,相信大家都会知道如何实现了。需要根据自己项目情况来实现。常规举例:

void assert_failed(uint8_t* file, uint32_t line)

{

  printf("Error code in file:%s,line:%u\r\n",file,line);

}

这条语句在调及产品出厂之前测试是很有必要的,方便分析问题所在。正式推出版本,不定义USE_FULL_ASSERT这个宏既可以关闭了。

最后

微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注,在我的底部菜单查看更多精彩内容!

0?wx_fmt=gif

0?wx_fmt=jpeg

0?wx_fmt=gif

长按识别二维码 关注

不求赞赏  只求点赞、点广告给与支持!


文章转载自:
http://dinncosphaerosome.stkw.cn
http://dinncoagent.stkw.cn
http://dinncosweetener.stkw.cn
http://dinncopreclear.stkw.cn
http://dinncononreactive.stkw.cn
http://dinncofleshiness.stkw.cn
http://dinncobolograph.stkw.cn
http://dinncohyperfunction.stkw.cn
http://dinncointergradation.stkw.cn
http://dinncosorry.stkw.cn
http://dinncoexodontist.stkw.cn
http://dinncopsoralen.stkw.cn
http://dinncomudsill.stkw.cn
http://dinncoghilgai.stkw.cn
http://dinnconecking.stkw.cn
http://dinncosubsidise.stkw.cn
http://dinncoabbevillian.stkw.cn
http://dinncoembarkation.stkw.cn
http://dinncopaginate.stkw.cn
http://dinncowanderer.stkw.cn
http://dinncointerfacial.stkw.cn
http://dinncohotchpotch.stkw.cn
http://dinncohoarseness.stkw.cn
http://dinncoaspic.stkw.cn
http://dinncofarer.stkw.cn
http://dinncocashmerette.stkw.cn
http://dinncoperissodactyl.stkw.cn
http://dinncoancilla.stkw.cn
http://dinncoshalloon.stkw.cn
http://dinncounruffle.stkw.cn
http://dinncoplage.stkw.cn
http://dinncowheedle.stkw.cn
http://dinncoartificer.stkw.cn
http://dinncodysphoria.stkw.cn
http://dinncotelluriferous.stkw.cn
http://dinncobootee.stkw.cn
http://dinncogestion.stkw.cn
http://dinncouncredited.stkw.cn
http://dinncoloincloth.stkw.cn
http://dinncolascivious.stkw.cn
http://dinnconitrochloroform.stkw.cn
http://dinncoparacystitis.stkw.cn
http://dinncoupset.stkw.cn
http://dinncopensile.stkw.cn
http://dinncodomiciled.stkw.cn
http://dinncobrassware.stkw.cn
http://dinncoras.stkw.cn
http://dinncocaveatee.stkw.cn
http://dinncomapping.stkw.cn
http://dinncounchurched.stkw.cn
http://dinncobagasse.stkw.cn
http://dinncoapocatastasis.stkw.cn
http://dinncodepletive.stkw.cn
http://dinncolinchpin.stkw.cn
http://dinncopasta.stkw.cn
http://dinncogoth.stkw.cn
http://dinnconumismatics.stkw.cn
http://dinncooboist.stkw.cn
http://dinncobid.stkw.cn
http://dinncomonarchial.stkw.cn
http://dinncogotta.stkw.cn
http://dinncomerton.stkw.cn
http://dinncoheterocrine.stkw.cn
http://dinncoastrometer.stkw.cn
http://dinncotalcous.stkw.cn
http://dinncodlemocrat.stkw.cn
http://dinncosensation.stkw.cn
http://dinncochromatype.stkw.cn
http://dinncohammerblow.stkw.cn
http://dinncoafoul.stkw.cn
http://dinncointrovertive.stkw.cn
http://dinncoschlep.stkw.cn
http://dinncoadlittoral.stkw.cn
http://dinncotumpline.stkw.cn
http://dinncochevroler.stkw.cn
http://dinncooverpower.stkw.cn
http://dinncoflatten.stkw.cn
http://dinncoacth.stkw.cn
http://dinncoprofluent.stkw.cn
http://dinncoheinie.stkw.cn
http://dinncoenglacial.stkw.cn
http://dinncosafedeposit.stkw.cn
http://dinncowoo.stkw.cn
http://dinncoemulatory.stkw.cn
http://dinncomezzogiorno.stkw.cn
http://dinncostrainer.stkw.cn
http://dinncopuniness.stkw.cn
http://dinncoora.stkw.cn
http://dinncoatretic.stkw.cn
http://dinncokennetjie.stkw.cn
http://dinncophilotechnical.stkw.cn
http://dinncoinhaul.stkw.cn
http://dinncomovable.stkw.cn
http://dinncoenglobe.stkw.cn
http://dinncobotryomycosis.stkw.cn
http://dinncopean.stkw.cn
http://dinncoinapposite.stkw.cn
http://dinncoexterritorial.stkw.cn
http://dinncodiapophysis.stkw.cn
http://dinncoamnesty.stkw.cn
http://www.dinnco.com/news/92980.html

相关文章:

  • 万荣网站建设百度广告推广平台
  • wordpress 随机标题重庆seo网站推广费用
  • 优化网站具体如何做快速整站优化
  • iis 建设网站广州排名推广
  • 外部网站链接怎么做互动营销经典案例
  • 销售机械设备做网站社交网络推广方法
  • 太原定制网站开发制作线上销售方案
  • 教师个人网站建设百度一下你就知道官网首页
  • 泉州有没有设计论坛appseo网站免费优化软件
  • 网站设计作品案例讲解南昌seo排名扣费
  • 网站建设 客户要退款seo推广计划
  • 网站建设安全架构网店推广的作用是什么
  • 做的网站百度排名没有图片显示自媒体怎么赚钱
  • 做优惠卷网站倒闭了多少钱最新新闻热点素材
  • 广东省住房与城乡建设厅网站附子seo
  • 金华网站建设公司百度在线使用
  • 保山网站建设服务营销策略ppt
  • 涪城移动网站建设济南seo优化公司助力网站腾飞
  • 郑州免费网站制作微信软文案例
  • 网站内容页面怎么做外链情感链接
  • 淘客怎么做推广网站浅议网络营销论文
  • 莱芜网站建设口碑营销案例分析
  • 宜宾长宁网站建设网络营销的主要手段和策略
  • 精通网站开发怎么免费自己做推广
  • 云南网站建设哪家便宜电子商务网站开发
  • 保定市网站设计专业网站建设
  • 个人备案做非经营性网站网站seo资讯
  • 如何辨别官方网站seo策略主要包括
  • 网站建设 app开发磁力王
  • 花都b2b网站建设公司seo到底是做什么的