|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-11-6 16:54 编辑
) N4 y# A' u6 G7 h4 d6 V; b5 _$ U! Q1 P6 \/ p
STC单片机使用RS485通信、下载(MAX485/MAX3485接【P30,P31】)3 E d, F& ]) I6 L
建议使用自动收发电路(STC8、STC32)
: a3 Y$ E& `$ w4 l建议使用内部预置的多种常用频率(不建议根据串口波特率动态调节频率)
; o. r, O( V+ A) T( g T) L9 g6 e自动收发电路参考datasheet:9 L6 L- y( c/ u# H' ?: p! J e$ Q
: _* W# F. J/ ^, z
使用自动收发电路下载,
8 \' L. _( Y# O* l/ L【勾选本次使用RS485进行控制下载】,/ k1 M7 t \5 l/ R; T8 E
【不勾选下次下载时使能目标芯片的RS485控制功能】+ T' l% j4 r1 R) Q/ z3 c
) E5 J, \* B1 N" x$ s
TTL下载无论是否选择本次使用485下载都能正常下载,但速度有差异
& u7 E0 j9 B' _3 X+ b! _/ ?% ^) P& ~( ^& N d% g
不勾选本次使用RS485进行控制下载:! ], c" ?/ {7 b; r
9 L" C1 H( r0 f勾选本次使用RS485进行控制下载:
! `* F6 V3 s+ `( z4 L
3 e9 x. t0 Z ]
STC15及更早的单片机不支持自动收发,需要使用收发控制引脚
3 c4 V6 P4 e' p' L" `+ g1 S: c【勾选下次下载时使能目标芯片的RS485控制功能】且收发控制引脚和电平必须设置正确
% V/ o. f9 e) w; P7 S8 ?STC8、STC32如使用引脚控制收发,也需要这样设置(不建议,建议使用自动收发电路)
9 e* H, f$ q/ ]: D
" y. w6 w, q& }8 ?0 X- @# y如使用引脚控制收发,务必勾选下次下载时使能目标芯片的RS485控制功能
/ u* ]# A; }! v' O- y$ v2 `且收发控制引脚和电平必须设置正确,
2 ~3 v" A/ i3 ~3 @7 _否则设备可能变砖 S/ S; L; y' ^5 ~
(可能要飞线救砖,如果设备用环氧树脂灌封就变黑砖了,没救了,再也无法下载了)5 a# i/ U O6 J1 }6 o
, ]; P7 }2 A& A8 ~
" b1 m+ d4 P6 b, O% b2 Y
所以建议STCAI-ISP增加如下功能:. p9 z. \+ c8 {' e
如下载前检测当前芯片的硬件选项时,检测到下次下载用户程序时,使用相关的端口控制485,; H& c, g" }' N N8 T/ Z( B
则对比这几个设置是否相同% d) F3 M7 m: _2 ^5 P
+ W1 f, G9 z# Z7 l x. d& t; f
如不相同,弹窗) `3 a. m9 X. i7 Z+ }' y6 L. b9 Y& | z+ E
. U" D) L z) n" ?
因为这个设置错误的后果和下次P32/P33为0/0才能下载是相同的,/ j3 ~: C! f$ q) L
都要飞线才能“救砖”,如果是组装好的设备还要拆开处理,非常麻烦
- [0 T. _7 O; h8 w当然使用485自动控制电路可以避免这个问题,还能省个I/O口,
( ?# K' c6 _. A6 W& g! q但那也不需要勾选下次下载时使能目标芯片的RS485控制功能,# _4 Q1 r' ^8 {( q* x+ v6 O: S
直接勾选本次使用RS485进行控制下载就可以了
% j# ]$ F* p+ ?" D7 i/ y7 f+ F! m; @) F0 @* C2 X
所以勾选下次下载时使能目标芯片的RS485控制功能的一定是使用I/O口控制的,
% k& L. Y6 T6 N) }* \1 Q使用IO口控制就可能忘记设置这些选项* h# c& ] ^" K" H
所以强烈建议加个弹窗确认,避免忘了设置或设置错误导致变砖
q c7 ?( z! a/ q' L2 ?: M就是不清楚检测硬件选项时是否能读出使用哪个IO口进行控制,如果无法读出,# f: Q: L" D" W5 A
可能就要连ISP固件和STCAI-ISP都要修改了,太麻烦的话就算了,
5 z/ O: A, S- e) Y. t- |! d在datasheet的RS485下载处醒目标出也行,
. F( U8 o5 f" f* k! P* Z, s或者下载前检测当前芯片的硬件选项时,
. g: C' ?- M# E! I" c1 ]) s o. R检测到下次下载用户程序时,使用相关的端口控制485,不对比RS485控制相关选项是如何设置的,
! \; K I! M2 w1 N" J直接弹窗提示检查相关选项' }: |9 @/ E- s) y1 B
我现在是用txt记录所有选项的,下载之前挨个设置一遍,
: _1 |" W: f. V1 B i7 a6 O同事出差要用就直接给发布项目程序的exe,避免设置出错' x3 |7 V0 h3 }- {$ D8 y
# W- @; F+ N5 x: O- h
' ]6 u) f, R6 d. Y
9 ?1 ]8 W& Y; M* ]2 J
. T: w; w0 u3 @8 J8 K% Z5 Q% n. Y; h3 P: v) d$ D
|
|