Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Микроконтроллеры других производителей

Микроконтроллеры других производителей Все, что касается микроконтроллеров и НЕ подошло в раздел Microchip.

Ответ
 
Опции темы Опции просмотра
Старый 14.06.2020, 20:06   #1
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 3,160
Вес репутации: 4064/119
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию передача в функцию указателя на структуру

Имею необходимость употребить DSP библиотеку arm_cortexM4lf_math.lib с целью посчитать FIR дециматор.
Включил оную библиотеку в проект и приинклюдил в исходник arm_math.h.
Далее пытаюсь употребить функцию инициализации с прототипом в хедере:
Код:
/**
   * @brief  Initialization function for the Q15 FIR decimator.
   * @param[in,out] S          points to an instance of the Q15 FIR decimator structure.
   * @param[in]     numTaps    number of coefficients in the filter.
   * @param[in]     M          decimation factor.
   * @param[in]     pCoeffs    points to the filter coefficients.
   * @param[in]     pState     points to the state buffer.
   * @param[in]     blockSize  number of input samples to process per call.
   * @return    The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if
   * <code>blockSize</code> is not a multiple of <code>M</code>.
   */
  arm_status arm_fir_decimate_init_q15(
        arm_fir_decimate_instance_q15 * S, // <--- вопрос про это
        uint16_t numTaps,
        uint8_t M,
        const q15_t * pCoeffs,
        q15_t * pState,
        uint32_t blockSize);
и ранее объявленным в этом же хедере типом указателя на структуру:
Код:
/**
   * @brief Instance structure for the Q15 FIR filter.
   */
  typedef struct
  {
          uint16_t numTaps;         /**< number of filter coefficients in the filter. */
          q15_t *pState;            /**< points to the state variable array. The array is of length numTaps+blockSize-1. */
    const q15_t *pCoeffs;           /**< points to the coefficient array. The array is of length numTaps.*/
  } arm_fir_instance_q15;
Возникает ошибка в передаче этого указателя в оную функцию:
Код:
#include <stdio.h>
#include <arm_math.h>
#include <stdbool.h>

arm_fir_instance_q15* myFIR;
q15_t stateFIR;
const q15_t coeffFIR [17] = { 0x15,0x3,0x99,0x3,0x15,0x15,0x3,0x99,0x3,0x15,0x3,0x15,0x15,0x3,0x99,0x3,0x15 };
q15_t dataArr [792];
q15_t outputArray[96];


int main (void)
{

	myFIR->numTaps = 17;
	myFIR->pCoeffs = coeffFIR;
	myFIR->pState = &stateFIR;
	
	arm_fir_decimate_init_q15	(myFIR,// <--- тут пишет про неверный тип																	 
                                         17																				 
                                          8,																					 
                                          coeffFIR,																					 
                                          outputArray,																					 
                                          792 );	
	
	while(1)
	{
		
	}
}
ЧЯДНТ?
Марк вне форума   Ответить с цитированием
Старый 14.06.2020, 20:21   #2
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,358
Вес репутации: 4510/98
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: передача в функцию указателя на структуру

Марк
Я ознакомился с Вашим кодом и у меня сложилось впечатление, что у Вас не совпадают типы того, что функция ожидает и то, что Вы туда передаете.

Посмотрите еще раз.

ожидает
arm_fir_decimate_instance_q15 *

Вы передаете
arm_fir_instance_q15 *
besogon вне форума   Ответить с цитированием
Старый 14.06.2020, 20:24   #3
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,358
Вес репутации: 4510/98
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: передача в функцию указателя на структуру

https://arm-software.github.io/CMSIS...ance__q15.html

https://arm-software.github.io/CMSIS...ance__q15.html
besogon вне форума   Ответить с цитированием
Старый 14.06.2020, 20:36   #4
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 3,160
Вес репутации: 4064/119
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: передача в функцию указателя на структуру

Цитата:
Сообщение от besogon Посмотреть сообщение
Марк

ожидает
arm_fir_decimate_instance_q15 *

Вы передаете
arm_fir_instance_q15 *
Премного благодарен! Уже в глазах рябит от практически одинаковых типов...
Марк вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LCD индикатор от логического реле fol Общетехнические вопросы 13 04.07.2012 01:32
MPLAB не находит c018i.o qwerty1 Продукция MICROCHIP 45 22.04.2011 12:14
PIC16F84a stepka Вопросы начинающих 56 24.03.2010 18:30
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00


Часовой пояс GMT +3, время: 05:24.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot