Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Подключение DS18b20 к STM32

Непрочитано 11.03.2013, 20:26  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Подключение DS18b20 к STM32

Сообщение от wellcom Посмотреть сообщение
void Issuing_ROM_code_1Wire (unsigned char (*Serial_Num)[DS1822_SERIAL_NUM_SIZE])
Насколько я понимаю - в подпрограмму передается массив указателей. И этих указателей ровно DS1822_SERIAL_NUM_SIZE штук - что немного удивляет.
Реклама:
Boba_spb вне форума  
Непрочитано 11.03.2013, 21:38  
wellcom
Временная регистрация
 
Регистрация: 25.09.2008
Сообщений: 95
Сказал спасибо: 39
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
wellcom на пути к лучшему
По умолчанию Re: Подключение DS18b20 к STM32

целиком: Компилятор -Keil, проц STM32F103
Код:
#define _11_BIT_RESOLUTION                                0xDF
#define DS1822_STRATCHPAD_SIZE				0x09
#define DS1822_SERIAL_NUM_SIZE				0x08
unsigned char ROM_SN[One_Wire_Device_Number_MAX][DS1822_SERIAL_NUM_SIZE];
void Issuing_ROM_code_1Wire (unsigned char (*Serial_Num)[DS1822_SERIAL_NUM_SIZE]);
//======================================== ВЫДАЧА ROM кода! 
void Issuing_ROM_code_1Wire (unsigned char (*Serial_Num)[DS1822_SERIAL_NUM_SIZE])
{	
	unsigned char cnt;
	_w1_write_byte(MATCH_ROM); //
	for (cnt=0;cnt!=8;cnt++) _w1_write_byte((*Serial_Num)[cnt]);
}

//================== Установка разрешения и T ALARM по адресу 
int8_t DS18x20_SET_RESOLUTION_by_Rom (int8_t _TH, int8_t _TL, int8_t _RES, unsigned char (*Serial_Num)[DS1822_SERIAL_NUM_SIZE])
{
		unsigned char cnt;
		unsigned char inbuff[DS1822_STRATCHPAD_SIZE]; //0x09
	cnt=_w1_reset(); //сброс датчика, вернет 1 если датчик обнаружился
	if (cnt==0x0) return cnt;
	
Issuing_ROM_code_1Wire ((*Serial_Num)[DS1822_SERIAL_NUM_SIZE]);
	
// 	_w1_write_byte(MATCH_ROM); //MATCH_ROM с кем работаем
// 	for (cnt=0;cnt!=8;cnt++) _w1_write_byte((*Serial_Num)[cnt]); //ROM
	
	_w1_write_byte(WRITE_SCRATCHPAD);
	_w1_write_byte(_TH); //пишем в регистр TH
	_w1_write_byte(_TL); //пишем в регистр TL
	_w1_write_byte(_RES); //пишем в регистр конфигурации
	_w1_write_byte(COPY_SCRATCHPAD); //save in eeprom
	
	
}
Использование
Код:
error_handle = DS18x20_SET_RESOLUTION_by_Rom (0x00, 0x00, _11_BIT_RESOLUTION, &ROM_SN[cnt]);
Это немного переделанный код Easyrider83, если убрать коментарии и ф-цию Issuing_ROM_code_1Wire то все работает на ура, в противном случае выдает ошибки
Код:
PERIF\18B20\ds18x20.c(154): warning:  #175-D: subscript out of range
PERIF\18B20\ds18x20.c(154): error:  #167: argument of type "unsigned char" is incompatible with parameter of type "unsigned char (*)[8]"
указывая на ф-цию Issuing_ROM_code_1Wire. В программировании я пока не силен, поэтому и прошу помощи здесь. K&R книга есть, и не только она, правда ел. вариант. Иногда в нее заглядываю, однако читать с экрана монитора не очень удобно - после нескольких страниц глаза вылазят, как говорят "смотрю в книгу - вижу фи..".

Последний раз редактировалось wellcom; 11.03.2013 в 21:41.
wellcom вне форума  
Непрочитано 11.03.2013, 21:47  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Подключение DS18b20 к STM32

