ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 апреля
590038
PeterD (03.04.2015 11:14, просмотров: 2738)
В IAR-e путаюсь передать структуру в функцию.  struct round_buff_{ unsigned short int buff[16]; unsigned char p_wr; unsigned char p_rd; unsigned char num_write_rd; } chn_adc0,chn_adc1; функцию вызываю в подпрограмме прерывания (или в любой другой подпрограмме тут же получаю ошибку) если функцию вызываю в main все проходит. Структуру пытаюсь передать через указатель. Подскажите где рыть. Вот функция. // // // // // unsigned short int round_buff_wr_rd (round_buff_ *chn_adcX, unsigned short int data, STATE_FIFO state ) { unsigned short int data_read = state; switch (state) { case f_reset: (*chn_adcX).p_wr = 0; (*chn_adcX).p_rd = 0; break; case f_write: (*chn_adcX).buff[(*chn_adcX).p_wr]=data; (*chn_adcX).p_wr=((*chn_adcX).p_wr+1) & 0x0F; break; case f_read: data_read = (*chn_adcX).buff[(*chn_adcX).p_rd]; (*chn_adcX).p_rd = ((*chn_adcX).p_rd+1) & 0x0F; break; }; return data_read; }; Вызов в функции в прерывании приводит к ошибке ..................................................... ..................................................... case ADC12IV_ADC12IFG0: round_buff_wr_rd(&chn_adc0,ADC12MEM0,f_write); break; case ADC12IV_ADC12IFG1: round_buff_wr_rd(&chn_adc1,ADC12MEM1,f_write); break; case ADC12IV_ADC12IFG2: .................................................... ..................................................... Error[Pe415]: no suitable constructor exists to convert from "round_buff_ *" to "round_buff_"