Спасиба за ответы. Все получилась, была банальная ошибка. Как было:
<c>
typedef struct
{
.............
volatile unsigned short pwm[N_CHANNELS];
..............
} Status;
Status status;
...........
volatile unsigned short* ptr_pwm;
ptr_pwm = status.pwm;
</c>
Как должно было быть:
<c>
typedef struct
{
.............
volatile unsigned short pwm[N_CHANNELS];
..............
} Status;
Status status;
...........
volatile unsigned short* ptr_pwm;
void my_func(void)
{
ptr_pwm = status.pwm;
}
</c>
Тоесть, присваивал значение указателю не при обьявлении указателя, а сразу после обьявления (не в теле функции).
Прошу извенить за промах. Сказываются большые перерывы во времени в програмировании :(.
К стате есть еще вопрос, но задам уже в другом топике.