你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于 F4CubeMX 的应用

[复制链接]
twodiamond 提问时间:2014-9-12 12:04 /
最近,使用F4CubeMX 生成基于F407的USB HOST的代码,的确非常方便,代码质量也很规范整齐。但是在调试USB的驱动过程中遇到一个问题,在文件stm32f4xx_ll_usb.c中,有一个函数如下:

HAL_StatusTypeDef USB_HC_StartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_HCTypeDef *hc, uint8_t dma)

           ......
          if (hc->xfer_len > 0)
         {
             num_packets = (hc->xfer_len + hc->max_packet - 1) / hc->max_packet; //是否会出现除0的情形
            if (num_packets > max_hc_pkt_count)
           {
    ......
  }
   ......

 
当时由于程序的错误, 被除数hc->max_packet的值是0,但吊诡的是,这一句居然也能顺利执行,没有激活任何中断。
 
难道STM32即使除以 0 都可以安然无恙?
 
 
 
 
收藏 评论1 发布时间:2014-9-12 12:04

举报

1个回答
五哥1 回答时间:2018-6-5 23:34:29
这里的除法不是严格意义的除法,

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版