我用IAR EBW编程msp430.
我的表达式如下:
adres = (uint_fast16_t *) 0x8602 + (0x0200*i);
Run Code Online (Sandbox Code Playgroud)
在for循环中,以便我随着每个循环增加.出于某种原因,它会跳过两个地址中的每一个并给我:
0x8602
0x8A02
0x8E02
Run Code Online (Sandbox Code Playgroud)
等等.因此跳过0x8802,也就是0x8C02等等.
为什么会这样?
////下面是完整代码,请注意我被放置在三个循环中,每个人都给出相同的结果.////还要注意在调试时检查时显示为:1,2,3 ......等
#include "io430.h"
#include <stdint.h>
int main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
// Inicjalizuj piny GPIO
P3OUT &= ~(BIT4+BIT5); // zeruj warto?ci by zapobiec krótkotrwa?ym impulsom
P3DIR |= BIT4; // ustaw pin3.4 UCA0TXD oraz piny 3.0 CS, 3.1 SIMO, 3.3 CLK jako wyj?cie
P3DIR &= ~(BIT5); // ustaw pin3.5 UCA0RXD oraz …Run Code Online (Sandbox Code Playgroud)