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

STM32 的 硬件IIC 很好用  

[复制链接]
cuyebiren 发布时间:2016-11-21 13:46
阅读主题, 点击返回1楼
2 收藏 23 评论117 发布时间:2016-11-21 13:46
117个回答
cuyebiren 回答时间:2016-11-22 10:47:21
中山无雪 发表于 2016-11-21 22:25
8 m; y) [( P6 M* ]* n$ L% R0 E最好仔细看一下《勘误表》

* ^/ k- G" k' l1 M" r是应该好好看看《勘误表》。。。我都没看过。。。不然要误人子弟啊。。。
cuyebiren 回答时间:2016-11-22 10:50:11
没事逛荡 发表于 2016-11-22 09:24
9 t8 G$ r1 q; G感觉串口打印还是很有必要的。很多时候,由外部触发的事件,需要查看一系列的变化,靠F5调试,很难达到效 ...

% b0 U: S$ r% |) L怎么方便就怎么用,只要能解决实际问题,管他“黑猫白猫,都是好猫”。
lvehe 回答时间:2016-11-22 11:21:14
装B的人无处不在,呵呵,串口暂时不会退出历史舞台的,用处大大的
cuyebiren 回答时间:2016-11-22 11:32:43
c_ptr 发表于 2016-11-22 11:212 U1 N8 [$ U# l; K* M& _
装B的人无处不在,呵呵,串口暂时不会退出历史舞台的,用处大大的

( Q# B. l- Z9 {- ?嗯。我也感觉串口很好用,实际项目中用到最多的通信就是串口通信
Inc_brza 回答时间:2016-11-22 11:46:13
moyanming2013 发表于 2016-11-21 16:396 \) Z1 X; E" f0 ~
printf其实是什么所谓的“IO重定向”,早年间的MCU能力太弱,但串口功能总还是有的。但,现在都什么年代 ...
+ L# X7 ?/ G) ], n
不同意!' r- Y& n0 T# K% Y
模拟IIC比硬件IIC具有更方便的跨平台移植性!不是说硬件IIC不好,之所以不用,是因为IIC是飞利浦的专利!ST为了规避专利而把它设计得难用!FAQ里面都有IIC的相关说明!% s* O" E* T: e2 H' X' j3 f$ W- p
第二,iic和usb都是短距离通信设备协议,而串口协议至今仍然是工业的常用协议之一!至少在硬件上,你的usb和iic都没办法进行长距离传输!
; c3 w5 _9 m+ }2 k) y第三,usb转串口并不是无聊的所谓高大上的附加模块,因为电脑的设计,usb的通用以及usb本身的特点,pnp的强大优点所以把通信时间没太高要求的串口并上而使之成为usb的一个设备而增加简便性,另外在工业上,物理串口仍然是必须的!/ g4 n0 O. t, D2 h, W; V% l' U
- u! R% P1 I9 \- y5 T9 m
你写的根本不安实际分析!所以你压根就没有对那些顽固不化的人的一顿大脸,反而彰显出你的无知!: s9 ~1 {, D- ?' F1 P
如果有得罪,还请见谅,技术讨论!

点评

IIC是80年代的产物, 不知道哪来专利可以为时40年之久, 呵呵  发表于 2021-1-30 17:39
Inc_brza 回答时间:2016-11-22 11:47:13
moyanming2013 发表于 2016-11-21 16:49
( s/ H  z* W" o5 yprintf不是调试,它只是你程序中输出“日志”的方式而已。一旦遇到真bug,哪还有输出“日志”的机会呢!
0 e/ _4 c# B( t' U! m ...
+ ^" q# G7 k. d6 x% G1 O, s
什么F5单步,你压根就不知道什么叫调试!9 p  O' _, @7 X% {$ i/ Q
Inc_brza 回答时间:2016-11-22 11:56:44
中山无雪 发表于 2016-11-21 21:59* O( t$ k  Q" E( L' j7 u+ l
串口输出调试信息可以帮助开发者快速定位错误,难道你写了一个几千行的软件,有复杂的处理逻辑的程序,你 ...
( A4 G+ p, G4 D& M8 ]- f4 j% v. a7 Z
严重同意你所说!: w4 i1 Y6 h9 |9 g6 m
如果真要为了显示所谓的真调试技术,完全是不需要申请什么板子的,手上随便一个能编程
/ y; R8 u7 j* @; L! B7 Z4 R2 O的板子都能胜任,就算没有能编程的板子,有一台能写代码的电脑即可!" z' l, G# d5 X: g7 A' f- P' t) V
当然,有申请板子的机会肯定也是应该要抓住的!有机会不抓是笨蛋!
# Z! H. e' a* S  k1 X9 F如果串口真如所说这么垃圾!为何工业仍然要采取串口!为什么设计的板子基本都会加入串口!" j( `. y; t2 s0 Z0 L
显示高大上的话,网口、wifi、蓝牙之类的新技术更能显示出逼格!
0 W& i4 M0 A% Q. \# c; S$ O无知不可怕,但是不要拿无知出来炫耀!
cuyebiren 回答时间:2016-11-22 12:44:00
Inc_brza 发表于 2016-11-22 11:56
3 S" @& j; y1 D( U. i7 S' X严重同意你所说!
# [8 d8 N$ j; H, c* _/ i" x如果真要为了显示所谓的真调试技术,完全是不需要申请什么板子的,手上随便一个能编程
/ P4 P4 s6 p( w: o; A2 _3 } ...

. y5 a: A, N# Q( _, k串口调试,应该就是 在 容易出错的关键点 加上 类似 assert 等 断言语句。。。等调试通过没问题了,再通过宏定义 把 它 屏蔽掉。。。
Inc_brza 回答时间:2016-11-22 13:17:15
cuyebiren 发表于 2016-11-22 12:449 z2 O2 A( ]) u/ t  d4 B2 Q
串口调试,应该就是 在 容易出错的关键点 加上 类似 assert 等 断言语句。。。等调试通过没问题了,再通 ...

& }( V+ {6 G7 w3 v9 N# S/ K你确定你的程序只会出现你所说的这几个无伤大雅的小问题吗?
7 z4 H9 m# j. z你确定你的算法百分百正确吗?如果运行10000步后出现计算错误怎么办?2 U& R8 O2 D% x- U
你确定你的指针指向百分百正确吗?野指针,意外指针出现怎么办?1 C6 V" I! T/ h) N% y9 ~
你确定你的逻辑百分百正常吗?出现逻辑错误如何发现?
/ O: o, E) L3 d* f& h+ Y你的系统上电自检如果如果硬件异常你应该通过什么来发现?/ ?; o7 |3 N4 U. p0 T& T- i
重载、栈溢出等等之类一大堆的问题你觉得能通过什么办法发现?- b9 h' M6 D3 C& J7 x" i) i- Q" r3 i
调试是一门比设计程序还要复杂的技术,而不是什么F5、单步跟踪能解决的!
  h) i2 G$ o/ g5 R" {希望我以上抛出的这一大堆问题能帮助你知道什么是调试!
moyanming2013 回答时间:2016-11-22 14:08:28
中山无雪 发表于 2016-11-21 21:59& ?% |0 ?5 S' j1 J% o( ^
串口输出调试信息可以帮助开发者快速定位错误,难道你写了一个几千行的软件,有复杂的处理逻辑的程序,你 ...
5 d$ e. L4 U; q8 }* N7 p
1.不管几千行的还是几万行的代码都需要调试每一行!8 c$ Q: k" d* M
说明:问题是一个一个解决的,倘若每一行代码都有问题也是如此。你不太可能一次调试上百行代码,否则这是程序逻辑问题而这百行代码都得需要重写。首先是确定问题到某个函数,然后再确定逻辑问题,最后确定哪行出现的问题。是个逐步确定的过程。这个逐步确定的过程反而是通过调试最快。
$ q# Q; A' m* O/ I6 J/ T2.不可否认ST有自身的原因。
# b+ U' }7 y4 k: W7 H但,想想自己是否都能处理到位呢而不是一上来就说ST的I2C不行。
4 Y( I8 C/ w2 ^大家都是程序员,心里怎么想的都清楚,无非是想推卸自己的责任,然后即使模拟了I2C出现了问题(往往就会出现问题)也会归咎于ST的问题。& |& x* E  n4 I4 s( n  e! y
3.我说的是使用ST原厂的(软硬件)评估板而不是自己焊接或者第三方板。+ w9 o& \+ ?& S; K
这显然激怒了一些第三方卖家!0 C7 @2 @/ W9 d1 b9 g+ |6 w2 O
我也是从这走过来的,使用后感觉第三方的评估板罕有好用的!为了新同学进入这个领域少走弯路、少被坑、少花钱,干脆直接说别用第三方开发板比较直接一些(尽管这会损坏罕有的好用的第三方)。这就好比你在百度搜索哪里是武警总医院,结果给你100万个不同的连接,为什么总有人会上当就是他们没法区分。那么干脆就别搜索,直接登录ST.COM找到的板子就一定是真好用的!
cuyebiren 回答时间:2016-11-22 14:09:39
Inc_brza 发表于 2016-11-22 13:171 u0 L$ y0 t- x# s  `& k/ q
你确定你的程序只会出现你所说的这几个无伤大雅的小问题吗?
+ A" d! T, V. l5 g; {* U. j你确定你的算法百分百正确吗?如果运行10000 ...

6 O$ `" M. ?0 i6 `嗯。可以看出,阁下做了好多完整的项目、产品。。。
moyanming2013 回答时间:2016-11-22 17:05:27
Inc_brza 发表于 2016-11-22 11:479 P7 ]; q! U# Q6 j- @8 d! u
什么F5单步,你压根就不知道什么叫调试!
" W1 p  s8 @5 \) P( f3 w' ^, M& q
(更多讨论移步:
5 x6 V# X) J+ F9 [8 m8 ]https://www.stmcu.org.cn/module/forum/thread-609249-1-1.html
moyanming2013 回答时间:2016-11-22 17:05:43
Inc_brza 发表于 2016-11-22 11:468 i" ^$ U& G  W5 S8 [* T9 W7 o
不同意!0 O  {( _: Y* Z- w+ F5 V
模拟IIC比硬件IIC具有更方便的跨平台移植性!不是说硬件IIC不好,之所以不用,是因为IIC是飞利 ...

. ?+ N; j% j# X' _; A  D(更多讨论移步:
  h' ?& k- x& W  J* O$ v8 D5 ohttps://www.stmcu.org.cn/module/forum/thread-609249-1-1.html
moyanming2013 回答时间:2016-11-22 17:07:18
没事逛荡 发表于 2016-11-22 09:24' M" w2 S/ x3 P: ?$ f; A
感觉串口打印还是很有必要的。很多时候,由外部触发的事件,需要查看一系列的变化,靠F5调试,很难达到效 ...

- T9 [) l( {" X嗯,printf有时还是需要的,比如对于没有调试环境的场景:现场看问题时,等。
五哥1 回答时间:2016-11-22 17:07:44
这个确实很简单就配置好了,前提是必须很熟练的知道怎样配置,包括硬件的连接。

所属标签

相似分享

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