CPU:
STM32V103RCT6
@72MHZ
环境:
MDK
(ARMCC 4.1.0.713)
仿真器:
J-LINK
执行STRB指令之前,如下图:
数组NMTTable[]的各值全部为0x0000000F;
(总共有128个元素)
nodId=0;
Disconnected是enum_nodeState中的元素,当前值是1:
enum enum_nodeState {
Initialisation
= 0x00,
Disconnected
= 0x01,
Connecting
= 0x02,
Preparing
= 0x02,
Stopped
= 0x04,
Operational
= 0x05,
Pre_operational = 0x7F,
Unknown_state
= 0x0F
};
执行STRB指令之后,如下图,请你见证奇迹:
数组NMTTable[]的128个元素的各值全部被写成了0x00000001;
这一条寄存器到存储器的字节传送指令:STRB,它能一次传送128字???
神奇吧???
哪位高手能解释一下?
我这是在调试CanFestival的CanOpen源码,在此之前,我曾在M16C290单片机上,成功地运行了CanFestival,现在是想让它在STM32
上运行,不小心发现了STM32的神奇之STRB指令....
|