wellcom, Специально для вас , все те же K&R :
Миниатюры:
Нажмите на изображение для увеличения
Название: 2013-03-11_214540.png
Просмотров: 234
Размер:	95.6 Кб
ID:	44482  
__________________
Осторожно , злой кот
dosikus вне форума  
Сказали "Спасибо" dosikus
wellcom (11.03.2013)
Непрочитано 11.03.2013, 21:55  
wellcom
Временная регистрация
 
Регистрация: 25.09.2008
Сообщений: 95
Сказал спасибо: 39
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
wellcom на пути к лучшему
По умолчанию Re: Подключение DS18b20 к STM32

нашел у себя, стр.147 - учу....
wellcom вне форума  
Непрочитано 11.03.2013, 22:05  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Подключение DS18b20 к STM32

Код:
void Issuing_ROM_code_1Wire (unsigned char (*Serial_Num)[DS1822_SERIAL_NUM_SIZE]);
Ощущается рука Паши_райдера ...
В прототипах достаточно типы указывать .

Вариант , не прокатывает ?
Код:
void Issuing_ROM_code_1Wire (unsigned char Serial_Num[][DS1822_SERIAL_NUM_SIZE]){
  ..
 }
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 11.03.2013 в 22:07.
dosikus вне форума  
Непрочитано 11.03.2013, 22:21  
wellcom
Временная регистрация
 
Регистрация: 25.09.2008
Сообщений: 95
Сказал спасибо: 39
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
wellcom на пути к лучшему
По умолчанию Re: Подключение DS18b20 к STM32

все те же K&R : судя из книги
void Issuing_ROM_code_1Wire (unsigned char (*Serial_Num)[DS1822_SERIAL_NUM_SIZE]);
и
void Issuing_ROM_code_1Wire (unsigned char Serial_Num[][DS1822_SERIAL_NUM_SIZE]);

одинаковы, и по идее должны работать как в первом так и во втором вариантах. Однако
Код:
	Issuing_ROM_code_1Wire (Serial_Num[][DS1822_SERIAL_NUM_SIZE]);
имею ошибку
Код:
PERIF\18B20\ds18x20.c(154): error:  #29: expected an expression
не хватает & ?

Последний раз редактировалось wellcom; 11.03.2013 в 22:28.
wellcom вне форума  
Непрочитано 11.03.2013, 22:39  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Подключение DS18b20 к STM32

У меня все и с Пашиной интепретацией работает.

Естественно если использовать правильно.

Код:
Issuing_ROM_code_1Wire (ROM_SN);
Передаем первую строку массива.
Код:
Issuing_ROM_code_1Wire (&ROM_SN[x]);
передаем нужную строку.
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 11.03.2013, 22:47  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Подключение DS18b20 к STM32

Это кто-то мои коды перелопатил ))) Я к этому отношения не имею ))))
Easyrider83 вне форума  
Непрочитано 11.03.2013, 23:27  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Подключение DS18b20 к STM32

Сообщение от Easyrider83 Посмотреть сообщение
Это кто-то мои коды перелопатил )))
Ну вот , Паша напугал просящего ...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 22.07.2013, 16:23  
banzayy
Временная регистрация
 
Регистрация: 12.09.2006
Сообщений: 69
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
banzayy на пути к лучшему
По умолчанию Re: Подключение DS18b20 к STM32

а где в Coocox в Peripheral нужно поставить галочку, чтоб в проекте появился хидер "stm32f10x_systick.h"? Насколько я понимаю для моего контроллера он должен будет называться "stm32f4хx_systick.h"
banzayy вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
STM32-Comstick Flyguy06 Микроконтроллеры, АЦП, память и т.д 0 18.06.2011 08:49
Подключение кнопок к STM32 MasterSID Микроконтроллеры, АЦП, память и т.д 9 01.05.2011 12:42
Proteus - подключение DS18B20 через USB или Com-порт Leva007 Proteus 16 27.11.2010 22:25
Подключение DS18B20 r Attiny2313 vaal555 Микроконтроллеры, АЦП, память и т.д 1 27.09.2010 22:06
Подключение DS18B20 к ATMega8 rocky7 Микроконтроллеры, АЦП, память и т.д 1 28.06.2010 20:30


Часовой пояс GMT +4, время: 12:39.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.