Массив констант-указателей
- КРАМ
- Друг Кота
- Сообщения: 25292
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Массив констант-указателей
Коллеги, как будет выглядеть (в частности в Кейл) синтаксис объявления массива констант-указателей на массивы переменных?
- Реклама
- КРАМ
- Друг Кота
- Сообщения: 25292
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Массив констант-указателей
Коллеги по работе подсказали (не без затруднений, правда):
А я все пытался написать:
И Кейл мне массив указателей размещал в ОЗУ... 
Код: Выделить всё
uint16_t buff_A[256], buff_B[256];
uint32_t *const ptr_buff_AB[2] = {&buff_A[0], &buff_B[0]};А я все пытался написать:
Код: Выделить всё
const uint32_t* ptr_buff_AB[2] = {&buff_A[0], &buff_B[0]};Re: Массив констант-указателей
Недавно была похожая задача с массивами строк, сделал так:
Объявил константами и указатель, и сами данные.
Код: Выделить всё
static const char *const trmHeader[] =
{
"WV,001E,",
"AOK\r\n",
"ERR\r\n",
"Connected\r\n",
"Connection End\r\n",
"CMD\r\n",
"Reboot\r\n",
"WC,0019,0100.\r\n",
"WC,001C,0100.\r\n"
};
Иван Сусанин - первый полупроводник 
- КРАМ
- Друг Кота
- Сообщения: 25292
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Массив констант-указателей
Физически у Вас - это таблица во флеше с константой-указателем в коде.
А у меня таблица переключений двух массивов в ОЗУ во флеше.
Просто мне нужно переключать два массива ДМА в ОЗУ между процедурой расчета и периферией назначения поочередно и противофазно.
Один массив рассчитывается, а второй выводится. Смена массивов в прерывании от ДМА по завершению трансфера.
Выбор массивов через указатель в таблице из двух адресов.
А у меня таблица переключений двух массивов в ОЗУ во флеше.
Просто мне нужно переключать два массива ДМА в ОЗУ между процедурой расчета и периферией назначения поочередно и противофазно.
Один массив рассчитывается, а второй выводится. Смена массивов в прерывании от ДМА по завершению трансфера.
Выбор массивов через указатель в таблице из двух адресов.
Re: Массив констант-указателей
Если в массивы нужно писать, то да, const нужен только справа от звезды.
У Вас получается массив константных указателей на uint32_t, а инициализируется он указателями на uint16_t. Может лучше объявить как массив указателей на uint16_t *const ?
У Вас получается массив константных указателей на uint32_t, а инициализируется он указателями на uint16_t. Может лучше объявить как массив указателей на uint16_t *const ?
Иван Сусанин - первый полупроводник 
- Реклама

