Jump to content
    

Настройка ЦАП MSP-EXP430FR2355

Здравствуйте, хочу настроить ЦАП на плате MSP-EXP430FR2355 и передавать в него массив значений. Вроде бы настроил, когда проверяю на мультиметре он показывает только одно последнее значение, а когда проверяю осциллографом показывает одно напряжение и непонятные кратковременные импульсы.  В чем может быть дело? Ниже участок кода.

 

GPIO_setAsPeripheralModuleFunctionOutpuPin(GPIO_PORT_P1, GPIO_PIN1, GPIO_TERNARY_MODULE_FUNCTION);
SAC_OA_init(SAC0_BASE, SAC_OA_POSITIVE_INPUT_SOURCE_DAC, SAC_OA_NEGATIVE_INPUT_SOURCE_PGA);
SAC_OA_select_PowerMode(SAC0_BASE, SAC_OA_POWER_MODE_LOW_SPEED_LOW_POWER);
SAC_enable(SAC0_BASE);
SAC_OA_enable(SAC0_BASE);
SAC_DAC_enable(SAC0_BASE);
SAC_DAC_selectRefVoltage(SAC0_BASE, SAC_DAC_PRIMARY_REFERENCE);
 SAC_DAC_selectLoad(SAC0_BASE, SAC_DAC_LOAD_DACDAT_WRITTEN);


int array[5] = {1000, 1500, 2500, 3000, 3500 };

while(1){

for(int i=0; i<=5; ++i){

SAC0DAT=array;

}

}

 

Edited by haker_fox
Для оформления кода есть кнопка <>.

Share this post


Link to post
Share on other sites

19 минут назад, Sergey T сказал:
Так попробуйте:
SAC0DAT=array[i];

Извиняюсь, так и написано у меня, просто опечатался 

Share this post


Link to post
Share on other sites

ну так вы в ЦАП подряд засунули все значения, с паузой в несколько тактов между записями, там у ЦАПа settling time поди сильно дольше.

что он по вашему показать должен был?

 

uint32_t i = 0;
while(1) SAC0DAT = (i++)>>6;

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...