你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
中山无雪 发表于 2016-11-21 22:25 - O3 J8 b/ a8 P( A: i& G. t最好仔细看一下《勘误表》
没事逛荡 发表于 2016-11-22 09:24 5 n2 k& d1 l% @! Y& m1 s) h; z感觉串口打印还是很有必要的。很多时候,由外部触发的事件,需要查看一系列的变化,靠F5调试,很难达到效 ...
c_ptr 发表于 2016-11-22 11:215 ]! N4 R7 D, ` 装B的人无处不在,呵呵,串口暂时不会退出历史舞台的,用处大大的
moyanming2013 发表于 2016-11-21 16:39 ; {, P3 l. T, d( K' ~printf其实是什么所谓的“IO重定向”,早年间的MCU能力太弱,但串口功能总还是有的。但,现在都什么年代 ...
moyanming2013 发表于 2016-11-21 16:49* |4 h( s# b B2 z- ?! V printf不是调试,它只是你程序中输出“日志”的方式而已。一旦遇到真bug,哪还有输出“日志”的机会呢! + J% w& n8 F* E! D9 b4 a ...
中山无雪 发表于 2016-11-21 21:59 # ~& w0 o+ a3 w& d0 R4 E+ O串口输出调试信息可以帮助开发者快速定位错误,难道你写了一个几千行的软件,有复杂的处理逻辑的程序,你 ...
Inc_brza 发表于 2016-11-22 11:56$ B( R8 w; |, J9 \' J* I" s! U 严重同意你所说! % e& D8 V0 o! J# d" S% u' ^' ~如果真要为了显示所谓的真调试技术,完全是不需要申请什么板子的,手上随便一个能编程 % N, o' h @$ ^2 ?7 ~0 N3 q, V ...
cuyebiren 发表于 2016-11-22 12:44 . E; g! j6 H! R! H% v( \1 t串口调试,应该就是 在 容易出错的关键点 加上 类似 assert 等 断言语句。。。等调试通过没问题了,再通 ...
中山无雪 发表于 2016-11-21 21:59 ' r9 x" ?$ R) M& `串口输出调试信息可以帮助开发者快速定位错误,难道你写了一个几千行的软件,有复杂的处理逻辑的程序,你 ...
Inc_brza 发表于 2016-11-22 13:17 6 o4 [5 w3 L; y4 J2 D你确定你的程序只会出现你所说的这几个无伤大雅的小问题吗?$ z J" X! f! ?8 Y# q 你确定你的算法百分百正确吗?如果运行10000 ...
Inc_brza 发表于 2016-11-22 11:47 ' ]" K% P2 C4 T- ]; i什么F5单步,你压根就不知道什么叫调试!
Inc_brza 发表于 2016-11-22 11:46 1 } R% z$ w8 _不同意!/ l$ ?! x: K, E& n4 ~+ {/ a 模拟IIC比硬件IIC具有更方便的跨平台移植性!不是说硬件IIC不好,之所以不用,是因为IIC是飞利 ...
没事逛荡 发表于 2016-11-22 09:24 E1 c7 h; U( K0 p4 ^- N4 P! }3 B感觉串口打印还是很有必要的。很多时候,由外部触发的事件,需要查看一系列的变化,靠F5调试,很难达到效 ...
意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。关注该话题即可发布文章!
是应该好好看看《勘误表》。。。
怎么方便就怎么用,只要能解决实际问题,管他“黑猫白猫,都是好猫”。
嗯。我也感觉串口很好用,实际项目中用到最多的通信就是串口通信
不同意!
模拟IIC比硬件IIC具有更方便的跨平台移植性!不是说硬件IIC不好,之所以不用,是因为IIC是飞利浦的专利!ST为了规避专利而把它设计得难用!FAQ里面都有IIC的相关说明!0 P7 q8 K9 u" Q7 q. n
第二,iic和usb都是短距离通信设备协议,而串口协议至今仍然是工业的常用协议之一!至少在硬件上,你的usb和iic都没办法进行长距离传输!! @' Z8 v0 D% x% R
第三,usb转串口并不是无聊的所谓高大上的附加模块,因为电脑的设计,usb的通用以及usb本身的特点,pnp的强大优点所以把通信时间没太高要求的串口并上而使之成为usb的一个设备而增加简便性,另外在工业上,物理串口仍然是必须的!. B. H4 Z! }* S" z3 e5 `8 u* q# P6 B, \* _
你写的根本不安实际分析!所以你压根就没有对那些顽固不化的人的一顿大脸,反而彰显出你的无知!
如果有得罪,还请见谅,技术讨论!
点评
什么F5单步,你压根就不知道什么叫调试!+ I* q" i! {5 W9 m& @+ u! a
严重同意你所说!3 l3 E5 R9 i+ y. `+ L
如果真要为了显示所谓的真调试技术,完全是不需要申请什么板子的,手上随便一个能编程& b7 S9 R4 ~0 b& K# ?4 |
的板子都能胜任,就算没有能编程的板子,有一台能写代码的电脑即可!6 J" }4 s( b2 W* _3 y/ i6 d' I
当然,有申请板子的机会肯定也是应该要抓住的!有机会不抓是笨蛋!
如果串口真如所说这么垃圾!为何工业仍然要采取串口!为什么设计的板子基本都会加入串口!
显示高大上的话,网口、wifi、蓝牙之类的新技术更能显示出逼格!# k B; k; `9 F8 R/ O
无知不可怕,但是不要拿无知出来炫耀!
串口调试,应该就是 在 容易出错的关键点 加上 类似 assert 等 断言语句。。。等调试通过没问题了,再通过宏定义 把 它 屏蔽掉。。。
你确定你的程序只会出现你所说的这几个无伤大雅的小问题吗?9 i( |9 Y/ E; v, x" l
你确定你的算法百分百正确吗?如果运行10000步后出现计算错误怎么办?' c8 Y" @" ~& u# }$ ?
你确定你的指针指向百分百正确吗?野指针,意外指针出现怎么办?9 c4 l" J* K' T8 x. \
你确定你的逻辑百分百正常吗?出现逻辑错误如何发现?" @" c; J" |% S" N/ B
你的系统上电自检如果如果硬件异常你应该通过什么来发现?
重载、栈溢出等等之类一大堆的问题你觉得能通过什么办法发现?
调试是一门比设计程序还要复杂的技术,而不是什么F5、单步跟踪能解决的!; A9 y; \; d* L* v: `
希望我以上抛出的这一大堆问题能帮助你知道什么是调试!
1.不管几千行的还是几万行的代码都需要调试每一行!
说明:问题是一个一个解决的,倘若每一行代码都有问题也是如此。你不太可能一次调试上百行代码,否则这是程序逻辑问题而这百行代码都得需要重写。首先是确定问题到某个函数,然后再确定逻辑问题,最后确定哪行出现的问题。是个逐步确定的过程。这个逐步确定的过程反而是通过调试最快。
2.不可否认ST有自身的原因。7 }- y1 ]( r; S5 `
但,想想自己是否都能处理到位呢而不是一上来就说ST的I2C不行。* q2 _+ Y7 u' c; x* X
大家都是程序员,心里怎么想的都清楚,无非是想推卸自己的责任,然后即使模拟了I2C出现了问题(往往就会出现问题)也会归咎于ST的问题。
3.我说的是使用ST原厂的(软硬件)评估板而不是自己焊接或者第三方板。1 x4 {3 [- y3 N1 c+ k: w% h
这显然激怒了一些第三方卖家!2 w% G" f/ { y2 N; S
我也是从这走过来的,使用后感觉第三方的评估板罕有好用的!为了新同学进入这个领域少走弯路、少被坑、少花钱,干脆直接说别用第三方开发板比较直接一些(尽管这会损坏罕有的好用的第三方)。这就好比你在百度搜索哪里是武警总医院,结果给你100万个不同的连接,为什么总有人会上当就是他们没法区分。那么干脆就别搜索,直接登录ST.COM找到的板子就一定是真好用的!
嗯。可以看出,阁下做了好多完整的项目、产品。。。
(更多讨论移步:
https://www.stmcu.org.cn/module/forum/thread-609249-1-1.html)
(更多讨论移步:
https://www.stmcu.org.cn/module/forum/thread-609249-1-1.html)
嗯,printf有时还是需要的,比如对于没有调试环境的场景:现场看问题时,等。