Изучаем STM32 Cortex M3
16.12.2011, 00:28
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Помогите мне, пожалуйста, еще с одной проблемой. Как обратится к статичному двумерному массиву, взяв из него строку:
Массив:
|
Код:
|
static unsigned char const DS18B20_sn[5][8]=
{
{0x10, 0x20, 0x30, 0x30, 0x40, 0x10, 0x10, 0x50},
{0x10, 0x20, 0x30, 0x30, 0x42, 0x10, 0x10, 0x51},
{0x10, 0x20, 0x30, 0x30, 0x45, 0x10, 0x10, 0x51},
{0x10, 0x20, 0x30, 0x30, 0x47, 0x10, 0x10, 0x51},
{0x10, 0x20, 0x30, 0x30, 0x48, 0x10, 0x10, 0x51},
}; |
И обращение:
|
Код:
|
err=DS1822_Search_Rom_One_Device(One_Wire_Pin, & DS18B20_sn[1]); |
Ошибка совместимости типов:
|
Цитата:
|
|
..\USER\main.c(120): error: #167: argument of type "const unsigned char (*)[8]" is incompatible with parameter of type "unsigned char (*)[8]"
|
|
|
|
|
16.12.2011, 00:52
|
|
|
Гражданин KAZUS.RUN
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
& не надо
err= DS1822_Search_Rom_One_Device(One_Wire_Pin, DS18B20_sn[1]);
эквивалентно следующему
err=DS1822_Search_Rom_One_Device(One_Wire_Pin, & DS18B20_sn[1][0])
|
|
|
|
16.12.2011, 00:55
|
|
|
Гражданин KAZUS.RUN
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Чтобы обратится к отдельной строке массива ,нужно указать только левый индекс
|
|
|
|
16.12.2011, 01:10
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Zemlyanov, большое спасибо, но проблема конвертирования типов осталась. Массив-то константный:
..\USER\main.c(120): error: #167: argument of type "const unsigned char *" is incompatible with parameter of type "unsigned char (*)[8]"
Хотя это только пример, разумеется. Я не планирую держать во флеше номера датчиков. Это не разумно. Мне важно понять принцип.
|
|
|
|
16.12.2011, 07:51
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Easyrider83
|
|
Ошибка совместимости типов:
|
err= DS1822_Search_Rom_One_Device(One_Wire_Pin, (unsigned char*)& DS18B20_sn[1]);
|
|
|
|
16.12.2011, 13:30
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от AJScorp
|
|
err=DS1822_Search_Rom_One_Device(One_Wire_Pin, (unsigned char*)& DS18B20_sn[1]);
|
|
Цитата:
|
|
..\USER\main.c(120): error: #167: argument of type "unsigned char *" is incompatible with parameter of type "unsigned char (*)[8]"
|
  
ну прямо не везет мне
спасибо за поддержку!
|
|
|
|
16.12.2011, 13:39
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Easyrider83
|
|
ну прямо не везет мне
|
Как описана функция DS1822_Search_Rom_One_Device?
|
|
|
|
16.12.2011, 13:48
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от AJScorp
|
|
Как описана функция DS1822_Search_Rom_One_Device?
|
|
Код:
|
unsigned char DS1822_Search_Rom_One_Device (GPIO_TypeDef * GPIOx, unsigned long PINx, unsigned char (*Serial_Num)[DS1822_SERIAL_NUM_SIZE]) |
|
|
|
|
16.12.2011, 14:28
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Ну, тогда
описание
unsigned char DS1822_Search_Rom_One_Device (GPIO_TypeDef * GPIOx, unsigned long PINx, unsigned char Serial_Num[DS1822_SERIAL_NUM_SIZE]);
вызов
err=DS1822_Search_Rom_One_Device(One_Wire_Pin, (unsigned char*)&DS18B20_sn[1]);
|
|
|
|
Сказали "Спасибо" AJScorp
|
|
|
16.12.2011, 21:08
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
AJScorp, спасибо, компилируется. Но в железе еще не проверял.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:37.
|
|