|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-11-6 16:54 编辑
J2 h* m- a z" ]
6 I0 P- }# ]* G+ y, pSTC单片机使用RS485通信、下载(MAX485/MAX3485接【P30,P31】)
P' W J, {( R G. l& {. J建议使用自动收发电路(STC8、STC32)
$ L, l" g% i( a% J( i建议使用内部预置的多种常用频率(不建议根据串口波特率动态调节频率)" s8 K6 S! L) s3 i( s9 r3 k; A
自动收发电路参考datasheet:. R- x* c3 j! C5 A$ R2 W' n7 r' a% J
9 a/ n& X/ K- A! F8 M使用自动收发电路下载,
! _/ X4 f J" e9 z, J; f4 w【勾选本次使用RS485进行控制下载】,. ?) m6 w8 v& w. C6 f2 @
【不勾选下次下载时使能目标芯片的RS485控制功能】1 s" t o# C I6 w
2 o) U6 {) C' v9 ?( y% s
TTL下载无论是否选择本次使用485下载都能正常下载,但速度有差异
5 F% Y4 P2 k6 z8 t+ X
4 w' b* O: L! I不勾选本次使用RS485进行控制下载:4 S0 c0 u! H, W) ~; M7 }
2 r3 M0 K( A0 s* Y$ t F7 @4 s
勾选本次使用RS485进行控制下载:
. l0 i: X2 E+ F1 ]2 X
- P$ v- q# C3 l0 S& u( z' e, HSTC15及更早的单片机不支持自动收发,需要使用收发控制引脚5 l6 v5 o: E3 d. T4 D. C
【勾选下次下载时使能目标芯片的RS485控制功能】且收发控制引脚和电平必须设置正确& O% _$ v+ s( e6 h
STC8、STC32如使用引脚控制收发,也需要这样设置(不建议,建议使用自动收发电路)' {7 J0 t4 I C4 w7 ~: H4 U) J
: }% `: a/ z, G! }& O4 t
如使用引脚控制收发,务必勾选下次下载时使能目标芯片的RS485控制功能
1 u5 f3 b5 T! q1 h* n且收发控制引脚和电平必须设置正确,
& J! s& m; o" P) J+ H2 _否则设备可能变砖
0 c- w$ E7 s) r- }0 q(可能要飞线救砖,如果设备用环氧树脂灌封就变黑砖了,没救了,再也无法下载了)
* T) g/ f+ d4 U" ? w# a2 S/ v( U, n
! G/ }5 o0 l( }8 l9 w; U/ L
所以建议STCAI-ISP增加如下功能:: S: q# Z2 x# N( @
如下载前检测当前芯片的硬件选项时,检测到下次下载用户程序时,使用相关的端口控制485,
3 j& k% Y4 M; y% n- {* N/ H则对比这几个设置是否相同
* @6 X1 M) V4 c3 K9 I( B0 k
' E* v& s- M Z9 e4 a
如不相同,弹窗, E q `9 \% l+ Z- J* q/ `
! b7 A. s+ w# g0 B K9 G0 @/ c
因为这个设置错误的后果和下次P32/P33为0/0才能下载是相同的,, N7 {' h4 B3 C: ^
都要飞线才能“救砖”,如果是组装好的设备还要拆开处理,非常麻烦
4 t# Q8 Q) z1 Z( z9 d# t当然使用485自动控制电路可以避免这个问题,还能省个I/O口,
' K Z; x. Z, R# f- @, Z! Y E# ?但那也不需要勾选下次下载时使能目标芯片的RS485控制功能,* W \3 a5 J) x0 h* |" o7 T5 p
直接勾选本次使用RS485进行控制下载就可以了1 T/ V9 b8 X! f
: r, L( K; L% h5 p1 E- u2 E
所以勾选下次下载时使能目标芯片的RS485控制功能的一定是使用I/O口控制的,
' q/ w* t+ ~. c; n1 |使用IO口控制就可能忘记设置这些选项1 ^$ l# B/ d+ D1 j- o0 q, e
所以强烈建议加个弹窗确认,避免忘了设置或设置错误导致变砖
6 y) Y" e7 A0 @* x& J就是不清楚检测硬件选项时是否能读出使用哪个IO口进行控制,如果无法读出,
' E! \) m; t; r3 u; g! k1 q可能就要连ISP固件和STCAI-ISP都要修改了,太麻烦的话就算了,
( K, W1 B* n4 ?# W, N- f3 n6 y在datasheet的RS485下载处醒目标出也行,# h* C8 h7 v6 y- Y7 t {
或者下载前检测当前芯片的硬件选项时,
k- I& b& |& Z& R, `$ N+ O1 ^/ M1 N检测到下次下载用户程序时,使用相关的端口控制485,不对比RS485控制相关选项是如何设置的,
7 j4 o- W9 {/ u/ t直接弹窗提示检查相关选项
0 @% |6 n8 p5 x' l% S" G O我现在是用txt记录所有选项的,下载之前挨个设置一遍,
2 x6 c. s& T1 H9 Q1 m% `同事出差要用就直接给发布项目程序的exe,避免设置出错$ K$ C, e" B, {! r
' S, T0 |0 n4 H
# k# P+ U) a5 G7 D
6 Z ?! ~% M. C
- }8 r" V3 ~ z, W) I, N g4 J
6 \9 A3 x6 N6 I1 F2 B |
|