16.12.2011, 00:28
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
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.RU
Регистрация: 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.RU
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Чтобы обратится к отдельной строке массива ,нужно указать только левый индекс
|
|
|
|
16.12.2011, 01:10
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
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.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
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,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
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]"
|
![Помогите!](images/smilies/icon_sos.gif) ![Помогите!](images/smilies/icon_sos.gif) ![Помогите!](images/smilies/icon_sos.gif)
ну прямо не везет мне
спасибо за поддержку!
|
|
|
|
16.12.2011, 13:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Easyrider83
|
ну прямо не везет мне
|
Как описана функция DS1822_Search_Rom_One_Device?
|
|
|
|
16.12.2011, 13:48
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
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.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
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,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
AJScorp, спасибо, компилируется. Но в железе еще не проверял.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:25.
|
|