Вывод картинки на экран с ssd1289
Добавлено: Вс дек 15, 2013 18:05:23
Здравствуйте! Подключил к плате stm32f4discovery экран 320*240, нашел в интернете библиотеку для этого дела, работает хорошо, выводит всякие кружочки, прямоугольники, надписи. Захотелось вывести на экран какую-нибудь картинку. Встал вопрос как это сделать. В библиотеке есть функция:
В описании видно что в функцию передается 32-х битный адрес первого элемента массива. Я создал массив из констант
const unsigned short picture[] = {.................}
После передачи его в функцию таким образом:
LCD_WriteBMP(picture);
Кеил ругается так :main.c(21): error: #167: argument of type "const unsigned short *" is incompatible with parameter of type "uint32_t"
Подскажите как лучше сделать, в указателях запутался окончательно, читал книжку Страуструпа, запутался еще больше или для кейла си какой то особенный:(
Код: Выделить всё
/**
* @brief Displays a bitmap picture loaded in the internal Flash.
* @param BmpAddress: Bmp picture address in the internal Flash.
* @retval None
*/
void LCD_WriteBMP(uint32_t BmpAddress)
{
uint32_t index = 0, size = 0;
/* Read bitmap size */
size = *(__IO uint16_t *) (BmpAddress + 2);
size |= (*(__IO uint16_t *) (BmpAddress + 4)) << 16;
/* Get bitmap data address offset */
index = *(__IO uint16_t *) (BmpAddress + 10);
index |= (*(__IO uint16_t *) (BmpAddress + 12)) << 16;
size = (size - index)/2;
BmpAddress += index;
/* Set GRAM write direction and BGR = 1 */
/* I/D=00 (Horizontal : decrement, Vertical : decrement) */
/* AM=1 (address is updated in vertical writing direction) */
LCD_WriteReg(0x0011,0x6008);
LCD_WriteRAM_Prepare();
for(index = 0; index < size; index++)
{
LCD_WriteRAM(*(__IO uint16_t *)BmpAddress);
BmpAddress += 2;
}
LCD_WriteReg(0x0011,0x6018);
}const unsigned short picture[] = {.................}
После передачи его в функцию таким образом:
LCD_WriteBMP(picture);
Кеил ругается так :main.c(21): error: #167: argument of type "const unsigned short *" is incompatible with parameter of type "uint32_t"
Подскажите как лучше сделать, в указателях запутался окончательно, читал книжку Страуструпа, запутался еще больше или для кейла си какой то особенный:(