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

STM32 的 硬件IIC 很好用  

[复制链接]
cuyebiren 发布时间:2016-11-21 13:46
阅读主题, 点击返回1楼
赞 2 收藏 23 评论117 发布时间:2016-11-21 13:46
117个回答
moyanming2013 回答时间:2016-11-22 17:08:17
中山无雪 发表于 2016-11-21 21:59, c2 Z' C$ s% i! R
串口输出调试信息可以帮助开发者快速定位错误,难道你写了一个几千行的软件,有复杂的处理逻辑的程序,你 ...

0 ]* N1 r$ }: a: j6 o(更多讨论移步:
5 h6 S* Q  b% h; E2 yhttps://www.stmcu.org.cn/module/forum/thread-609249-1-1.html)
creep 回答时间:2016-11-22 17:12:19
Inc_brza 发表于 2016-11-22 13:17' M( N: X' x# h8 ]
你确定你的程序只会出现你所说的这几个无伤大雅的小问题吗?
1 x% j" W9 |2 Y8 i6 w( J" X你确定你的算法百分百正确吗?如果运行10000 ...
8 Q) n1 I( z: G- N1 A% [$ m3 {: D2 x8 L
YY大神还是这么犀利啊
cuyebiren 回答时间:2016-11-22 17:33:06
五哥1 发表于 2016-11-22 17:07; f. y; s+ o& J: Z# A5 }
这个确实很简单就配置好了,前提是必须很熟练的知道怎样配置,包括硬件的连接。 ...

% |+ N/ G6 ]/ u8 u8 Z具体配置过程可参考:(神器)STM32CubeMx使用详解  k2 z. }  J  X  T. H0 r& D5 h1 `
https://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=608654&fromuid=31357601 N* F; Z- d, r" J, C$ ?1 ~
(出处: 意法半导体STM32/STM8技术社区)) L1 I; a2 m  h
硬件连接:
2 K" X2 g. J% F$ r8 X
2.jpg
截图未命名.jpg
五哥1 回答时间:2016-11-22 17:41:01
楼主引发的讨论我竟然全部看完了,对同一个事物的看法,不同角度,结论不同。我们希望讨论,学术上的讨论会让大家都受益。
cuyebiren 回答时间:2016-11-22 20:44:35
五哥1 发表于 2016-11-22 17:41
$ \4 \( B1 h2 F/ q1 z/ O. d楼主引发的讨论我竟然全部看完了,对同一个事物的看法,不同角度,结论不同。我们希望讨论,学术上的讨论会 ...

. t8 o. J% ~( C, s$ ]嗯。求同存异,合而不同,合而为一,合而不唯一。
Inc_brza 回答时间:2016-11-22 21:42:30
本帖最后由 Inc_brza 于 2016-11-22 22:03 编辑 3 g+ y6 \' m/ P7 V0 X: G: g. q
moyanming2013 发表于 2016-11-22 14:08/ N  [- M9 g% }5 [1 q
1.不管几千行的还是几万行的代码都需要调试每一行!
$ V" w$ Y  j3 I) _# B' b# i说明:问题是一个一个解决的,倘若每一行代码都有问 ...

  q" r# V# J! U$ d8 w& I0 i扯淡!
" x; t* F: N" t' q  X8 _! T1、你真的调试过吗?整个程序几万行甚至几十万行你会一行一行的去调试?你老板是善人?     a、就算你有硬仿,我想知道你如何确定在哪里下断点?你如何判定是在哪个函数,那一行代码,算法的那一步出现错误?意思是说:你如何快速定位bug引发源。$ F( @! j2 e; }) u0 h: g& P5 H8 [5 _; g  V
     b、假如你没有硬仿,你如何一行一行的去调试代码?2 _8 B, r$ l/ i  E. }
     c、假如目标机在离你n公里且不带网络(带网络也用不了GDB的情况),你如何跟踪设备运行情况,难道你要带着调试器不远万里去目标机哪里呆着一条一条代码运行看?2 [# J& t! p4 ?5 Z7 n
2、什么叫推卸责任,这是明明确确,ST自己也承认存在的问题,FAQ都出现,虽然也有应对方法,模拟iic出现了问题归咎于ST只是你单方面狭隘的想法,STM32F1的IIC外设难用是斩钉截铁的事实,难调而且效率不高所以各自都用了效率高而且快又稳定的模拟方式也是事实!而且,没人说ST的硬件IIC不能用,只是针对你的言论对你认为的"调试“方式,和你认为的串口协议是一对垃圾而表示呵呵而已!. |; j4 k& Q0 t4 m
3、出现问题,没对程序运行结果加以分析,没有事实、现象等**据表明,你还能把责任赖到硬件上,论配合你的硬件工程师心里是有多苦!
; U. P9 P; e5 }! t/ V我可能说得太直白,但是很明显的,你对于调试的言论只能说 too young!
# t, H2 n! X' M  t
Inc_brza 回答时间:2016-11-22 21:43:12
creep 发表于 2016-11-22 17:12/ M: ~4 K; @) ~- i* `$ g( m
YY大神还是这么犀利啊
2 F9 f& S" M* p1 L
嘻嘻                     
中山无雪 回答时间:2016-11-23 02:23:52
cuyebiren 发表于 2016-11-22 11:32# [; V2 l8 f1 A$ z$ Q+ N
嗯。我也感觉串口很好用,实际项目中用到最多的通信就是串口通信

/ x% B0 D8 D( j( x, [6 P串口是最简单、最方便的通讯及调试端口,也是最开发的人最常用的端口
中山无雪 回答时间:2016-11-23 02:26:10
Inc_brza 发表于 2016-11-22 11:46
* P0 T$ n# `5 Z不同意!. o% j8 C  n' ?
模拟IIC比硬件IIC具有更方便的跨平台移植性!不是说硬件IIC不好,之所以不用,是因为IIC是飞利 ...

; r; o7 n7 X2 T. D估计只是一个在校或刚毕业的学生,从来没做过真是的项目或产品,看了几页网页、没仔细看过一本书或资料而已
中山无雪 回答时间:2016-11-23 02:44:11
moyanming2013 发表于 2016-11-22 14:08: U6 p# c( l. F
1.不管几千行的还是几万行的代码都需要调试每一行!
/ ~1 y* y  N1 `# b1 e" Y% u# T说明:问题是一个一个解决的,倘若每一行代码都有问 ...

- E2 [- R# N. _你听说过使用NXP、Atmel、TI、Infineon的芯片的人有模拟IIC的吗???
  p+ Q2 I' p" M7 u8 U这几家的芯片我都用过,ST的也用,但是一般只要涉及到IIC通讯的我都不用ST的芯片,因为我也懒的去模拟IIC,ST的030系列、103、105、205、407我都用过,也试图调试过他们的IIC,但是就算是调通了也存在不稳定的问题,因为对模拟IIC的可靠性、稳定性、速率不满意所以一直没用,所以涉及到IIC问题我都会选择其他家的芯片,我用的最多的是NXP的K系列芯片(原Freescale的芯片),在NXP的K系列芯片中ICC都是直接拿来用,从来没考虑过什麽去模拟的问题。
4 C  z  @  d- ~" ?4 C9 A调试代码有时确实需要逐条调试,但是假设手中的项目是一个数千、数万条的程序,我真的不知道怎么每次都去逐条调试,我想大部分人这样去调试的话都会疯了,大部分人写软件写完之后首先是通过查看代码检查逻辑正确性,然后通过串口输出调试信息检查逻辑的正确性,大部分情况下会发现错误并能定位错误,只有不能确定错误发生的情况时才会去逐条调试检查寄存器及中间变量的变化情况。
7 b7 C8 ?! X% f从你的调试方法只能发现你是一个学生或刚毕业,假设到了公司(尤其是比较正规的公司)你还这样调试面临的情况基本上只能是被辞退。) ]8 P5 T. b5 t; t
哦!忘了告诉你了,现在我还写代码(因为比较喜欢),但是写的时候并不是很多,因为需要处理的事情太多,大部分时候没时间写。
中山无雪 回答时间:2016-11-23 02:52:03
cuyebiren 发表于 2016-11-22 10:47
1 l# w3 D6 _9 j) H6 x是应该好好看看《勘误表》。。。我都没看过。。。不然要误人子弟啊。。。 ...
$ h2 {: ^5 A/ b$ f
不看《勘误表》,会让自己调到坑里都不知道怎么掉进去的,我是看完Datasheet之后就看《勘误表》,这是我MCU选型或使用的规定步骤。
/ K' {3 E! @' c* I0 I- s
  O% @" O- \1 g+ w) ^/ t) {很早时也没看《勘误表》的习惯,做一个项目,忙了一个多月总是出莫名其妙的问题,一直以为是自己的问题,到最后偶然看了一下《勘误表》才发现问题所在,气晕了!!!
* {$ J  ~0 D# `; ^只好再次投板子绕开问题才把项目做好。
flyleaf91 回答时间:2016-11-23 10:19:02
只用iic,硬件跑当然没问题,当你的工程加上其它外设一起跑的时候,会烦死
moyanming2013 回答时间:2016-11-23 10:41:54
中山无雪 发表于 2016-11-23 02:44
/ {- a6 h) G! W# _! C你听说过使用NXP、Atmel、TI、Infineon的芯片的人有模拟IIC的吗???
. v! w. L) Z: B7 Q$ n3 [这几家的芯片我都用过,ST的也用, ...

. j. C" U; Z% a! N8 x6 M( [2 f你作为企业的“栋梁”别睡那么晚,对身体不好。
cuyebiren 回答时间:2016-11-23 11:16:22
flyleaf91 发表于 2016-11-23 10:19" r- B. K1 C  p! ?( `+ l
只用iic,硬件跑当然没问题,当你的工程加上其它外设一起跑的时候,会烦死 ...

/ V, n1 Q1 ?- y% |" N嗯。勘误手册上有提到,外设冲突的情况
cuyebiren 回答时间:2016-11-23 11:19:03
中山无雪 发表于 2016-11-23 02:52
0 w) }- T2 M; V" g0 n* W  R, o不看《勘误表》,会让自己调到坑里都不知道怎么掉进去的,我是看完Datasheet之后就看《勘误表》,这是我M ...
4 ^% @) V' s" }& x
嗯。受教了。。。

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版