厦门莫格电气自动化有限公司销售
ABB IMASO11、SPNIS21
欢迎来电咨询!
IMASO11、SPNIS21
IMASO11、SPNIS21
IMASO11、SPNIS21
您迈开询价的一小步,我还您成功的一大步。
单片机程序死机,跑飞了可以从以下几个方面查找原因:
1. 意外中断。是否打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断,造成死机假象
2. 中断变量处理不妥。若定义某些会在中断中修改的全局变量,这时要注意两个问题:首先为了防止编译器优化中断变量,要在这些变量定义时前加volatile,其次在主循环中读取中断变量前应该首先关闭全局中断,防止读到一半被中断给修改了,读完之后再打开全局中断;否则出现造成数据乱套。
3. 地址溢出,常见错误为指针操作错误。我要着重说的是数组下标使用循环函数中循环变量,如果循环变量没控制好则会出现数组下标越界,意外修改系统的寄存器造成死机,这种情况下如果死机说明运气好,否则后面不知道发生什么头疼的事。
4. 无条件的死循环;比如使用while(x);等待电平变化,正常情况下x都会变成0,就怕万一,因此***好加上时间限制;
5. 看门狗没有关闭。有的单片机即使没使用看门狗开机时也有可能意外自动开启了***小周期的看门狗,导致软件不断复位,造成死机,这个要看芯片手册,***好在程序复位后首先应该显式清除看门狗再关闭看门狗;
6. 堆栈溢出。***难查找的问题,对于容量小的单片机,尽量减少函数调用层级,减少局部变量,从而减少压栈的时候所需的空间。当你把以上几条都试过不能解决问题,试一试把你的被调用少函数直接内置到调用的地方并且把占用RAM大的局部变量改成全局变量,试一试说不定就可以了。
IC693CHS392
IC693CHS391
IC693CMM311
IC693ALG223
IC693ALG392
IC693CPU372
IC693MDL645
IC693MDL740
IC693PWR331
IC697ALG440
6DD1600-0AK0
183432B-01
1762-L40BWA
1305-BA03A-HA2
140CPS11420
140CPU53414A
140NOE71100
140XBP00600
170AAI14000
170AAO92100
170ADI34000
170ADO34000
170INT11000
171CCC96030
172JNN21032
BMXCPS2000
BMXDDI1602
BMXDDO1602
BMXP342020
BMXXBP0800
TSXMRPC002M
1756-A13
1756-CNB
1756-ENBT
1756-IF16
1756-IM16I
1756-OF8
1756-OW16I
1756-PA75
DC591/110A
MCC95-16
140DAI74000
140DRA84000
1756-IF8
1756-IM16I
1756-OF8
1756-OW16I
6SE3190-0DX87-2DA0
1784-PKTX
MVI56-MCM
CAB6-140-EI
1746-A4
1746-IB16
1746-OW16
1746-P1
1747-L531
CIMR-HB4A0180
SGDB-20ADG
6ES7 332-5HDO1-0ABO
6ES7-322-1HF01-0AA0
1388B-***40
6ES5188-3UA52
MAO185100
"1746-OB16 "
"1756-PA75 "
1771-CFM
"1794-PS13 "
1746-IB32
IC693CMM311N
6DD1681-0CA2
CP60 P0961FR
MDX61B0005-5A3-4-00
1786-TPYS
1794-ACN15
1794-OV16
1747-L542
WDP3-014.0801
1746-0A16
1746-IB16
1746NI4
1746-NR8
1746-NT8
1746-OW16
1747-L542
1756-BA1
1756-BA2
1769-ECL
1769-ECR
1769-IQ16
1769-L32E
1769-PA4
1757-SRM
1756-IB16
1756-IF8
1756-OA8
1756-OB16D
6ES5988-3LA11
6ES7322-1BL00-0AA0
TSXCDP1001
6***3503-1DB10
27V NT KRC2
KPS-600/20-ESC
KSD1-16
KSD1-48
6SE7041-2UL84-1GFO
CPU6ES7314-1AG13-OABO
1794-IRT8
ABE7H12R10
ABE7H16R50
ABE7R16T332
3RX9307-0AA00
194E-A32-1753
CDP-01-MMM
HE693THM809
IC693ALG221
IC693CHS397
IC693CPU372-AB
IC693MDL634
IC693MDL753
IC693PWR330HE
BWU1488
1756-IM16I
1756-OF8
H2310240032X512
H2310240032X512
1746-IA16
1746-IB16
1746-NI4
1746-NR4
1746-OX8
1746-P2
1747-L541
QUINT PS-100-240AC/24DC/40
032866-1027
FBM217
FBM224
745-W2-P5-G5-HI-A-E
SR469-P5-HI_A20E
H2310240032X512
NP1F-MA2
PS10116-A-21
3AM050.6
3BM150.9
3BP150.41
3BP151.4
3CP153.9
3CP260.60-1
3DI475.6
3DI476.6
3DO479.6
3ME963.90-1
3NC150.6
3PS465.9
4E0011.01-090
CDMR-WII
355-053-01
HDD02.2-W040N-HD12-01-FW
FBM217
FBM224
P0700HU
WESDAC D20M++
1756-A7
1756-CNBR
1763-L16BWA
1786-TPS
22A-D4P0N104
UGTMEM-03SB2
IC65N 2P D20A
MKS51A005-503-50
CPS-150F
JANCD-XCP01C
TSXAEY1600
140ACI03000
140AMM09000
140CPS21400
140CPU65150
140DDI35300
AM-SA85-000
TSX P57 3634M
TSXDEY32D2K
CDMR-WII
P0904HN
P0916CC
P0916TA FBM242
P0917HD FBM223
P0926DF
P0973BP
6DR2210-5
X450A-48T
LZS-1500-3 P0904HN
P0916CC
P0916TA FBM242
P0917HD FBM223