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

【MCU实战经验】+说说自己项目中遇到的几个揪心事

[复制链接]
蓝调街口-366393 提问时间:2014-4-5 23:27 /
        哎,做个项目木有想到就会遇到这么多鸡肋的事,做硬件的是个二把刀,之前没接触过stm32,因为一开始外部晶振采购那边一直没送过来,所以一开始干脆没有加上去,程序也就使用内部晶振什么都调试的好好的,就等外部晶振贴上去就完事了,然后纠结的事就来了,一搞到外部晶振就完全不对头了,郁闷之余找示波器,晶振有输出,为什么时间就是不对头呢,检查电路也没发现什么问题啊,找做硬件的请教,这个问题拖了两天,等得不耐烦了,我就一点一点着重的看了看手册关于时钟这一块,最终初步判定是起震电容不匹配的问题,跑去找硬件确认,我擦,果然给我整了一12p的电容,而stm32上严格要求6p的。
         后来一切顺顺利利的项目搞定了,老大过来说看看能不能把功耗降一降,我说好,首先就把不用的IO口给处理了,一不留神就把J-link要用到的下载口也给搞了,下载了一块,恩还不错,整了程式之后,功耗降了不少,可是当我再下载更新程式时候,下载不了了,我没太在意,换了一块然后同样的问题又出现了,我哩个纠结,由于使用的cpu是64脚的bga封装,4mm*4mm的,所以焊接成功率惨不忍睹,一下子把仅有的俩块都搞没戏了,一下子慌了神,然后淡定下来,确定就是传说中的”自锁“,⊙﹏⊙b汗,捋顺情绪后,还好我的串口还在,使用串口刷了一下程式,一切ok。。
        熬了那么些天终于等到给客户一个答案的时候了,正暗自庆幸,客户打来电话说使用台湾的路由器不能自由获取ip,而大陆的没有遇到这个问题,一开始我以为那边路由器难道需要什么特殊设置?还是客户没有设置正确?最终把台湾的路由器拿到手之后,认真的阅读使用说明书,没错啊,确实获取不到ip,什么情况?也不多想,那就抓包吧,看看dhcp的通信协议到底哪里出了问题,看了n遍格式没有错额,再看额问题出来了,看看下边我的笔记吧。。
 
https://www.stmcu.org.cn/file:///C:/Users/Administrator/AppData/Local/YNote/data/landiaojiekou@163.com/db8d1ad240f54ea7a79c65f4259c3aeb/clipboard.png
dhcp 基本工作流程.png
 
在DHCP的广播包中包含的MAC地址中第一位第8字节的奇偶决定着组播或者单播(具体的可以参见关于MAC地址影响单(组)播等的解释 这篇笔记中的讲解),大陆的路由器不影响,但是使用台湾的路由器时候就出现不能自由分配IP的问题。图解见附件。
其实问题的关键在于MAC地址给的出了问题,后边是重点额,呵呵,48bit的MAC地址一般用6字节的十六进制来表示,如XX-XX-XX-XX-XX。IEEE 802.3规定:以太网的第48bit用于表示这个地址是组播地址还是单播地址。而大陆的路由器dhcp协议做的要求宽松一些,台湾的就相对严格。
 
看一下大陆的路由器抓到的包:
 
大陆路由器的数据抓包.png
 
再看看台湾的路由器抓到的数据包:
 
台湾路由器的数据抓包.png
 
发现问题了吧,呵呵。
 
收藏 评论1 发布时间:2014-4-5 23:27

举报

1个回答
蓝调街口-366393 回答时间:2014-4-9 20:40:31

RE:【MCU实战经验】+说说自己项目中遇到的几个揪心事

自己顶一下

所属标签

相似问题

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